matchesAll = FileAttachment("../data/predictions_matches.csv").csv({typed: true})
tableAll = FileAttachment("../data/predictions_table.csv").csv({typed: true})
rankProbsAll = FileAttachment("../data/predictions_rankprobs.csv").csv({typed: true})
countries = Array.from(new Set(tableAll.map((d) => d.country))).sort()
title = (s) => s.replace(/(^|\s)\S/g, (c) => c.toUpperCase())League Predictions
End of season and match predictions based on our World Ranking for European leagues.
Upcoming Matches
Predicted Final Table
End-of-season rank probabilities (darker = more likely):
(Based on 1000 simulations of the remaining schedule. Points: average points per simulation. Champion: probability to win the league.)