Mctaba Labs logo
BootcampData ScienceThe WhiteboardProjectsEventsMasterclassesWebinarsLearn
Book CallApply

500+ developers already in the community

Get answers, find accountability partners, and stay ahead

Join Discord →
Mctaba Labs logo

Educating 1 million students in tech by 2030.

Programs

  • Coding Bootcamp in Nairobi
  • Data Science to AI Engineering
  • HighSchool Graduates Launchpad
  • AI & Business Automation
  • Corporate Training
  • Kids & Teens
  • McTaba Story & Mission
  • Full-Stack Curriculum
  • Course Pricing & Plans
  • Frequently Asked Questions

Resources

  • Join Discord Community
  • Tech Events in Nairobi
  • Masterclasses
  • Free Resources
  • Learn
  • Data Science Guides
  • African Payments Reference
  • Campus
  • Africa Tech Talent Report
  • Partner With Us
  • Start a Project
  • Software & AI Studio
  • Our Work
  • Outcomes

Contact Us

  • 124 Manyani East Road, Lavington, Nairobi
  • +254727795603
  • Book a Discovery Call

Office Hours:

Mon-Fri: 9am - 2pm EAT

Sat: 10am - 12pm EAT

© 2026 Mctaba Labs - A product of Edtech Industries. All rights reserved.

Privacy PolicyTerms of ServiceRefund Policy
  1. Learn
  2. Data Science in Kenya
  3. Data Quality and Governance Checklist for Kenyan Teams
Bonaventure OgetoBy Bonaventure Ogeto|Updated November 3, 2026

Last checked 3 November 2026

Data Quality and Governance Checklist for Kenyan Teams

Run six checks on every report before anyone acts on it: completeness, duplicates, M-Pesa reference matching, date format, totals that agree with the source, and a named owner. Give each check to one person, write the result on the report, and rerun it monthly. Most bad numbers fail the first three.

In this article

  1. 1. Why the monthly report disagrees with the till
  2. 2. The six checks, in the order to run them
  3. 3. Who owns what
  4. 4. Governance in one page: keep it small
  5. 5. When the checklist should become code

Why the monthly report disagrees with the till

McTaba runs coding and data bootcamps in Kenya. This guide is written to be useful whether or not you ever join one.

Picture the Monday meeting. The sales sheet says 412 orders. The M-Pesa statement says 397 payments. Finance and sales each trust their own file, and the meeting becomes an argument about whose file is right.

Nobody is lying. The sheet has the same customer typed three ways. Two rows share one M-Pesa code. A date reads 03/11 to one person and 11 March to another. These are data quality faults, and they are cheap to find once someone looks for them on purpose.

This checklist is for the person who owns a team report: a finance lead, a branch manager, an HR officer. You do not need code. A spreadsheet filter and a calm half hour per report will catch most faults. If your analysts later want to automate the checks, the M-Pesa statement analysis in Python shows how.

The wider career picture for people who work with this kind of data is in the data science career guide for Kenya.

The six checks, in the order to run them

Run them top to bottom. Each takes minutes on a sheet of a few thousand rows.

1. Completeness: are the blanks where they should be?

Filter each important column for empty cells. A customer phone number blank on 8 rows out of 400 is a problem. A blank "notes" column is not. Decide which columns must never be empty and write them down. Typical must-fill columns: date, amount, customer or staff ID, payment reference.

2. Duplicates: is any row there twice?

Sort by the payment reference or order number and look for neighbours that match. In Excel, use Remove Duplicates on a copy, never on the original. Count what was removed and write the count on the report. Duplicates often arrive when two people export the same week and paste both.

3. M-Pesa reference matching: does every payment have a partner?

Every M-Pesa confirmation carries a transaction code, a ten-character mix of letters and digits. Put your sales list beside the Safaricom statement and match on that code. Three outcomes matter. A sale with no payment may be an unpaid order. A payment with no sale may be money sitting unexplained. A code that appears twice needs a human to look at it.

4. Dates: does every row use one format and one time zone?

Pick one format, such as 2026-11-03, and convert everything to it. Watch for text that looks like a date but sorts like a word. Watch for month-end entries that landed in the next month because a payment cleared after midnight.

5. Totals: do the sums agree with the source?

Add the amount column and compare it with the total on the bank, till or Paybill statement. A gap of a few shillings can be rounding. A gap of 40,000 shillings is a missing batch. Record the gap and its explanation, even when the gap is zero.

6. Ownership: whose name is on this report?

If nobody owns the file, nobody fixes it. The last check is a name and a date in the top corner of the sheet: who made it, from which source, and when it was last checked.

Get weekly developer tips

Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.

No spam. Unsubscribe anytime.

Who owns what

A checklist without owners is a poster on a wall. Use this table as a starting point and rename roles to fit your office.

