SPB Git

spb/qc-election

Public

chore(retrait cluster): synchro copie du nœud M2U64 + README « URL live hors fonction » (2026-09-04)

Simon-Pierre Boucher committed (Sep 4, 2026) parent c3d9230 Browse files

4 changed files +1,733 −1,322

modified README.md +2 −0
@@ -1,3 +1,5 @@
1+> ⚠️ **URL live hors fonction pour le moment.** L'application a été retirée du cluster MacLustr le 2026-09-04 (processus arrêtés, copie du nœud supprimée). Ce dépôt spbgit est désormais la seule source de vérité du projet. Ancienne URL : https://www.qc-election.com
2+
1 <!-- QC Élection Forecast — Plateforme de prévision électorale du Québec 2026 --> 3 <!-- QC Élection Forecast — Plateforme de prévision électorale du Québec 2026 -->
2 <!-- Auteur : Simon-Pierre Boucher --> 4 <!-- Auteur : Simon-Pierre Boucher -->
3 <!-- Contact : contact@spboucher.ai --> 5 <!-- Contact : contact@spboucher.ai -->
added backend/data/ablation_report.json +356 −0
@@ -0,0 +1,356 @@
1+{
2+ "generated": "2026-08-30",
3+ "model_version": "3.1.0",
4+ "n_sims": 6000,
5+ "variants": {
6+ "FULL": {
7+ "overrides": {},
8+ "horizons": [
9+ {
10+ "horizon": 120,
11+ "mae_pp": 2.56,
12+ "coverage_95": 1.0,
13+ "seat_mae": 3.1,
14+ "brier": 0.144,
15+ "winner_accuracy": 0.92
16+ },
17+ {
18+ "horizon": 60,
19+ "mae_pp": 2.21,
20+ "coverage_95": 1.0,
21+ "seat_mae": 2.1,
22+ "brier": 0.1322,
23+ "winner_accuracy": 0.912
24+ },
25+ {
26+ "horizon": 30,
27+ "mae_pp": 4.15,
28+ "coverage_95": 0.8,
29+ "seat_mae": 4.0,
30+ "brier": 0.1782,
31+ "winner_accuracy": 0.888
32+ },
33+ {
34+ "horizon": 7,
35+ "mae_pp": 2.77,
36+ "coverage_95": 0.6,
37+ "seat_mae": 4.2,
38+ "brier": 0.1765,
39+ "winner_accuracy": 0.864
40+ },
41+ {
42+ "horizon": 1,
43+ "mae_pp": 2.19,
44+ "coverage_95": 1.0,
45+ "seat_mae": 4.3,
46+ "brier": 0.1787,
47+ "winner_accuracy": 0.864
48+ }
49+ ],
50+ "avg": {
51+ "mae_pp": 2.776,
52+ "seat_mae": 3.54,
53+ "brier": 0.1619,
54+ "winner_accuracy": 0.8896
55+ }
56+ },
57+ "sans_fondamentaux": {
58+ "overrides": {
59+ "fundamentals_enabled": false
60+ },
61+ "horizons": [
62+ {
63+ "horizon": 120,
64+ "mae_pp": 2.63,
65+ "coverage_95": 1.0,
66+ "seat_mae": 3.1,
67+ "brier": 0.1464,
68+ "winner_accuracy": 0.92
69+ },
70+ {
71+ "horizon": 60,
72+ "mae_pp": 2.22,
73+ "coverage_95": 1.0,
74+ "seat_mae": 2.1,
75+ "brier": 0.1325,
76+ "winner_accuracy": 0.912
77+ },
78+ {
79+ "horizon": 30,
80+ "mae_pp": 4.14,
81+ "coverage_95": 0.8,
82+ "seat_mae": 4.0,
83+ "brier": 0.1785,
84+ "winner_accuracy": 0.888
85+ },
86+ {
87+ "horizon": 7,
88+ "mae_pp": 2.76,
89+ "coverage_95": 0.6,
90+ "seat_mae": 4.2,
91+ "brier": 0.1765,
92+ "winner_accuracy": 0.864
93+ },
94+ {
95+ "horizon": 1,
96+ "mae_pp": 2.19,
97+ "coverage_95": 1.0,
98+ "seat_mae": 4.3,
99+ "brier": 0.1787,
100+ "winner_accuracy": 0.864
101+ }
102+ ],
103+ "avg": {
104+ "mae_pp": 2.788,
105+ "seat_mae": 3.54,
106+ "brier": 0.1625,
107+ "winner_accuracy": 0.8896
108+ },
109+ "delta_vs_full": {
110+ "mae_pp": 0.012,
111+ "seat_mae": 0.0,
112+ "brier": 0.0006,
113+ "winner_accuracy": 0.0
114+ }
115+ },
116+ "sans_partielles": {
117+ "overrides": {
118+ "byelections_enabled": false
119+ },
120+ "horizons": [
121+ {
122+ "horizon": 120,
123+ "mae_pp": 2.56,
124+ "coverage_95": 1.0,
125+ "seat_mae": 3.1,
126+ "brier": 0.144,
127+ "winner_accuracy": 0.92
128+ },
129+ {
130+ "horizon": 60,
131+ "mae_pp": 2.21,
132+ "coverage_95": 1.0,
133+ "seat_mae": 2.1,
134+ "brier": 0.1322,
135+ "winner_accuracy": 0.912
136+ },
137+ {
138+ "horizon": 30,
139+ "mae_pp": 4.15,
140+ "coverage_95": 0.8,
141+ "seat_mae": 4.0,
142+ "brier": 0.1782,
143+ "winner_accuracy": 0.888
144+ },
145+ {
146+ "horizon": 7,
147+ "mae_pp": 2.77,
148+ "coverage_95": 0.6,
149+ "seat_mae": 4.2,
150+ "brier": 0.1765,
151+ "winner_accuracy": 0.864
152+ },
153+ {
154+ "horizon": 1,
155+ "mae_pp": 2.19,
156+ "coverage_95": 1.0,
157+ "seat_mae": 4.3,
158+ "brier": 0.1787,
159+ "winner_accuracy": 0.864
160+ }
161+ ],
162+ "avg": {
163+ "mae_pp": 2.776,
164+ "seat_mae": 3.54,
165+ "brier": 0.1619,
166+ "winner_accuracy": 0.8896
167+ },
168+ "delta_vs_full": {
169+ "mae_pp": 0.0,
170+ "seat_mae": 0.0,
171+ "brier": 0.0,
172+ "winner_accuracy": 0.0
173+ }
174+ },
175+ "sans_medias": {
176+ "overrides": {
177+ "media_nudge_enabled": false
178+ },
179+ "horizons": [
180+ {
181+ "horizon": 120,
182+ "mae_pp": 2.56,
183+ "coverage_95": 1.0,
184+ "seat_mae": 3.1,
185+ "brier": 0.144,
186+ "winner_accuracy": 0.92
187+ },
188+ {
189+ "horizon": 60,
190+ "mae_pp": 2.21,
191+ "coverage_95": 1.0,
192+ "seat_mae": 2.1,
193+ "brier": 0.1322,
194+ "winner_accuracy": 0.912
195+ },
196+ {
197+ "horizon": 30,
198+ "mae_pp": 4.15,
199+ "coverage_95": 0.8,
200+ "seat_mae": 4.0,
201+ "brier": 0.1782,
202+ "winner_accuracy": 0.888
203+ },
204+ {
205+ "horizon": 7,
206+ "mae_pp": 2.77,
207+ "coverage_95": 0.6,
208+ "seat_mae": 4.2,
209+ "brier": 0.1765,
210+ "winner_accuracy": 0.864
211+ },
212+ {
213+ "horizon": 1,
214+ "mae_pp": 2.19,
215+ "coverage_95": 1.0,
216+ "seat_mae": 4.3,
217+ "brier": 0.1787,
218+ "winner_accuracy": 0.864
219+ }
220+ ],
221+ "avg": {
222+ "mae_pp": 2.776,
223+ "seat_mae": 3.54,
224+ "brier": 0.1619,
225+ "winner_accuracy": 0.8896
226+ },
227+ "delta_vs_full": {
228+ "mae_pp": 0.0,
229+ "seat_mae": 0.0,
230+ "brier": 0.0,
231+ "winner_accuracy": 0.0
232+ }
233+ },
234+ "sans_volatilite_sociale": {
235+ "overrides": {
236+ "enable_social_volatility": false
237+ },
238+ "horizons": [
239+ {
240+ "horizon": 120,
241+ "mae_pp": 2.56,
242+ "coverage_95": 1.0,
243+ "seat_mae": 3.1,
244+ "brier": 0.144,
245+ "winner_accuracy": 0.92
246+ },
247+ {
248+ "horizon": 60,
249+ "mae_pp": 2.21,
250+ "coverage_95": 1.0,
251+ "seat_mae": 2.1,
252+ "brier": 0.1322,
253+ "winner_accuracy": 0.912
254+ },
255+ {
256+ "horizon": 30,
257+ "mae_pp": 4.15,
258+ "coverage_95": 0.8,
259+ "seat_mae": 4.0,
260+ "brier": 0.1782,
261+ "winner_accuracy": 0.888
262+ },
263+ {
264+ "horizon": 7,
265+ "mae_pp": 2.77,
266+ "coverage_95": 0.6,
267+ "seat_mae": 4.2,
268+ "brier": 0.1765,
269+ "winner_accuracy": 0.864
270+ },
271+ {
272+ "horizon": 1,
273+ "mae_pp": 2.19,
274+ "coverage_95": 1.0,
275+ "seat_mae": 4.3,
276+ "brier": 0.1787,
277+ "winner_accuracy": 0.864
278+ }
279+ ],
280+ "avg": {
281+ "mae_pp": 2.776,
282+ "seat_mae": 3.54,
283+ "brier": 0.1619,
284+ "winner_accuracy": 0.8896
285+ },
286+ "delta_vs_full": {
287+ "mae_pp": 0.0,
288+ "seat_mae": 0.0,
289+ "brier": 0.0,
290+ "winner_accuracy": 0.0
291+ }
292+ },
293+ "sondages_seuls": {
294+ "overrides": {
295+ "fundamentals_enabled": false,
296+ "byelections_enabled": false,
297+ "media_nudge_enabled": false,
298+ "enable_social_volatility": false
299+ },
300+ "horizons": [
301+ {
302+ "horizon": 120,
303+ "mae_pp": 2.63,
304+ "coverage_95": 1.0,
305+ "seat_mae": 3.1,
306+ "brier": 0.1464,
307+ "winner_accuracy": 0.92
308+ },
309+ {
310+ "horizon": 60,
311+ "mae_pp": 2.22,
312+ "coverage_95": 1.0,
313+ "seat_mae": 2.1,
314+ "brier": 0.1325,
315+ "winner_accuracy": 0.912
316+ },
317+ {
318+ "horizon": 30,
319+ "mae_pp": 4.14,
320+ "coverage_95": 0.8,
321+ "seat_mae": 4.0,
322+ "brier": 0.1785,
323+ "winner_accuracy": 0.888
324+ },
325+ {
326+ "horizon": 7,
327+ "mae_pp": 2.76,
328+ "coverage_95": 0.6,
329+ "seat_mae": 4.2,
330+ "brier": 0.1765,
331+ "winner_accuracy": 0.864
332+ },
333+ {
334+ "horizon": 1,
335+ "mae_pp": 2.19,
336+ "coverage_95": 1.0,
337+ "seat_mae": 4.3,
338+ "brier": 0.1787,
339+ "winner_accuracy": 0.864
340+ }
341+ ],
342+ "avg": {
343+ "mae_pp": 2.788,
344+ "seat_mae": 3.54,
345+ "brier": 0.1625,
346+ "winner_accuracy": 0.8896
347+ },
348+ "delta_vs_full": {
349+ "mae_pp": 0.012,
350+ "seat_mae": 0.0,
351+ "brier": 0.0006,
352+ "winner_accuracy": 0.0
353+ }
354+ }
355+ }
356+}
\ No newline at end of file
modified backend/data/polls_2022.csv +910 −910
Large diff (1,821 lines) is not loaded by default to keep the page fast.Load diff
modified backend/data/polls_2026.csv +465 −412
Large diff (879 lines) is not loaded by default to keep the page fast.Load diff
Menu

Theme