FORECAST RESEARCH / THE VALIDATION LAB
Replay two simple rules across past Assembly elections, inspect every miss, and see what is still missing before a 2027 probability model can be published.
RESEARCH SNAPSHOT 20 October 2026
REFERENCE PERIOD 2012 → 2017 and 2017 → 2022 Assembly election transitions
SCOPE Retrospective winning-party benchmarks; no 2027 predictions or calibrated probabilities
The previous winning party repeated in 23 of 60 seats in the first replay and 26 of 59 comparable seats in the second. That is a warning against treating historical strength as future certainty.
These are intentionally simple benchmarks, evaluated retrospectively after the outcomes were known. They establish a reference for future research; they are not a fitted model, a prospective validation record or probabilities for 2027.
THE HISTORICAL REPLAY / WINNING PARTY CODES
2017 winner register → 2022 observed result. Both rules use the same 59-seat comparison cohort. Filters below do not recalculate the statewide score.
The statewide rule chooses INC, the largest party by seat count in 2017; this does not identify who formed government. AC 40 Jiribam is excluded from both comparison scores because its previous winner was IND. The statewide rule can still be evaluated over all 60 seats: 5/60; that different denominator is not mixed into the comparison.
| Constituency | Previous winning party | Benchmark output | Observed winning party | Comparison result |
|---|---|---|---|---|
| 1 · Khundrakpam ↗ | INC | INC | INC | Matched |
| 2 · Heingang ↗ | BJP | BJP | BJP | Matched |
| 3 · Khurai ↗ | BJP | BJP | BJP | Matched |
| 4 · Kshetrigao ↗ | BJP | BJP | NPP | Missed |
| 5 · Thongju ↗ | BJP | BJP | BJP | Matched |
| 6 · Keirao ↗ | BJP | BJP | BJP | Matched |
| 7 · Andro ↗ | INC | INC | BJP | Missed |
| 8 · Lamlai ↗ | INC | INC | BJP | Missed |
| 9 · Thangmeiband ↗ | INC | INC | JD(U) | Missed |
| 10 · Uripok ↗ | NPP | NPP | BJP | Missed |
| 11 · Sagolband ↗ | INC | INC | BJP | Missed |
| 12 · Keishamthong ↗ | NPP | NPP | IND | Missed |
| 13 · Singjamei ↗ | BJP | BJP | BJP | Matched |
| 14 · Yaiskul ↗ | BJP | BJP | BJP | Matched |
| 15 · Wangkhei ↗ | INC | INC | JD(U) | Missed |
| 16 · Sekmai ↗ | BJP | BJP | BJP | Matched |
| 17 · Lamsang ↗ | BJP | BJP | BJP | Matched |
| 18 · Konthoujam ↗ | BJP | BJP | BJP | Matched |
| 19 · Patsoi ↗ | INC | INC | BJP | Missed |
| 20 · Langthabal ↗ | LJP | LJP | BJP | Missed |
| 21 · Naoriya Pakhanglakpa ↗ | BJP | BJP | BJP | Matched |
| 22 · Wangoi ↗ | INC | INC | NPP | Missed |
| 23 · Mayang Imphal ↗ | BJP | BJP | BJP | Matched |
| 24 · Nambol ↗ | INC | INC | BJP | Missed |
| 25 · Oinam ↗ | BJP | BJP | NPP | Missed |
| 26 · Bishnupur ↗ | INC | INC | BJP | Missed |
| 27 · Moirang ↗ | BJP | BJP | NPP | Missed |
| 28 · Thanga ↗ | AITC | AITC | BJP | Missed |
| 29 · Kumbi ↗ | INC | INC | BJP | Missed |
| 30 · Lilong ↗ | INC | INC | JD(U) | Missed |
| 31 · Thoubal ↗ | INC | INC | INC | Matched |
| 32 · Wangkhem ↗ | INC | INC | INC | Matched |
| 33 · Heirok ↗ | BJP | BJP | BJP | Matched |
| 34 · Wangjing Tentha ↗ | INC | INC | BJP | Missed |
| 35 · Khangabok ↗ | INC | INC | INC | Matched |
| 36 · Wabgai ↗ | INC | INC | BJP | Missed |
| 37 · Kakching ↗ | INC | INC | NPP | Missed |
| 38 · Hiyanglam ↗ | BJP | BJP | BJP | Matched |
| 39 · Sugnu ↗ | INC | INC | INC | Matched |
| 40 · Jiribam ↗ | IND | Abstained | JD(U) | Excluded from common cohort |
| 41 · Chandel ↗ | NPP | NPP | BJP | Missed |
| 42 · Tengnoupal ↗ | INC | INC | BJP | Missed |
| 43 · Phungyar ↗ | NPF | NPF | NPF | Matched |
| 44 · Ukhrul ↗ | INC | INC | NPF | Missed |
| 45 · Chingai ↗ | NPF | NPF | NPF | Matched |
| 46 · Saikul ↗ | INC | INC | KPA | Missed |
| 47 · Karong ↗ | INC | INC | IND | Missed |
| 48 · Mao ↗ | NPF | NPF | NPF | Matched |
| 49 · Tadubi ↗ | NPP | NPP | NPP | Matched |
| 50 · Kangpokpi ↗ | BJP | BJP | BJP | Matched |
| 51 · Saitu ↗ | INC | INC | IND | Missed |
| 52 · Tamei ↗ | NPF | NPF | NPF | Matched |
| 53 · Tamenglong ↗ | BJP | BJP | NPP | Missed |
| 54 · Nungba ↗ | INC | INC | BJP | Missed |
| 55 · Tipaimukh ↗ | INC | INC | JD(U) | Missed |
| 56 · Thanlon ↗ | BJP | BJP | BJP | Matched |
| 57 · Henglep ↗ | BJP | BJP | BJP | Matched |
| 58 · Churachandpur ↗ | BJP | BJP | JD(U) | Missed |
| 59 · Saikot ↗ | INC | INC | BJP | Missed |
| 60 · Singhat ↗ | INC | INC | KPA | Missed |
| Predicted party | Observed party | Seats |
|---|---|---|
| BJP | BJP | 16 |
| INC | BJP | 12 |
| INC | INC | 5 |
| BJP | NPP | 4 |
| INC | JD(U) | 4 |
| NPF | NPF | 4 |
| INC | IND | 2 |
| INC | KPA | 2 |
| INC | NPP | 2 |
| NPP | BJP | 2 |
| AITC | BJP | 1 |
| BJP | JD(U) | 1 |
| INC | NPF | 1 |
| LJP | BJP | 1 |
| NPP | IND | 1 |
| NPP | NPP | 1 |
PROTOCOL 1.0 / WHAT ENTERS THE TEST
The repeat rule copies the prior Assembly winning-party code for each seat. The statewide rule chooses the prior election’s largest party by seat count and applies it everywhere. An alphabetical tie break is fixed in the code. Target-year results are joined only after predictions are computed.
Changing target-year outcomes in regression tests must not change benchmark outputs. 2024 Parliamentary leads, current directory labels and post-target election data are not inputs.
A previous IND result is not one continuous party or a verified person match across elections. The repeat rule abstains; both rules use the same eligible cohort for comparison. The excluded seat stays visible. Target-year independent outcomes remain observed categories.
Party codes remain literal. No undocumented merger, alliance, defection or candidate identity mapping repairs an incorrect result after the fact.
It counts exact predicted-versus-observed winning-party-code matches in one past election. It is not a candidate forecast, vote-share error, turnout estimate or probability of victory. Two election transitions cannot demonstrate stable calibration.
The statewide benchmark falls from 28/60 in 2017 to 5/59 on the comparable 2022 cohort. A rule can look better in one election and fail in the next.
All 60 independent winner records are available for each year. The 2017 AC21 candidate-vote discrepancy does not remove its independently indexed winner from this winner-only test.
The 2024 Parliamentary segment totals remain important context, but are not an interchangeable Assembly target. These replays do not reconstruct every piece of information that was available at the time.
2027 / EVIDENCE AND VALIDATION GATES
Historical benchmark research only; calibrated 2027 probability model unavailable.
| Requirement | Current coverage | Evidence and remaining limit |
|---|---|---|
| Historical Assembly targets | Available | Independent winning-party register: 60 seats for each of 2012, 2017 and 2022. Full candidate contest coverage is a separate dataset. |
| Reproducible reference rules | Available | Two retrospective transitions, fixed prior-party and statewide-seat-leader rules, same-cohort comparison and seat-level errors. |
| Dated current membership | Partial | All 60 official-directory entries captured; individual effective dates are not supplied. Directory labels are not certified current membership. |
| 2027 candidate and alliance inputs | Not ready | No complete verified, dated nomination and alliance dataset is indexed. Missing information is not an assumption that no announcements exist. |
| Representative opinion inputs | Not ready | No sufficiently reviewed representative constituency-level opinion dataset is included. |
| Additional independent evaluation windows | Partial | Only two Assembly transitions are available here. Seats within an election are correlated; do not interpret 119 comparable rows as 119 independent elections. |
| Probability estimation and calibration | Not ready | No fitted 2027 probability model, held-out calibration or uncertainty validation is published. Deterministic benchmark hit rates are not win probabilities. |
| Prospective evaluation record | Not ready | These rules were replayed after outcomes were known. They were not pre-registered election predictions. |
No probability model is selected merely because one retrospective benchmark beats another. Further research needs time-stamped inputs, additional evaluation evidence, explicit candidate/alliance assumptions and tested uncertainty before numerical forecasts can be defended.
Winner register SHA-256: cba5b2aec5f6018cb7ce3a3fd2ddca30f66c8b74de9bc2a6ffb8852897432803. Each build recomputes the report and checks it against the committed version.
↗ Official election sources are indexed in the source register ↗. Derived calculations by Mandate Terrain. The model protocol and data are versioned in GitHub; source claims retain their original scope.