{
  "election": "Québec 2022",
  "generated": "2026-08-27",
  "note": "Aucune correction maison appliquée en backtest (pas de données antérieures à 2018) — le backtest mesure le modèle de tendance + simulation seul.",
  "horizons": [
    {
      "horizon": 120,
      "as_of": "2022-06-05",
      "n_polls": 52,
      "national": {
        "mae_pp": 2.65,
        "rmse_pp": 3.21,
        "coverage_95": 1.0,
        "forecast": {
          "CAQ": 40.37,
          "PCQ": 14.6,
          "PLQ": 18.19,
          "PQ": 9.01,
          "QS": 13.92
        },
        "actual": {
          "CAQ": 40.98,
          "PCQ": 12.91,
          "PLQ": 14.37,
          "PQ": 14.61,
          "QS": 15.43
        }
      },
      "seats": {
        "mae": 3.1,
        "coverage_90": 1.0,
        "expected": {
          "CAQ": 83.1,
          "PCQ": 7.0,
          "PLQ": 21.2,
          "PQ": 3.6,
          "QS": 10.0
        },
        "actual": {
          "CAQ": 90,
          "PLQ": 21,
          "QS": 11,
          "PQ": 3,
          "PCQ": 0,
          "AUT": 0
        },
        "prob_majority_caq": 0.9376
      },
      "districts": {
        "brier": 0.1473,
        "log_loss": 0.2867,
        "winner_accuracy": 0.92
      }
    },
    {
      "horizon": 90,
      "as_of": "2022-07-05",
      "n_polls": 56,
      "national": {
        "mae_pp": 2.89,
        "rmse_pp": 3.23,
        "coverage_95": 1.0,
        "forecast": {
          "CAQ": 39.52,
          "PCQ": 15.86,
          "PLQ": 17.65,
          "PQ": 9.25,
          "QS": 14.02
        },
        "actual": {
          "CAQ": 40.98,
          "PCQ": 12.91,
          "PLQ": 14.37,
          "PQ": 14.61,
          "QS": 15.43
        }
      },
      "seats": {
        "mae": 3.6,
        "coverage_90": 1.0,
        "expected": {
          "CAQ": 82.7,
          "PCQ": 8.3,
          "PLQ": 20.2,
          "PQ": 3.6,
          "QS": 10.1
        },
        "actual": {
          "CAQ": 90,
          "PLQ": 21,
          "QS": 11,
          "PQ": 3,
          "PCQ": 0,
          "AUT": 0
        },
        "prob_majority_caq": 0.951
      },
      "districts": {
        "brier": 0.1547,
        "log_loss": 0.2924,
        "winner_accuracy": 0.912
      }
    },
    {
      "horizon": 60,
      "as_of": "2022-08-04",
      "n_polls": 57,
      "national": {
        "mae_pp": 2.23,
        "rmse_pp": 2.83,
        "coverage_95": 1.0,
        "forecast": {
          "CAQ": 40.71,
          "PCQ": 14.29,
          "PLQ": 17.58,
          "PQ": 9.47,
          "QS": 14.3
        },
        "actual": {
          "CAQ": 40.98,
          "PCQ": 12.91,
          "PLQ": 14.37,
          "PQ": 14.61,
          "QS": 15.43
        }
      },
      "seats": {
        "mae": 2.2,
        "coverage_90": 1.0,
        "expected": {
          "CAQ": 86.4,
          "PCQ": 5.1,
          "PLQ": 20.3,
          "PQ": 3.3,
          "QS": 9.9
        },
        "actual": {
          "CAQ": 90,
          "PLQ": 21,
          "QS": 11,
          "PQ": 3,
          "PCQ": 0,
          "AUT": 0
        },
        "prob_majority_caq": 0.9968
      },
      "districts": {
        "brier": 0.1331,
        "log_loss": 0.2458,
        "winner_accuracy": 0.912
      }
    },
    {
      "horizon": 30,
      "as_of": "2022-09-03",
      "n_polls": 65,
      "national": {
        "mae_pp": 4.15,
        "rmse_pp": 4.46,
        "coverage_95": 0.8,
        "forecast": {
          "CAQ": 38.56,
          "PCQ": 18.48,
          "PLQ": 18.1,
          "PQ": 8.1,
          "QS": 12.92
        },
        "actual": {
          "CAQ": 40.98,
          "PCQ": 12.91,
          "PLQ": 14.37,
          "PQ": 14.61,
          "QS": 15.43
        }
      },
      "seats": {
        "mae": 4.0,
        "coverage_90": 0.8,
        "expected": {
          "CAQ": 82.6,
          "PCQ": 10.1,
          "PLQ": 21.0,
          "PQ": 2.2,
          "QS": 9.1
        },
        "actual": {
          "CAQ": 90,
          "PLQ": 21,
          "QS": 11,
          "PQ": 3,
          "PCQ": 0,
          "AUT": 0
        },
        "prob_majority_caq": 0.9961
      },
      "districts": {
        "brier": 0.1794,
        "log_loss": 0.3284,
        "winner_accuracy": 0.888
      }
    },
    {
      "horizon": 14,
      "as_of": "2022-09-19",
      "n_polls": 83,
      "national": {
        "mae_pp": 3.61,
        "rmse_pp": 3.9,
        "coverage_95": 0.6,
        "forecast": {
          "CAQ": 39.24,
          "PCQ": 18.31,
          "PLQ": 16.95,
          "PQ": 9.36,
          "QS": 12.34
        },
        "actual": {
          "CAQ": 40.98,
          "PCQ": 12.91,
          "PLQ": 14.37,
          "PQ": 14.61,
          "QS": 15.43
        }
      },
      "seats": {
        "mae": 3.9,
        "coverage_90": 0.8,
        "expected": {
          "CAQ": 84.8,
          "PCQ": 9.7,
          "PLQ": 18.7,
          "PQ": 3.1,
          "QS": 8.6
        },
        "actual": {
          "CAQ": 90,
          "PLQ": 21,
          "QS": 11,
          "PQ": 3,
          "PCQ": 0,
          "AUT": 0
        },
        "prob_majority_caq": 1.0
      },
      "districts": {
        "brier": 0.1805,
        "log_loss": 0.3256,
        "winner_accuracy": 0.88
      }
    },
    {
      "horizon": 7,
      "as_of": "2022-09-26",
      "n_polls": 95,
      "national": {
        "mae_pp": 2.76,
        "rmse_pp": 3.03,
        "coverage_95": 0.6,
        "forecast": {
          "CAQ": 38.8,
          "PCQ": 17.52,
          "PLQ": 15.78,
          "PQ": 10.75,
          "QS": 13.67
        },
        "actual": {
          "CAQ": 40.98,
          "PCQ": 12.91,
          "PLQ": 14.37,
          "PQ": 14.61,
          "QS": 15.43
        }
      },
      "seats": {
        "mae": 4.2,
        "coverage_90": 0.8,
        "expected": {
          "CAQ": 85.0,
          "PCQ": 9.2,
          "PLQ": 16.7,
          "PQ": 4.4,
          "QS": 9.8
        },
        "actual": {
          "CAQ": 90,
          "PLQ": 21,
          "QS": 11,
          "PQ": 3,
          "PCQ": 0,
          "AUT": 0
        },
        "prob_majority_caq": 1.0
      },
      "districts": {
        "brier": 0.1768,
        "log_loss": 0.3194,
        "winner_accuracy": 0.864
      }
    },
    {
      "horizon": 1,
      "as_of": "2022-10-02",
      "n_polls": 104,
      "national": {
        "mae_pp": 2.19,
        "rmse_pp": 2.31,
        "coverage_95": 1.0,
        "forecast": {
          "CAQ": 39.02,
          "PCQ": 16.37,
          "PLQ": 15.6,
          "PQ": 12.63,
          "QS": 13.12
        },
        "actual": {
          "CAQ": 40.98,
          "PCQ": 12.91,
          "PLQ": 14.37,
          "PQ": 14.61,
          "QS": 15.43
        }
      },
      "seats": {
        "mae": 4.2,
        "coverage_90": 0.8,
        "expected": {
          "CAQ": 85.5,
          "PCQ": 7.3,
          "PLQ": 16.7,
          "PQ": 6.3,
          "QS": 9.2
        },
        "actual": {
          "CAQ": 90,
          "PLQ": 21,
          "QS": 11,
          "PQ": 3,
          "PCQ": 0,
          "AUT": 0
        },
        "prob_majority_caq": 1.0
      },
      "districts": {
        "brier": 0.1793,
        "log_loss": 0.3217,
        "winner_accuracy": 0.864
      }
    }
  ],
  "calibration": [
    {
      "bin": "0–10 %",
      "predicted": 0.005,
      "observed": 0.004,
      "n": 3973
    },
    {
      "bin": "10–20 %",
      "predicted": 0.144,
      "observed": 0.113,
      "n": 151
    },
    {
      "bin": "20–30 %",
      "predicted": 0.244,
      "observed": 0.186,
      "n": 129
    },
    {
      "bin": "30–40 %",
      "predicted": 0.341,
      "observed": 0.256,
      "n": 90
    },
    {
      "bin": "40–50 %",
      "predicted": 0.453,
      "observed": 0.435,
      "n": 62
    },
    {
      "bin": "50–60 %",
      "predicted": 0.558,
      "observed": 0.642,
      "n": 67
    },
    {
      "bin": "60–70 %",
      "predicted": 0.65,
      "observed": 0.736,
      "n": 72
    },
    {
      "bin": "70–80 %",
      "predicted": 0.752,
      "observed": 0.833,
      "n": 90
    },
    {
      "bin": "80–90 %",
      "predicted": 0.855,
      "observed": 0.91,
      "n": 111
    },
    {
      "bin": "90–100 %",
      "predicted": 0.981,
      "observed": 0.984,
      "n": 505
    }
  ]
}