Methodology & Sources
The Kenya Debt Clock is a real-time visualization of Kenya's national debt. This page explains exactly how every number on the clock is calculated, where the data comes from, and why we made specific choices. We believe in full transparency — every citizen has the right to understand their country's debt.
How the Website Works
In plain English, the site has two jobs: first it collects the best public numbers available, then the browser uses those numbers to animate the clock. The website is static HTML, CSS, and JavaScript. There is no hidden database behind the clock page. The main data file is data.json, and each page reads from it when needed.
- Official data is collected: The updater script reads the latest official public debt baseline. It uses the Treasury monthly debt bulletin when that is newer than the CBK CSV, then switches back to CBK automatically when CBK publishes a newer month. It also reads Treasury budget figures, World Bank/KNBS macro indicators, and the USD/KES rate.
- The site builds one data file: Those figures are cleaned up and saved into data.json, along with calculated values like debt per second, interest per second, debt per citizen, and debt-to-GDP.
- Your browser loads the page: When someone visits the site, the HTML page loads first, then JavaScript fetches data.json.
- The counters start moving: The browser starts from the latest generated debt baseline and adds the per-second estimate every second. The small date under the main counter is the active source release/update date. The smaller note below it shows the actual debt position date used as the baseline.
Plain-English Glossary
| Term | Simple Meaning |
|---|---|
| Debt stock | The total amount Kenya owes at a point in time. |
| Baseline | The starting point for the clock. We take the latest official debt stock number from Treasury or CBK, record two dates, then use that number as the anchor before adding the per-second estimate. The debt position date tells you when the debt amount was measured. The source release/update date tells you when that official source became available. |
| Fiscal deficit | The gap when government spending is higher than government revenue. This gap usually has to be borrowed. |
| Debt service / interest | The cost of carrying debt. Interest is money paid to lenders before the original loan is fully repaid. |
| Domestic debt | Debt borrowed inside Kenya, such as Treasury Bills and Treasury Bonds. |
| External debt | Debt borrowed from outside Kenya, such as Eurobonds, bilateral loans, IMF loans, and World Bank loans. |
| Debt/GDP | Debt compared with the size of the economy. It is like comparing a loan balance with income. |
| Fiscal year | The government budget year. Kenya's fiscal year runs from July 1 to June 30. |
| BPS | Budget Policy Statement, a Treasury document that sets budget projections before the final budget law. |
| Unaccounted funds | Money that auditors or reports could not fully verify. It does not automatically mean theft; it means the records, approvals, or use of funds were not properly supported. |
| Resource value | An estimate of what minerals or natural resources may be worth underground. It is not cash the government can immediately spend. |
What You See on the Clock
The Main Counter
The large ticking number at the top is Kenya's total national debt — the combined public and publicly guaranteed debt owed by the government. It is composed of:
- Domestic debt — Treasury Bills, Treasury Bonds, and other borrowing from Kenyan lenders and institutions
- External debt — Eurobonds, bilateral loans (e.g., China Exim Bank), multilateral loans (IMF, World Bank)
In this site, the baseline means the starting official debt number that the clock builds from. Right now the active baseline is the National Treasury Public Debt Bulletin, May 2026: total public debt was KES 12,896.38B as at May 31, 2026. That breaks down into KES 7,239.08B domestic debt and KES 5,657.30B external debt. The clock also shows the source release/update date separately, currently July 15, 2026, so visitors can see when that source became available. That release/update date is not a second baseline. The updater also checks the CBK Government Finance Statistics CSV every run and will use CBK again when it publishes a newer official month. The domestic/external percentage split is calculated from whichever official baseline is active.
The Stat Bar (Below the Counter)
Four key metrics displayed at a glance:
| Metric | What It Means | How It's Calculated |
|---|---|---|
| Per Citizen | If the debt were split equally among all Kenyans | Total Debt / Population (~57.5M) |
| Debt/GDP | How large the debt is relative to the economy | (Total Debt / GDP in KES) × 100 |
| Added Today | Debt accumulated since midnight Nairobi time (EAT) | Seconds since midnight × active fiscal-year deficit per second |
| Per Second | The modelled rate at which debt grows | Active fiscal-year deficit / 31,557,600 seconds |
How the Debt Counter Ticks
The counter works by starting from the latest verified official baseline and projecting forward using a segmented fiscal-year deficit model:
Where do the revenue and spending figures come from?
Revenue (KES 3.630T) and expenditure (KES 4.785T) are from the National Treasury Budget Summary for FY2026/27. The resulting fiscal deficit including grants is KES 1.112 Trillion. These figures should be updated when Treasury publishes a supplementary budget or the next budget cycle.
Debt Added Today
Interest Ticking Now
In simple terms: Kenya has a yearly interest bill, like a yearly charge for money already borrowed. The clock breaks that yearly bill into tiny one-second pieces, then counts how many of those seconds have passed since midnight in Nairobi. The 31.56M seconds shown on the clock is just the number of seconds in an average year: 365.25 days x 24 hours x 60 minutes x 60 seconds = 31,557,600 seconds. This is different from Debt Added Today: interest is the cost of existing debt, while debt added today estimates how much the total debt stock is growing.
Data Sources
Historical Treasury Debt Register
Explore who Kenya owed at 30 June 2025: creditor balances and individual loan records from the approved National Treasury source. Each loan links to its original PDF page.
The June 2025 register provides a historical breakdown. Its domestic figures exclude bank advances and uncleared items, and its CBK overdraft is reported at financial-year closure. The Treasury register index lists available editions.
For the older June 2023 snapshot, the register reports KES 10.264939 trillion. The annual report reports KES 10.278673 trillion, shown as KES 10.279 trillion in our history chart. Comparing the tables locates essentially all of the KES 13.734 billion difference in domestic "Others" beyond CBK overdraft (annual report Table 5.1-1). This is our table comparison, not an explicit Treasury reconciliation. The register does not establish that the broader total is overstated.
Primary Data (Ticking Counter)
| Data Point | Value | Source | Type |
|---|---|---|---|
| Active Total Debt Baseline | KES 12,896.38B as at May 31, 2026 | National Treasury Public Debt Bulletin - May 2026 | Official |
| CBK Monthly Check | Checked daily; used when it publishes a newer month | CBK Government Finance Statistics - Public Debt CSV | Official |
| Annual Spending (FY2026/27) | KES 4.7852 Trillion | Budget Summary for the FY2026/27 Budget | Official |
| Annual Revenue (FY2026/27) | KES 3.6297 Trillion | Budget Summary for the FY2026/27 Budget | Official |
| Annual Interest Payments (FY2026/27) | KES 1.2031 Trillion | Budget Summary for the FY2026/27 Budget | Official |
| Debt Composition (Domestic/External) | Auto-calculated from active official baseline | National Treasury bulletin or CBK CSV, whichever has the newest official debt month | Official |
GDP & Economic Data
| Data Point | Value | Source | Type |
|---|---|---|---|
| Current GDP & Actual Growth Rate | KES 17.58T / 4.6% | KNBS Economic Survey 2026, GDP at market prices for 2025* | Official (Kenya) |
| Population | 57.5 Million | KNBS — Census (projected) & World Bank Open Data | KNBS + World Bank |
| USD/KES Exchange Rate | Live (updated on each page load) | CBK Daily Indicative Exchange Rates | Official (Kenya) |
| Inflation & Birth Rate | 4.5% / 27 per 1,000 | KNBS — CPI & vital statistics & World Bank Open Data | KNBS + World Bank |
| Debt-distress rating | "High Risk" | IMF Country Report 24/316 — Kenya DSA | International |
Inflated Projects — Sources
| Project | Key Figure | Source |
|---|---|---|
| Turkwell Gorge Dam (Moi era) | USD 270M (budget was USD 60M) | Kenya Kroll Report summary |
| Goldenberg (Moi era) | KES 158B fake export compensation | AfriCOG Goldenberg report (PDF) |
| Anglo Leasing (Moi era) | KES 56B phantom contracts | The Standard / PAC Report |
| Talanta Stadium | KES 45.85B contract (KES 35B approved) | Auditor-General summary report (PDF) |
| SGR (Phase 1 & 2A) | KES 477B borrowed, KES 800B total project cost | Business Daily |
| Arror & Kimwarer Dams | KES 63B, zero construction | Business Daily |
| Nairobi Expressway | KES 88B (budget was 65.2B) | Business Daily |
| Eurobond 2014 | KES 354B borrowed, ~KES 551B repaid | Business Daily |
| Galana Kulalu | KES 14B spent, project failed | Business Daily |
| Konza Technopolis | KES 14.4B spent (AG confirmed idle assets), 9 plots developed | Kenyan Wall Street |
| Adani JKIA Deal | KES 238B proposed, cancelled | Capital FM |
| NYS Scandal | KES 9B embezzled (Phase 2) | The Standard |
Unaccounted Funds — Sources
| Item | Amount | Source |
|---|---|---|
| Grabbed Public Land (Moi era) | 200,000+ illegal titles | SourceAFRICA — Ndung'u Land Commission report (2004) |
| 1992 Election Money Printing (Moi era) | KES 4-10 Billion | Business Daily |
| Social Health Authority (SHIF) | KES 49.29 Billion | Kenya Insights — Auditor General FY2024/25 |
| eCitizen Platform | KES 44.8 Billion | Citizen Digital — Auditor General March 2025 |
| Eurobond 2014 Proceeds | KES 215 Billion | Citizen Digital — Auditor General Special Audit |
| Kenya Airways Loan | KES 16.2 Billion | Citizen Digital — Auditor General FY2023/24 |
| AG Yearly Queries (note) | Varies — see disclaimer | Africa Check — OAG dismissed viral "KES 1.3T missing" claim |
Natural Resources — Sources
| Resource | Estimated Value | Source |
|---|---|---|
| Rare Earths + Niobium (Mrima Hill) | KES 8.1 Trillion ($62.4B) combined | MMS Advocates / Cortec estimate |
| Coal Reserves | KES 3.4 Trillion (2010 est.) | The Standard |
| Iron Ore (200M+ tonnes) | KES 500 Billion | The Standard |
How Data is Updated
The clock uses a three-layer update system:
- Daily (automated): An automated pipeline runs every day at 6:00 AM UTC. It:
- Checks the official public debt baseline: the current Treasury debt bulletin and the CBK Public Debt CSV. The newest official debt position date is used.
- Reads population, inflation, and birth rate from World Bank Open Data (which mirrors KNBS figures); Debt/GDP uses the latest KNBS actual/provisional nominal GDP and does not project GDP between official releases.
- Fetches the live USD/KES exchange rate from exchange-rate APIs; CBK's daily indicative rate is used as a public benchmark/reference
- Projects the debt forward from the active official baseline using the fiscal deficit rate
- Saves the updated figures, debt position date, source release/update date, and source URL into the data file used by the site
- Client-side (every page load): The clock and dashboard pages fetch a live USD/KES exchange rate from exchange-rate APIs, then tick the visible counters every second.
- Manual (when public sources change): Budget constants, GDP/growth figures, salary data, CDF data, and narrative entries such as scandals or unaccounted funds are updated in the repo when new source documents are reviewed. The debt baseline selection is official-source only: Treasury debt bulletin or CBK CSV, whichever has the newest official month.
How Each Page Uses the Data
| Page | How It Works | Main Data Used |
|---|---|---|
| Clock | Loads the debt baseline, budget, GDP, population, and interest figures, then updates the visible counters every second in the browser. | data.json: nationalDebt, budget, GDP, population, interest, USD/KES |
| Dashboard | Shows the same live data in dashboard form: debt breakdown, budget totals, annual interest, debt added today, and social indicators. | data.json: debt, budget, interest, population, macro indicators |
| Scandals | Reads structured scandal, missing-fund, debt-event, and resource entries and renders them into tabs. | data.json: defaults, inflatedProjects, unaccountedFunds, lostResources |
| Compare | Combines hardcoded historical comparison data with the current debt data for the live Ruto-era row and headline comparisons. | Page script history data + data.json |
| Scenarios | Uses current debt, interest, budget, and population values to calculate hypothetical "what if" trade-offs. | data.json: debt, budget, interest, population |
| CDF | Loads constituency fund data separately and displays CDF budgets and audit findings. | cdf-data.json |
| Salary | Uses SRC gazetted salary figures stored in the page to show elected-official pay and total annual cost. | Static SRC salary data in the page script |
Why the Clock Shows a Projection, Not a Live Feed
Kenya's official debt data is published after the month ends, not every second. To bridge this gap, the clock uses a projection model: start from the latest verified official debt stock number, then accrue the fiscal deficit forward in time.
How the Projection Works
// Current active source: National Treasury Public Debt Bulletin, May 2026
1. Read the newest official debt position
Debt position date: May 31, 2026
Total debt: KES 12,896.38B
Domestic: KES 7,239.08B; External: KES 5,657.30B
2. Because this is an end-May figure, projection starts on June 1, 2026
3. Split the timeline by fiscal year:
June 1-30: FY2025/26 deficit rate
July 1 onward: FY2026/27 deficit rate
4. Convert each fiscal-year deficit to a per-second rate:
Deficit / 31,557,600 seconds
5. Current debt estimate:
= official baseline + each segment's projected debt growth
// When Treasury or CBK publishes a newer official month,
// the baseline and visible source date move forward.
- Actual KRA revenue collections (historically below Treasury targets)
- New borrowing events (e.g., the Feb 2026 $2.25B Eurobond)
- Debt repayments that reduce the outstanding stock
- Exchange rate movements affecting the KES value of external debt
Why Not Just Wait for Official Numbers?
Official debt data usually arrives with a lag. During that gap, significant borrowing and repayment events can occur. A debt clock that only changes on publication dates would be behind most of the time. The projection model keeps the figure moving in a way that reflects the fiscal reality, even if the exact number is an estimate. When Treasury or CBK publishes a newer official month, the projection resets to the new verified figure.
Historical Debt Chart — Data & Sources
The historical chart shows Kenya's total public debt from 2002 to the present. Years 2002–2025 use verified figures from CBK Annual Reports and National Treasury publications. The 2026 data point is projected (shown as a dashed line on the chart).
Chart Tooltips — Additional Data
When you hover over any year on the chart, you also see GDP, Debt-to-GDP ratio, population, and debt per person. These are sourced from:
- GDP (nominal, KES): historical years use official KNBS/Treasury national accounts; the current point uses the latest KNBS actual/provisional nominal GDP, not a projected GDP figure.
- Population: KNBS — Kenya Population & Housing Census (projected)
- Debt-to-GDP: Calculated as (Total Debt / Nominal GDP) × 100
- Debt per person: Calculated as Total Debt / Population
What the Numbers Mean
Debt per Second (KES ~35,231)
This is the active fiscal-year fiscal deficit (KES 1.112T) divided evenly across every second of the year. In reality, government borrowing doesn't happen every second -- it occurs through Treasury Bill and Bond auctions (weekly/monthly) and external loan disbursements (irregular). But spreading it evenly is the standard method used by debt clocks worldwide. The annual total is what matters for accuracy.
Debt per Citizen
// This includes every man, woman, and child
// This number ticks upward as debt grows faster than population
Debt-to-GDP Ratio
// This ratio ticks upward as debt accrues -- reflects real-time growth
// IMF rates Kenya at "High Risk" of debt distress
// IMF threshold for emerging markets: typically 50-70% of GDP
Borrowing Rate Card
The borrowing/debt-per-second rate shows the projected annual fiscal gap spread evenly across time. These are averages based on the current FY2026/27 budget figures, not proof that the government borrows the same amount every second. The live rate comes from the Budget Summary for the FY2026/27 Budget:
Projected Spending: KES 4,785.2 Billion
Projected Revenue: KES 3,629.7 Billion
Projected Grants: KES 43.7 Billion
Fiscal Deficit: KES 1,111.8 Billion / year
// Averaged for illustration:
Per Day: ~KES 3.04 Billion
Per Hour: ~KES 126.8 Million
Per Minute: ~KES 2.11 Million
Per Second: ~KES 35,231
- Treasury Bills — short-term debt auctioned weekly by CBK (91-day, 182-day, 364-day)
- Treasury Bonds — long-term debt auctioned on scheduled dates
- External loans — disbursed at irregular intervals (e.g., IMF tranches, Eurobond issuances, bilateral loans)
| Budget Component | Amount (KES) | Source | Type |
|---|---|---|---|
| Projected Spending | KES 4,785.2 Billion | Budget Summary FY2026/27 | Official |
| Projected Revenue | KES 3,629.7 Billion | Budget Summary FY2026/27 | Official |
| Projected Grants | KES 43.7 Billion | Budget Summary FY2026/27 | Official |
| Projected Fiscal Deficit | KES 1,111.8 Billion | Spending minus revenue minus grants | Official |
| Time Period | Average Borrowing | Calculation |
|---|---|---|
| Per Year | KES 1,111.8 Billion | Budget projection |
| Per Day | KES 3.04 Billion | 1,111.8B / 365.25 |
| Per Hour | KES 126.8 Million | 3.04B / 24 |
| Per Minute | KES 2.11 Million | 126.8M / 60 |
| Per Second | KES 35,231 | 2.11M / 60 |
The debt clock counter uses the fiscal deficit to drive the ticking rate because it is the gap between projected spending and projected revenue. Actual debt issuance can be higher or lower at any point because refinancing, repayments, grants, and exchange-rate movements happen in batches.
Debt Breakdown Card
Shows the composition of national debt (domestic vs external) and tracks daily changes. The "Debt Added Today" figure resets to zero at midnight Nairobi time (EAT, UTC+3). The debt baseline, debt position date, source release/update date, and domestic/external split come from the active official baseline. The current active baseline is the National Treasury Public Debt Bulletin for May 2026; CBK's CSV is still checked daily and will be used again when it publishes a newer official month.
Verification
The figures used by the clock are cross-referenced against:
- National Treasury Public Debt Bulletin, May 2026 (PDF) — active debt baseline and domestic/external split
- CBK Government Finance Statistics — monthly public debt CSV checked each run
- Budget Summary for the FY2026/27 Budget — revenue, spending, and interest assumptions
- Auditor General Annual Reports (oagkenya.go.ke) — for scandal and unaccounted funds figures
- KNBS Economic Survey 2026 — latest actual/provisional GDP and real GDP growth
- World Bank Open Data — for live population, inflation, and birth-rate indicators (mirrors KNBS)
- IMF eLibrary — Debt Sustainability Analysis and World Economic Outlook projections
- KRA Revenue Performance Reports — for actual vs projected collections
- Independent fact-check (March 2026) — cross-checked all project figures, debt events, unaccounted funds, and natural resource claims against Auditor General reports, CBK data, and Kenyan news outlets. 12 corrections were applied.
Limitations
- The ticking counter is a projection from the last verified official baseline, not a live feed. Actual debt may be slightly higher or lower.
- Revenue uses Treasury's FY2026/27 Budget Summary projection (KES 3.6297T total revenue incl. AiA). If actual revenue collections underperform, the real deficit may ultimately be higher than the projection shown on the clock.
- Natural resource valuations are based on geological estimates, not proven mineable reserves. The "$62B rare earth" figure comes from Cortec Mining's feasibility study and may change with further assessment.
- The OAG formally dismissed viral claims of "KES 1.3 Trillion missing from eCitizen" as misleading (March 2026). Our unaccounted funds section uses individually verified figures totaling ~KES 651B — this is a site calculation from the current dataset, not an official OAG aggregate.
- Exchange rate fluctuations affect USD conversions throughout the day.
Corrections & Feedback
If you find an error or have better data, please reach out. Accuracy matters - we regularly cross-check our figures against official Auditor General reports, CBK publications, and credible news sources.
← Back to Debt Clock