Skip to content
← Kenya 2027 Forecast
Methodology · v1.0

Every coefficient, every assumption.

This page is the model. If you disagree with a number on the forecast page, you should be able to find here exactly which equation produced it and which input drove the change. Politically charged forecasts must be defensible in detail or not published at all.

1. Architecture

The forecast is a small, transparent adaptation of the "fundamentals + polls" structure popularised by The Economist and FiveThirtyEight for US presidential forecasts, modified for the Kenyan electoral system:

  1. A fundamentals model predicts the incumbent's vote share from macro conditions.
  2. A polling average aggregates every fielded, citeable national survey.
  3. A blended forecast combines the two with a weight that shifts toward polls as election day approaches.
  4. A Monte Carlo samples national-swing and candidate-specific shocks to produce probability distributions.
  5. A runoff resolution applies transfer rules when no candidate clears 50% in the first round.

2. The fundamentals model

Macro conditions historically predict incumbent vote share independent of polling, particularly when polling is thin. Our incumbent share is computed as:

incumbent_share = 0.42
  + (-0.020) × (inflation - 5.0)        // inflation gap (pp)
  + (+0.015) × (gdp_growth - 5.0)        // GDP gap from trend (pp)
  + (+0.0040) × incumbent_approval        // approval (%)
  + (-0.0010) × kes_usd_depreciation_pp   // 12m FX depreciation (pp)

Substituting the current snapshot (2026-05-31):

= 0.42
  + (-0.020) × (6.7 - 5)       = -0.0340
  + (+0.015) × (4.9 - 5)              = -0.0015
  + (+0.0040) × 30                          = 0.1200
  + (-0.0010) × -0.19                       = 0.0002

Where the coefficients come from — and why we don't trust them yet

Kenya has had only three post-1992 incumbent-eligible races (Moi 1997, Kibaki 2007, Uhuru 2017), and arguably zero clean ones — that is too few observations to fit a Kenyan-specific regression. The coefficients above are loosely calibrated from cross-country literature on inflation, growth, and approval as predictors of incumbent vote share. They are deliberately conservative. We will replace them with a Kenya-fit version once we have built out a multi-cycle dataset.

The implication: the fundamentals component is a prior, not a forecast on its own. Its job is to anchor the model against polling noise during the long pre-campaign period — not to predict the result by itself.

3. The polling average

Inclusion rule

A poll enters the average if and only if it satisfies all three:

  • Fielded by a named, established Kenyan polling house (TIFA, Infotrak, Radio Africa, Mizani Africa).
  • Headline first-preference numbers reported by at least one mainstream outlet, with the pollster confirming the field dates and sample size.
  • Methodology published or available on request from the pollster.

WhatsApp graphics, party-internal "leaks," and the recurring fake Infotrak-branded images (publicly debunked by Africa Check in past cycles) are excluded.

Weights

Each poll's weight is the product of three factors:

recency_weight  = 0.5 ^ (days_since_field / 60)        // 60-day half-life
sample_weight   = sqrt(min(n, 1500) / 1000)            // diminishing returns
house_lean      = subtract pollster's pro-incumbent bias from Ruto,
                  redistribute proportionally to challengers

poll_weight = recency_weight × sample_weight

The 60-day recency half-life is conservative. It matches the cadence at which the established Kenyan houses publish — TIFA and Infotrak field roughly monthly to bi-monthly when there is news, less often otherwise.

House-lean priors are small and currently set from international comparators rather than Kenyan history. We start TIFA, Radio Africa and Mizani Africa at 0 pp and Infotrak at +0.5 pp toward the incumbent, reflecting the published bias patterns of the two houses in the 2022 cycle. These priors will be replaced with Kenya-fit numbers once we have run multi-cycle calibration.

4. The blend

The blended incumbent share is a convex combination of the fundamentals share and the polling average:

w = clip(0.30 + 0.55 × sigmoid((6 - months_to_election) / 4), 0.15, 0.85)
blended_incumbent = w × poll_avg_incumbent + (1 - w) × fund_incumbent

At 14 months out (today), w ≈ 0.32 — polls carry roughly a third of the weight. At six months out, w ≈ 0.58. At election day, w ≈ 0.85. The schedule reflects the empirical fact that polls become more informative as voters lock in.

Non-incumbent shares come entirely from the polling average. The undecided pool — currently large (30-percent territory) — is allocated 70% proportionally to current support and 30% equally to all declared candidates. This is a strong assumption flagged on the forecast page.

5. The Monte Carlo

On each of 20,000 simulation paths we sample two types of shock:

  • A national swing εn ~ N(0, 6 pp), applied as a re-allocation between the incumbent and the challenger field. This captures realignment shocks — coalition splits, new entrants, scandals, regime crises.
  • A candidate-specific shock εi ~ N(0, 3 pp), independent across candidates. This captures idiosyncratic candidate-level news.