CheckOwnerHow oftenProof to keep
CompletenessPerson who enters the dataEvery entry dayCount of blanks in must-fill columns
DuplicatesReport ownerWeeklyRows removed, with reason
M-Pesa reference matchingFinance officerWeekly, then at month endList of unmatched codes and their status
DatesReport ownerMonthlyFormat note on the sheet
Totals against sourceFinance leadMonthlyStatement total, report total, gap
Ownership and sign-offDepartment headMonthlyName and date on the report

Data entry sits at the front for a reason. A blank caught at the till costs seconds. The same blank caught at month end costs an afternoon.

If your team wants to learn to run these checks faster, with SQL and Python instead of filters, our data analytics training for your team is built around reports like these.

Governance in one page: keep it small

Governance sounds heavy. For a small or mid-sized Kenyan team, one page is enough. Write down four things and pin the page where people work.

  • Source of truth. For each number, which system wins when two disagree? Usually the bank or Safaricom statement beats the sales sheet.
  • Who can change it. Name the people allowed to edit the master file. Everyone else gets a read-only copy.
  • Where it lives. One shared folder, with dated file names such as sales_2026-11.xlsx. No "final_v3_REAL" files on personal laptops or WhatsApp.
  • What is personal. Customer phone numbers and ID numbers are personal data. Limit who sees them and do not paste them into public chatbots. The legal side is covered in our guide to anonymising personal data in Kenya.

Review the page twice a year. When a new report appears, add a line for it.

When the checklist should become code

Manual checks work until the file passes about ten thousand rows or the report runs weekly. Then the half hour becomes a half day, and people skip steps.

That is the moment to move the same six checks into a short script that runs on every new export and writes a one-line result: "397 payments, 3 unmatched, 0 duplicates, gap 0". The logic does not change. Only who runs it does. A team member who can write that script is worth more than another analyst, and the skills are learnable. See the pandas tutorial with a Nairobi shop's sales data for the first steps.

Once the numbers are trusted, the next problem is showing them well. The data storytelling guide covers that.

If you want your finance, sales and operations staff to share these habits, see our data analytics training for your team. We build the exercises from your own anonymised reports.

Key Takeaways

  • ✓Six checks catch most bad numbers: completeness, duplicates, M-Pesa references, dates, totals and ownership.
  • ✓Give each check to one named person and keep proof, such as a count of unmatched codes.
  • ✓Match every sale to an M-Pesa transaction code before trusting a revenue figure.
  • ✓Move the checks into code once a file passes about ten thousand rows.

Frequently Asked Questions

How often should a team check data quality?
Check completeness at entry, duplicates and M-Pesa matching weekly, and dates, totals and ownership monthly. Fast-moving tills may need daily matching.
Do we need special software to run these checks?
No. Excel or Google Sheets filters, sorting and a lookup formula handle most of them. Code helps when the file grows past about ten thousand rows.
What is the most common data fault in Kenyan reports?
Duplicate and unmatched M-Pesa references. A payment recorded twice, or a sale with no payment code, explains many gaps between sales and bank totals.
Who should own data quality in a small company?
The person who uses the report most, usually the finance lead, with the data-entry staff owning the first check. One named person per report beats a committee.

Data skills for your staff

SQL, dashboards and data storytelling for finance, operations and product teams, built on your own reports.

Plan training for your team

Or we build it with your team

Related guides

  • Power BI vs Tableau vs Python Dashboards

Keep reading

Analyse Your M-Pesa Statement in Python

Turn the PDF Safaricom emails you into a clean table, a spending breakdown and a chart, with code you can run on your own laptop.

Read more

Why Every Employee Needs Data Literacy

Data literacy is the habit of asking where a number came from before acting on it. Here is what it looks like by role, how to test it, and a 30-day plan.

Read more

Kenya's Data Protection Act for Data Scientists

The Act in plain words for people who handle customer data, then a pandas walk-through: salted hashes for phone numbers, generalised fields and a k-anonymity check.

Read more

Data Storytelling: Turning a Chart into a Decision

A chart is not the finish line. This guide shows the one-page memo, a simple way to pick a chart, and a before and after on made-up shop data.

Read more

Explore related topics

Breaking Into Tech

Practical, no-nonsense guides for anyone looking to start or change their career in tech. From choosing your first language to acing interviews.

Tech Salary Data

Transparent salary data for tech roles in Africa and worldwide, updated regularly with real market research.

AI Skills & Tools

Practical AI knowledge for developers. Build your first agent, get good at RAG, and pick the right AI coding tools for real work.

Bonaventure Ogeto

Bonaventure Ogeto

Founder and CEO, Mctaba Labs

Software engineer for 8+ years. He runs a Nairobi studio that ships products on M-Pesa, WhatsApp and AI, and teaches what the studio ships. He holds a BSc in Mathematics and Computer Science.

More about the author