Open Civic Intelligence · Research record
Territorial MRP: history and evidence
Historical evidence, synthetic calibration, open limitations.
Updated 5 October 2026 · Stan prototype: calibration partially verified.
01 / Scope and electoral geography
The historical v4 implementation uses Rosatellum single-member constituencies. This document separates its reported backtests from an area-agnostic Stan prototype. An electoral reform requires new aggregation rules, not an automatic transfer of validation results.
As of 5 October 2026, the project’s anticipated 8 October enactment is not treated as an accomplished event. “Stabilicum” rules and geographical mappings require official verification.
02 / Territorial MRP specification
Multilevel Regression and Poststratification combines hierarchical shrinkage with population-weighted cell estimates. Here, poststratification cells are geographical units; individual MRP would require respondent-level survey data and joint demographic population counts. Ecological associations do not identify individual voting behaviour.
The Stan prototype models positive concentrations α = exp(η), with hierarchical effects and territorial predictors. Cell shares are α / sum(α); known weights aggregate them to area shares. A Dirichlet-Multinomial likelihood jointly models party counts and overdispersion, without guaranteeing unbiased estimates. A separate national-poll likelihood provides a probabilistic constraint and replicated polls support posterior predictive checks.
The supplied PyMC v4 aggregates covariates before regression. Explicit cell weights and the national-poll likelihood are A4 extensions. The weighted area concentration is a modelling closure, not the exact distribution of summed DM counts.
03 / Historical backtests: reported evidence
| Dataset | N | Metric | OLS | MRP | Winner |
|---|---|---|---|---|---|
| Camera Lazio 2022 | 14 | MAE CDX | — | 4.01 | 14/14 |
| Lombardia 2023 | 23 | RMSE | 4.65 | 4.28 | — |
| Lazio 2023 | 14 | RMSE | 5.36 | 5.08 | — |
| Emilia-Romagna 2024 | 11 | RMSE | 12.09 | 10.36 | — |
| Liguria 2024 | 4 | RMSE | 9.75 | 8.45 | — |
CDX = centre-right. MAE and RMSE are different metrics. White paper v1.2 describes out-of-sample predictions; these were not rerun here. Covariate reference years alone do not establish ex ante forecasting: release dates and auditable training/evaluation splits are required.
CI90 coverage: 39.2% across the full 252-observation validation set reported in the white paper. Undercoverage remains unresolved. Small samples may contribute, but the reported prior comparisons do not establish a unique cause. Liguria (N=4) is only indicative.
04 / Stan prototype: partial calibration evidence
A4, 2 October 2026: CmdStan 2.38.0; 20 synthetic areas, 4 parties; maximum R-hat 1.0041, minimum bulk/tail ESS 1746/1697, zero divergences. A4-bis, 5 October: 100 SBC simulations attempted, 95 complete fits, 73/95 satisfying all MCMC criteria.
| Quantity | CI90 coverage | 95% bootstrap interval |
|---|---|---|
| Area shares | 89.79% | 88.92–90.62% |
| Coefficients γ | 90.11% | 88.76–91.37% |
Holm adjustment across 132 tests: no rejection at 5%; minimum adjusted p = 0.1467. Non-rejection does not establish uniformity. Completed fits include 14 divergences across 11 fits. Five native Windows crashes remain unexplained; completion-conditioned results may be subject to selection.
SBC tests computation under the assumed generative model, not real-world electoral performance. Linux replication and failure diagnosis remain outstanding.
05 / Layer 0: provenance and denominators
| Combined base | 7,896 municipalities × 143 columns |
|---|---|
| Census | ISTAT 2023, territorial bases 2021 |
| Income | MEF IRPEF, tax year 2024 |
| Residents | 58,971,230 |
| Agent validation | validated · 2026-10-02 |
| SHA-256 | 7ecb2c141fb6337509b5bd7d55de671d2db2c3981dd17e522b31d1ce8031a432 |
A2 identifies 20 candidate features. Effective dimension from the correlation spectrum is 7.16 unweighted and 5.07 population-weighted, not an optimal predictor count. A4-bis integrates ten provisional features using synthetic data.
Adult indicators use ages 20+: the 15–19 band cannot isolate ages 18–19, which are excluded. Employment and education retain their own denominators. Residents are not the electorate; validated denotes agent checks, not complete historical boundary harmonisation.
06 / Limitations and external validity
Area-level shares do not identify individual preferences. Historical undercoverage requires additional data and checks of model specification, dependence and temporal validation. Increasing sample size alone is not a demonstrated remedy.
Reanalysing 2022 votes with 2023–2024 covariates will be retrospective, not ex ante forecasting. SBC does not change that status. Electoral rules and coalition shifts threaten transportability; separate temporal backtests, posterior predictive checks and official mappings are prerequisites for public use of the new engine.
07 / References and provenance
Numerical sources: white paper v1.2 (§§5–6), A4 (2 October), A4-bis and A2 (5 October), Data Agent 0.2.1 (2 October 2026). The October audit reports are local artifacts without a linked public release.
White paper v1.2 EN · Methodology (IT) · Historical validation (IT) · Public repository (AGPL v3).
The inspected frontend clone does not contain the historical v4 engine source. A verified file permalink remains unavailable; the general repository link does not establish its availability.
08 / Living documentation; separate release
This page is intended to accompany the retirement of the “Sondaggio 2027” mode; it does not disable that interface. The new engine requires verified rules, geography and observed-data performance before release. Production readiness has not been established.