Skip to content
Bespoke web application

Superbru Predictor

A score-prediction web app that uses team ratings and probability maths to pick the scorelines worth the most points. It won my group and finished in the top 100 worldwide out of 300,000 players.

Category
Bespoke web application
Availability
Demo on request
Technologies
  • React 18
  • Vite
  • JavaScript
  • Node.js
  • Express
  • PostgreSQL
  • Elo ratings
  • Poisson modelling
  • Monte Carlo simulation
  • SheetJS
  • react-simple-maps
  • The Odds API

Overview

Superbru is a free prediction game. For every World Cup match you enter an exact scoreline, and you earn points based on how close you were. Millions of people play, and this year's World Cup pool had around 300,000 entrants.

I built a single-page web app that works out which scoreline to enter for each of the 104 matches. It rates all 48 teams, turns those ratings into a probability for every possible score, and recommends the pick with the highest expected points. As results come in, the ratings and the remaining picks update automatically.

Who it's for

Superbru players who want a disciplined, repeatable way to pick scores instead of going on gut feeling, and friends in private leagues who want to see where they stand against each other. I built it first for myself and my own leagues.

Problem and solution

The problem

Football scores are too difficult to predict. A single goal, a red card or a deflection changes the whole result, and even the best forecasters get most exact scores wrong.

That makes a pool game like Superbru hard. Gut feeling and "most likely score" guesses both fail, because nobody can say with confidence that a match will end 2-1. With 300,000 players picking from the same uncertain matches, a lucky guess gives no lasting edge over the field.

The solution

Stop trying to predict the score. Use data to measure the uncertainty, then pick the score that earns the most points on average.

The app converts a World Football Elo rating for each team into expected goals, models each team's goals as a Poisson process, and builds a probability grid covering every scoreline from 0-0 to 8-8. It then tests every candidate pick against that whole grid using Superbru's scoring (0, 1, 1.5 or 3 points) and recommends the one with the highest expected value.

The result is often not the single most likely score. A 2-0 pick, for example, keeps more near-misses in play than a 1-0 pick, so it scores better across all the ways a match can go. Bookmaker odds can be blended in, and a 4,000-run tournament simulation shows how each pick plays out through the bracket. The method is written up step by step in the app.

Main features

  1. 01Expected-value picks. The recommended scoreline for every match, with the chance of a right result, a close score and an exact score.
  2. 02Live Elo ratings. Ratings for all 48 teams, updated after every result.
  3. 03Pick styles. Pure EV, Balanced, Variety and Pool modes, so picks can be spread out to chase leaders in a league.
  4. 04Knockout bracket. 120-minute scoring with penalty-shootout chances and a tournament simulation.
  5. 05Bookmaker odds blend. Optional odds feed mixed into every pick, with a slider to set its weight.
  6. 06League tracker. Compare my standing with rivals and see what happens if they get every remaining game right.
  7. 07Track record. Each pre-match pick is frozen and scored, with a calibration check against real results.
  8. 08Explorer and explainer. Historical World Cup data views and an interactive walkthrough of how a pick is chosen.

Need something similar?

Let's talk about what you're building.

Next projectBINGO ENGINE - SUPER TOMBLA