About this case study: it is based on a business typical of the ones we work with, not a named client, and every number comes from the assumptions at the end of the page. Swap in your own and the sums still work.
The problem
About 900 loans are active. Before each due date, staff call members to remind them. Members also call to ask their loan balance.
Repayments arrive through the M-Pesa paybill, and each one is matched to the right member account from the statement by hand.
What we build
- 1
Reminders by SMS or WhatsApp
Members get a reminder 3 days before and on the due date, with the paybill and account number to use.
- 2
Payments matched automatically
M-Pesa payments are matched to member loans using the account reference. Anything that does not match is listed for staff.
- 3
Balance on request
Members send a keyword by SMS and get their balance back, after a PIN check.
- 4
Daily arrears list
Credit officers get the overdue list each morning.
Before and after
| Step | Before | After |
|---|---|---|
| Reminder calls | About 4 minutes per loan a month | Automatic messages |
| Balance questions | About 40 calls a day | SMS on request |
| Matching a payment | About 2 minutes | Automatic, exceptions listed |
Where a person stays in control
Loan decisions and arrears conversations stay with credit officers. Balance requests need the member's PIN.
Running cost
Roughly KES 10,000–20,000 a month for SMS, hosting and the M-Pesa integration.
Tools
- M-Pesa API (Daraja)
- SMS gateway
- Core banking or a member sheet
- n8n
How the numbers work
- Reminder calls: 900 loans × 4 minutes = 60 hours.
- Balance calls: 40 a day × 4 minutes ≈ 2.7 hours × 22 days ≈ 59 hours.
- Payment matching: 60 a day × 2 minutes = 2 hours × 22 days = 44 hours.
- Staff time costed at KES 450 an hour: 163 × KES 450 = KES 73,350.
Estimates, not promises. Use the savings calculator with your own hours and costs.
Want this for your business?
A free 30-minute call is enough to tell whether it fits, what it would take and what it would cost.