Sampled shares are floored at 0.5% and renormalised to 1. We then check: did anyone sample above 50%? If yes, that candidate wins outright. If no, the top two go to a simulated runoff.

Runoff resolution

Kenya has not had a presidential runoff under the 2010 constitution, so we have no empirical base-rate data on runoff vote transfers. The rules below are explicit assumptions, not estimates:

  • Same-coalition candidate's voters: 85% transfer to the runoff candidate from their bloc.
  • Cross-opposition transfer (e.g. Azimio voter, OppositionAlt runoff candidate): 70% to the opposition runoff candidate. The "anybody but the incumbent" effect, which has historically dominated late opposition consolidation in Kenya (2013 and 2017 NASA dynamics, 2022 Kalonzo-Raila late alignment).
  • Incumbent's coalition voters: 85% stay with the incumbent if Ruto is in the runoff; 10% leakage to the opposition runoff candidate otherwise.
  • Independent / unaligned voters: 45% to each side (with ~10% implicit stay-home).

The runoff winner is then drawn from a logistic on the pool-share gap, plus 8-pp normal noise. These numbers are conservative — real Kenyan opposition consolidation has historically been stronger when there is a clear unifier, and weaker when the alternative is fractured. The current snapshot reads: high probability of a runoff, opposition fragmentation gives the incumbent a meaningful edge in that runoff. This is the core narrative of the May 2026 TIFA survey, and the model is reflecting it rather than contradicting it.

6. Scenarios — "opposition consolidates"

The base forecast holds the slate of declared candidates fixed. The forecast page also reports a single counterfactual: each opposition coalition collapses onto its strongest individual. Within the Azimio bloc, Eugene Wamalwa's polled share moves to Kalonzo Musyoka. Within the forming United Opposition bloc, Rigathi Gachagua's and Edwin Sifuna's polled shares move to Fred Matiang'i. Independents and the incumbent are unchanged. The blend, the Monte Carlo, the seed, and the runoff rules are identical.

The size of the gap between the base and consolidated scenarios is the model's clearest claim about the 2027 race: incumbent re-election probability is much more sensitive to opposition coordination than to any individual candidate's movement in the polls.

7. The constitutional first-round bar

The Kenyan presidency requires more than 50% of the national vote and at least 25% in 24 of 47 counties. Our model addresses the national-vote threshold directly. The county threshold is not modelled separately in v1; in practice it has been the binding constraint exactly once (2007), and for a candidate scoring near 50% nationally, the county bar is almost always cleared. We will add a geographic-distribution layer in v2 once we have built out a county-level dataset.

8. Caveats — read these

  • Sparse polling. Two fielded polls is a thin base. The model will improve in information density as Kenyan pollsters release more 2027 surveys through the year.
  • Coalition fluidity. The biggest single thing the model cannot predict is which opposition figures consolidate, and which form rival blocs. We expose "Opposition Alt" as a working coalition reflecting the post-Gachagua field as of May 2026; that assignment will change as parties move.
  • Ethnic / regional voting blocs. Kenyan voting has had strong regional patterns since 1992. The model is national-level only in v1. A v2 with county-level base rates would tighten the intervals but also introduce its own assumptions; we have chosen to start simple.
  • Polling bias of unknown sign. Kenyan polling has historically tended to over-represent urban, educated respondents. Whether that biases the headline in favour of the incumbent or the opposition depends on the cycle. We do not assume polls are well-calibrated.
  • Election integrity is not modelled. The forecast assumes a vote count that reflects ballots cast. Where that assumption fails, no statistical model produces a useful answer.

9. Reproducibility

Every number on the forecast page comes from one of these files:

  • lib/probability-lab/kenya-2027.ts — candidates, polls, fundamentals snapshot.
  • lib/probability-lab/election-predictor.ts — the forecasting functions.
  • lib/probability-lab/kenya-2027-snapshot.json — frozen output of the Monte Carlo.
  • scripts/generate-ke-2027-snapshot.mjs — the standalone script that produces the snapshot. Run node scripts/generate-ke-2027-snapshot.mjs to reproduce every number.

The Monte Carlo uses a deterministic mulberry32 PRNG with seed 42. The same seed produces the same numbers on every run.

10. Versioning

The model is at v1.0 as of 2026-06-02. Each new snapshot is committed to git alongside the data it was generated from. The git log ofkenya-2027-snapshot.json is the permanent record of what we predicted, when. If we change a coefficient, the new commit and a short note explaining the change land together; the old numbers stay readable.

Methodology questions, factual corrections, or pollster outreach: write to info@leadafrik.com. We will revise and version-stamp.