{"meta":{"league":"UEFA Champions League","season":"2026-27","generated_at":"2026-10-30T11:44:14Z","sims":10000,"model":"ucl-poisson-v2","b0":0.3281,"hfa":0.0353,"sigma":0.05,"strength":"fitted: site_score_z + country_coeff_log_z (weights [0.0335, 0.019], tau 3.5), z within the CL 36","validation":{"held_out_new_format_cl_2025_26":{"decisive_acc":0.7061,"logloss":1.0177,"n":288,"v1_formula_same_test":{"decisive_acc":0.6286,"logloss":1.0295}},"era_cv_decisive_acc":{"1993-2003":0.5266,"2004-2015":0.5638,"2016-2026":0.5351},"depth_spearman_mean_34_seasons":0.436,"championship_backtest_2004_2024":{"seasons":18,"sims_per_season":4000,"champion_logloss_per_season_by_tau":{"1.0":2.9164,"2.0":2.6581,"2.5":2.5544,"3.0":2.5216,"3.5":2.462,"4.0":2.4935,"5.0":2.4823,"6.0":2.5801},"chosen_tau":3.5,"favourite_check":"model favourite won 2/18 real seasons; model expected 4.0 at tau=3.5 — binomially compatible (P(<=2 | p=0.22, n=18) ~ 8%) but worth rechecking as seasons accrue","script":"scripts/predictions/research/backtest_ucl.py"}},"market":"none — no public odds file carries the UCL","matches_played":54,"calendar_placeholder":false,"notes":"Strength fitted by Poisson MLE on 6,216 European group matches 1993-2026 (see scripts/predictions/research/). Held out from training, the two completed league-phase seasons: 70.6% decisive-match accuracy v 62.9% for the v1 formula. QF routes W(1/2)vW(7/8) + W(3/4)vW(5/6), verified against the 2024-25 bracket; re-check the official 2026-27 chart before the February knockout draw."},"table":[{"name":"Paris Saint-Germain","country":"France","exp_pts":18.5,"pos":{"p5":1,"p50":3,"p95":11},"p_top8":90.7,"p_top24":100.0,"p_r16":97.8,"p_qf":71.8,"p_sf":47.3,"p_final":29.1,"p_champion":16.88},{"name":"Arsenal","country":"England","exp_pts":16.9,"pos":{"p5":1,"p50":5,"p95":15},"p_top8":75.9,"p_top24":99.8,"p_r16":94.0,"p_qf":65.7,"p_sf":42.0,"p_final":25.2,"p_champion":14.73},{"name":"Bayern Munich","country":"Germany","exp_pts":14.5,"pos":{"p5":2,"p50":9,"p95":21},"p_top8":49.7,"p_top24":97.8,"p_r16":87.1,"p_qf":59.7,"p_sf":38.0,"p_final":23.8,"p_champion":13.43},{"name":"Real Madrid","country":"Spain","exp_pts":18.2,"pos":{"p5":1,"p50":3,"p95":12},"p_top8":86.1,"p_top24":99.9,"p_r16":95.5,"p_qf":57.8,"p_sf":29.8,"p_final":15.0,"p_champion":7.37},{"name":"Manchester City","country":"England","exp_pts":14.5,"pos":{"p5":2,"p50":9,"p95":22},"p_top8":46.9,"p_top24":97.3,"p_r16":81.9,"p_qf":49.8,"p_sf":27.9,"p_final":14.8,"p_champion":7.18},{"name":"FC Barcelona","country":"Spain","exp_pts":14.8,"pos":{"p5":2,"p50":8,"p95":21},"p_top8":51.6,"p_top24":98.2,"p_r16":83.7,"p_qf":49.6,"p_sf":27.3,"p_final":14.5,"p_champion":7.18},{"name":"Aston Villa","country":"England","exp_pts":16.8,"pos":{"p5":1,"p50":5,"p95":15},"p_top8":75.8,"p_top24":99.9,"p_r16":92.3,"p_qf":55.1,"p_sf":29.4,"p_final":14.4,"p_champion":6.8},{"name":"Liverpool","country":"England","exp_pts":17.4,"pos":{"p5":1,"p50":4,"p95":15},"p_top8":78.7,"p_top24":99.9,"p_r16":92.6,"p_qf":54.6,"p_sf":27.4,"p_final":13.2,"p_champion":6.28},{"name":"Internazionale","country":"Italy","exp_pts":11.8,"pos":{"p5":6,"p50":16,"p95":29},"p_top8":14.9,"p_top24":85.2,"p_r16":60.6,"p_qf":31.7,"p_sf":16.8,"p_final":8.4,"p_champion":3.98},{"name":"Atlético de Madrid","country":"Spain","exp_pts":12.3,"pos":{"p5":5,"p50":14,"p95":28},"p_top8":18.3,"p_top24":88.1,"p_r16":60.3,"p_qf":28.3,"p_sf":12.9,"p_final":5.7,"p_champion":2.38},{"name":"Borussia Dortmund","country":"Germany","exp_pts":12.8,"pos":{"p5":4,"p50":14,"p95":27},"p_top8":20.8,"p_top24":90.3,"p_r16":60.5,"p_qf":27.2,"p_sf":11.7,"p_final":4.8,"p_champion":2.06},{"name":"Real Betis","country":"Spain","exp_pts":15.6,"pos":{"p5":2,"p50":8,"p95":19},"p_top8":52.8,"p_top24":99.3,"p_r16":77.6,"p_qf":33.5,"p_sf":12.8,"p_final":4.5,"p_champion":1.72},{"name":"AS Roma","country":"Italy","exp_pts":11.0,"pos":{"p5":6,"p50":18,"p95":30},"p_top8":10.1,"p_top24":78.1,"p_r16":47.3,"p_qf":20.2,"p_sf":8.5,"p_final":3.6,"p_champion":1.63},{"name":"Manchester United","country":"England","exp_pts":10.2,"pos":{"p5":8,"p50":21,"p95":32},"p_top8":6.0,"p_top24":67.0,"p_r16":40.8,"p_qf":18.1,"p_sf":7.9,"p_final":3.4,"p_champion":1.4},{"name":"Sporting Clube de Portugal","country":"Portugal","exp_pts":12.4,"pos":{"p5":4,"p50":15,"p95":28},"p_top8":19.8,"p_top24":89.0,"p_r16":55.8,"p_qf":23.0,"p_sf":9.2,"p_final":3.3,"p_champion":1.27},{"name":"SSC Napoli","country":"Italy","exp_pts":10.8,"pos":{"p5":7,"p50":19,"p95":31},"p_top8":7.4,"p_top24":75.0,"p_r16":43.0,"p_qf":17.8,"p_sf":7.3,"p_final":2.8,"p_champion":1.12},{"name":"VfB Stuttgart","country":"Germany","exp_pts":13.4,"pos":{"p5":3,"p50":12,"p95":25},"p_top8":28.6,"p_top24":94.4,"p_r16":58.3,"p_qf":20.7,"p_sf":6.9,"p_final":2.1,"p_champion":0.72},{"name":"Club Brugge","country":"Belgium","exp_pts":12.4,"pos":{"p5":4,"p50":15,"p95":27},"p_top8":19.2,"p_top24":88.6,"p_r16":50.8,"p_qf":17.3,"p_sf":5.8,"p_final":1.9,"p_champion":0.61},{"name":"Como","country":"Italy","exp_pts":11.8,"pos":{"p5":5,"p50":16,"p95":28},"p_top8":15.2,"p_top24":86.7,"p_r16":46.6,"p_qf":15.0,"p_sf":5.0,"p_final":1.6,"p_champion":0.52},{"name":"PSV Eindhoven","country":"Netherlands","exp_pts":10.9,"pos":{"p5":7,"p50":19,"p95":31},"p_top8":8.2,"p_top24":74.4,"p_r16":39.1,"p_qf":14.2,"p_sf":4.8,"p_final":1.5,"p_champion":0.51},{"name":"Villarreal","country":"Spain","exp_pts":10.0,"pos":{"p5":9,"p50":21,"p95":32},"p_top8":4.4,"p_top24":66.8,"p_r16":32.6,"p_qf":10.2,"p_sf":3.3,"p_final":1.1,"p_champion":0.46},{"name":"FC Porto","country":"Portugal","exp_pts":7.8,"pos":{"p5":14,"p50":27,"p95":35},"p_top8":0.7,"p_top24":37.1,"p_r16":19.0,"p_qf":8.0,"p_sf":3.1,"p_final":1.1,"p_champion":0.43},{"name":"RB Leipzig","country":"Germany","exp_pts":9.9,"pos":{"p5":9,"p50":23,"p95":33},"p_top8":3.6,"p_top24":58.5,"p_r16":28.0,"p_qf":9.8,"p_sf":3.4,"p_final":1.1,"p_champion":0.37},{"name":"Galatasaray SK","country":"Turkey","exp_pts":9.0,"pos":{"p5":12,"p50":25,"p95":34},"p_top8":1.8,"p_top24":47.7,"p_r16":20.8,"p_qf":6.4,"p_sf":2.1,"p_final":0.6,"p_champion":0.25},{"name":"Feyenoord","country":"Netherlands","exp_pts":9.2,"pos":{"p5":11,"p50":25,"p95":34},"p_top8":2.3,"p_top24":49.9,"p_r16":20.9,"p_qf":5.8,"p_sf":1.7,"p_final":0.4,"p_champion":0.17},{"name":"FK Bodø/Glimt","country":"Norway","exp_pts":9.5,"pos":{"p5":10,"p50":24,"p95":34},"p_top8":2.9,"p_top24":53.3,"p_r16":21.6,"p_qf":6.1,"p_sf":1.6,"p_final":0.4,"p_champion":0.15},{"name":"Lille OSC","country":"France","exp_pts":6.8,"pos":{"p5":16,"p50":30,"p95":36},"p_top8":0.3,"p_top24":22.8,"p_r16":10.5,"p_qf":3.3,"p_sf":1.2,"p_final":0.4,"p_champion":0.13},{"name":"RC Lens","country":"France","exp_pts":8.8,"pos":{"p5":12,"p50":26,"p95":34},"p_top8":1.7,"p_top24":44.2,"p_r16":18.1,"p_qf":5.5,"p_sf":1.7,"p_final":0.4,"p_champion":0.11},{"name":"Fenerbahçe SK","country":"Turkey","exp_pts":8.2,"pos":{"p5":14,"p50":27,"p95":35},"p_top8":0.7,"p_top24":34.9,"p_r16":13.0,"p_qf":3.4,"p_sf":0.9,"p_final":0.3,"p_champion":0.08},{"name":"AEK Athens","country":"Greece","exp_pts":8.2,"pos":{"p5":14,"p50":28,"p95":35},"p_top8":1.0,"p_top24":34.4,"p_r16":11.8,"p_qf":3.0,"p_sf":0.8,"p_final":0.1,"p_champion":0.04},{"name":"SK Slavia Praha","country":"Czech Republic","exp_pts":5.3,"pos":{"p5":22,"p50":33,"p95":36},"p_top8":0.1,"p_top24":9.0,"p_r16":3.0,"p_qf":0.8,"p_sf":0.2,"p_final":0.1,"p_champion":0.02},{"name":"Viking FK","country":"Norway","exp_pts":6.5,"pos":{"p5":18,"p50":31,"p95":36},"p_top8":0.1,"p_top24":19.4,"p_r16":5.3,"p_qf":0.9,"p_sf":0.2,"p_final":0.1,"p_champion":0.01},{"name":"FC Shakhtar Donetsk","country":"Ukraine","exp_pts":9.4,"pos":{"p5":10,"p50":23,"p95":33},"p_top8":2.9,"p_top24":56.2,"p_r16":17.2,"p_qf":3.4,"p_sf":0.7,"p_final":0.1,"p_champion":0.01},{"name":"LASK Linz","country":"Austria","exp_pts":8.2,"pos":{"p5":14,"p50":27,"p95":35},"p_top8":0.8,"p_top24":37.1,"p_r16":9.1,"p_qf":1.5,"p_sf":0.3,"p_final":0.0,"p_champion":0.0},{"name":"ŠK Slovan Bratislava","country":"Slovakia","exp_pts":4.6,"pos":{"p5":25,"p50":35,"p95":36},"p_top8":0.0,"p_top24":4.8,"p_r16":0.8,"p_qf":0.1,"p_sf":0.0,"p_final":0.0,"p_champion":0.0},{"name":"Sabah FA","country":"Azerbaijan","exp_pts":6.5,"pos":{"p5":20,"p50":31,"p95":36},"p_top8":0.1,"p_top24":14.9,"p_r16":3.0,"p_qf":0.5,"p_sf":0.0,"p_final":0.0,"p_champion":0.0}],"fixtures_called":[{"date":"2026-11-03T17:45:00+00:00","home":"Galatasaray SK","away":"VfB Stuttgart","model":{"pH":0.376,"pD":0.254,"pA":0.37},"pick":"H"},{"date":"2026-11-03T17:45:00+00:00","home":"FC Shakhtar Donetsk","away":"Sporting Clube de Portugal","model":{"pH":0.246,"pD":0.238,"pA":0.517},"pick":"A"},{"date":"2026-11-03T20:00:00+00:00","home":"Villarreal","away":"Paris Saint-Germain","model":{"pH":0.202,"pD":0.223,"pA":0.576},"pick":"A"},{"date":"2026-11-03T20:00:00+00:00","home":"FK Bodø/Glimt","away":"Lille OSC","model":{"pH":0.352,"pD":0.254,"pA":0.394},"pick":"A"},{"date":"2026-11-03T20:00:00+00:00","home":"Manchester United","away":"AS Roma","model":{"pH":0.416,"pD":0.252,"pA":0.332},"pick":"H"},{"date":"2026-11-03T20:00:00+00:00","home":"Feyenoord","away":"Internazionale","model":{"pH":0.238,"pD":0.236,"pA":0.526},"pick":"A"},{"date":"2026-11-03T20:00:00+00:00","home":"FC Barcelona","away":"Aston Villa","model":{"pH":0.408,"pD":0.253,"pA":0.339},"pick":"H"},{"date":"2026-11-03T20:00:00+00:00","home":"Atlético de Madrid","away":"Bayern Munich","model":{"pH":0.281,"pD":0.246,"pA":0.473},"pick":"A"},{"date":"2026-11-03T20:00:00+00:00","home":"LASK Linz","away":"ŠK Slovan Bratislava","model":{"pH":0.439,"pD":0.25,"pA":0.31},"pick":"H"},{"date":"2026-11-04T17:45:00+00:00","home":"Fenerbahçe SK","away":"Liverpool","model":{"pH":0.229,"pD":0.233,"pA":0.539},"pick":"A"},{"date":"2026-11-04T17:45:00+00:00","home":"AEK Athens","away":"Real Madrid","model":{"pH":0.206,"pD":0.224,"pA":0.57},"pick":"A"},{"date":"2026-11-04T20:00:00+00:00","home":"RC Lens","away":"Como","model":{"pH":0.38,"pD":0.254,"pA":0.366},"pick":"H"},{"date":"2026-11-04T20:00:00+00:00","home":"SK Slavia Praha","away":"Arsenal","model":{"pH":0.157,"pD":0.201,"pA":0.642},"pick":"A"},{"date":"2026-11-04T20:00:00+00:00","home":"Borussia Dortmund","away":"Real Betis","model":{"pH":0.432,"pD":0.251,"pA":0.317},"pick":"H"},{"date":"2026-11-04T20:00:00+00:00","home":"FC Porto","away":"SSC Napoli","model":{"pH":0.391,"pD":0.254,"pA":0.356},"pick":"H"},{"date":"2026-11-04T20:00:00+00:00","home":"PSV Eindhoven","away":"Club Brugge","model":{"pH":0.417,"pD":0.252,"pA":0.33},"pick":"H"},{"date":"2026-11-04T20:00:00+00:00","home":"RB Leipzig","away":"Manchester City","model":{"pH":0.254,"pD":0.24,"pA":0.506},"pick":"A"},{"date":"2026-11-04T20:00:00+00:00","home":"Viking FK","away":"Sabah FA","model":{"pH":0.466,"pD":0.247,"pA":0.287},"pick":"H"}]}