The M-Pesa CSV statement contains every transaction for up to 12 months: date, time, recipient or sender, amount, and running balance. It is more granular than any bank statement because it captures every Buy Goods payment, every Paybill, every person-to-person transfer, and every airtime top-up. Most people have never seen it — they interact with M-Pesa by feel, not by data.
To export your statement: open the Safaricom app, tap More → M-Pesa → Statement, set your date range (up to 12 months at a time), select CSV format, and tap Request. Safaricom emails the file to your registered address within minutes. If you want a longer history, request overlapping date ranges. You can also download from the MySafaricom portal at safaricom.co.ke under My Account → Statements.
When you categorize the transactions, several patterns consistently surprise people. Airtime and bundles: the average Safaricom user spends KES 800–1,500/month without noticing, because top-ups are small and frequent. Person-to-person transfers: a category that looks like "helping family" often adds up to KES 3,000–8,000/month — not inherently wrong, but worth knowing. Food delivery and restaurant payments via Buy Goods have grown sharply since 2020 and are often the single largest discretionary category for urban professionals.
Once you know the numbers, the most effective change is structural rather than willpower-based. Move money off the M-Pesa float immediately after salary: to M-Shwari, a SACCO, or a fixed-term account. What isn't on the float can't be spent impulsively. For recurring costs (streaming, Zuku/Faiba, KPLC tokens), use the Budget Tracker to set category limits. The Savings Goal Tracker pairs well with this — once you know your actual spending, setting a realistic savings target becomes straightforward.