Peak Election Intelligence
This page documents the modeling framework behind SagarmathaIQ's election forecasts. It was first applied to Nepal's 2082 parliamentary election and is designed to carry forward into future cycles with updated baselines and structural improvements.
Nepal uses a mixed-member proportional (MMP) system: 165 seats decided by first-past-the-post (FPTP) voting in single-member constituencies, and 110 seats allocated by party-list proportional representation (PR) from national vote share. We model these independently and combine them for total seat projections.
Constituency-level probabilistic model. Outputs a win-probability distribution over all registered parties per seat.
National vote-share projection with Monte Carlo draws. Seats allocated via the largest remainder method with a 3% threshold.
Both models share a common party taxonomy and are calibrated to the same historical baseline (2079 election results). Outputs are published as probability distributions, not point estimates, to reflect genuine uncertainty.
The 2079 general election results serve as the prior for both models. At constituency level we use 2079 FPTP vote counts per candidate per party. At national level we use 2079 PR vote totals to anchor party share priors.
| Input | Role |
|---|---|
| Candidate registration data | Determines which parties contest each constituency. A party absent from a seat gets zero probability mass. |
| Party-level swing signals | National-level adjustments fed into constituency z-score factors (see ยง3). |
| Known candidate strength | Encodes prior knowledge for high-profile incumbents or notable challengers via the
z1 parameter.
|
| District-level demographic splits | Used selectively for constituencies where ethnolinguistic composition strongly predicts party loyalty (Madhesh, Terai). |
The core of the FPTP model is a zero-sum Dirichlet distribution over candidate vote shares within each constituency. This naturally enforces that all shares sum to one and produces a full probability distribution rather than a single predicted outcome.
Each party's prior concentration parameter is derived from its 2079 performance in the same constituency (or the district average when local data is unavailable), adjusted by two calibration factors:
The z0 parameter encodes province-level or national swings from polling or
qualitative intelligence. The z1 parameter is reserved for constituency-specific
overrides: popular incumbents, floor-crossing candidates, or known strongholds.
Published forecasts report the win probability of the leading candidate and credible intervals from simulation draws. Labels: "safe" above 85%, "likely" at 65โ85%, "competitive" below 65%.
Nepal's 110 PR seats are allocated using the Hare quota / largest remainder method, consistent with the Election Commission's official procedure.
Parties must clear 3% of the national PR vote to be eligible for any PR seats. Parties below this threshold are excluded before allocation begins; their vote shares are not redistributed.
PR vote share is modeled separately from FPTP vote share. The baseline is each party's 2079 PR vote fraction. National swing factors derived from FPTP simulation outputs apply as a soft update. The result is a distribution over national PR vote shares; we draw samples, run allocation per draw, and report the resulting PR seat distribution.
Both models use Monte Carlo simulation to propagate uncertainty from constituency level through to national seat totals.
10,000 draws are taken independently per constituency. Seat counts are summed across constituencies to produce a distribution over total FPTP seats per party. Reported intervals are the 2.5th and 97.5th percentiles.
PR vote shares are drawn using a Dirichlet process at the national level. For each of 10,000 drawn national vote-share vectors the allocator runs and outputs a seat count, giving a full marginal distribution per party.
FPTP and PR draws are paired by index and summed. Reported as: median total seats [p2.5 โ p97.5].
Before each forecast cycle, parameters are tested against the most recent prior election as a pseudo out-of-sample check. Z-factors are adjusted until the model reconstructs historical results within acceptable error bounds. This does not guarantee forward accuracy but catches obvious mis-specification.
After each election we publish a structured post-mortem comparing published forecast probabilities against official results. Metrics tracked: overall hit rate, per-province accuracy, hit rate by confidence tier (safe / likely / competitive), and PR vote share error vs. the credible interval.
Nepal lacks a consistent publicly available polling infrastructure. All priors come from historical results and qualitative inputs. There is no mechanism to incorporate survey-based vote intention.
Boundary changes between cycles leave some constituencies without a clean historical analogue. For these seats we fall back to district-level averages, which are a weaker prior.
The current model treats Madhesh constituencies with the same Dirichlet framework as the rest of the country. In 2082 this badly underestimated RSP's regional sweep (31 of 32 seats). Madhesh operates on qualitatively different dynamics โ ethnolinguistic identity, cross-provincial migration, bloc voting โ not captured by a generic vote-share prior.
In 2082, Shram Sanskriti won 3 FPTP and 4 PR seats but was not modeled as a distinct party. Its vote share was absorbed into "other," leading to systematic overestimates for NC and NCP in the seats it contested.
The model has no explicit mechanism for party collapse or vote-transfer cascades. JSP's near-elimination (1.6% PR share vs. 6.9% forecast) was not flagged as a plausible tail scenario. Parties with declining trajectory need explicit collapse branches.
| Change | Priority | Status |
|---|---|---|
| Madhesh structural model โ separate swing term with ethnolinguistic covariates | Critical | Planned |
| Probability cap at 97% per constituency โ no 100% certainty calls | Critical | Planned |
| Shram Sanskriti added as a modeled party with 2082 results as baseline | Critical | Planned |
| RSP prior re-anchored to 2082 FPTP results (125 seats, ~48% PR) | High | Planned |
| JSP and Janajati party collapse scenarios โ explicit low-support branches | High | Planned |
| NCP stronghold anchoring โ prior constrained to confirmed NCP districts | Medium | Planned |
| Calibration report published alongside forecasts for full transparency | Medium | Planned |