01The question
A tenant pays rent on M-Pesa Paybill and types an account number such as GV-A12. LandlordPMS ignores case, spaces and dashes, looks for exactly one unit with that reference, and records the payment on its lease. Anything else goes to staff for review. Which typing mistakes does this absorb, which go to review, and which reach the wrong tenant?
02The data
- Synthetic. A made-up estate: two properties on one Paybill, 44 units.
- Ten kinds of mistake applied to every unit: case, spaces, dashes, a dropped or doubled character, O for zero, swapped digits, and unit code only.
- The matching rule copied line for line from LandlordPMS.
03How we tested
We ran every mistyped reference through the LandlordPMS rule and through an exact match, our baseline. We then repeated the test with unit codes padded to a fixed width (A01 instead of A1).
04What we found
What happens to each mistake (unit codes A1 … A12)
| Mistake | Right unit | To review | Wrong unit |
|---|---|---|---|
| Case, spaces or dashes (5 kinds) | 220 of 220 | 0 | 0 |
| Unit code only | 0 | 44 | 0 |
| Last character dropped | 0 | 18 | 17 |
| Last digit doubled | 0 | 41 | 3 |
| Letter O for zero | 0 | 4 | 0 |
| Two digits swapped | 0 | 14 | 0 |
Findings:
- Every formatting mistake is absorbed. An exact match would send all 220 for manual review. Ignoring case, spaces and dashes never caused a wrong match.
- A typo that spells another real unit goes to the wrong tenant. A11 typed for A1 is matched to A11. An exact match makes the same mistake. Reading the reference alone can't catch it.
- Fixed-width codes trade one risk for another. With A01 … A12, dropped and doubled characters went to review, but swapped digits (A10 for A01) went to the wrong unit. Wrong matches fell from 20 to 8 in this estate.
05What it means for LandlordPMS
These are ideas to test, not changes already made.
- Keep ignoring case, spaces and dashes.
- Before confirming, check the payer's phone number. If it belongs to a different lease, hold the payment for review.
- Consider adding a check character to references, as bank account numbers do.
06Limits
- Synthetic data: we don't know how often real tenants make each mistake.
- One estate layout. A different numbering would give different counts.
- Only the reference step was tested, not the steps before or after it.
07Status
Concluded. The phone check is the next thing to build and test.