← Blog · Guide · 6 min read
How to build a fair scoring system for a friends-only prediction league
A scoring system has one job: keep everyone engaged through the whole season. That means rewarding both safe and bold picks, keeping the bottom of the table within reach, and not letting one lucky weekend define the league. Here's how to think about it.
The three things a scoring system has to balance
- Skill expression: a knowledgeable predictor should outperform a random one over a season.
- Comeback potential: if you're 8 points down at matchday 5, you should feel like you can still catch up by matchday 15.
- Drama per matchday: each round should change the leaderboard meaningfully, otherwise people stop checking.
The "outcome + exact score" baseline
For football, this is the standard format and it works well:
- 1 point for predicting the correct outcome (Home / Draw / Away).
- 3 points for predicting the exact score (e.g., 2–1).
The ratio is the important part. 3:1 means an exact-score pick is roughly 5× rarer but pays 3×, so the expected-value math actually rewards confidence rather than punishing it. Lower the multiplier (say 2× instead of 3×) and you make exact-score picks suboptimal and people stop trying them.
The variant we recommend
A slight tweak that we see consistently produces better leagues:
- 1 point — correct outcome.
- 2 points — correct goal difference (e.g., predicted 2–1, actual 3–2 → both are "home wins by 1").
- 3 points — exact score.
The middle tier solves a common complaint: "I called Real Madrid 2–1 and the actual was 3–2, I got the same as someone who picked 1–0." With three tiers, getting close pays off, and "close but not exact" feels rewarded.
What about basketball?
Exact score is functionally impossible. Replace it with:
- 1 point — correct winner.
- 2 points — correct winner AND margin within 3 points.
- 3 points — correct winner AND margin within 5 points AND total points (over/under your chosen line).
The exact ladder doesn't matter — what matters is that it's hard to max out every game, so the "knowledgeable" prediction still has room to differentiate.
Anti-tilt rules: keep the bottom half engaged
The classic problem: by matchday 8, three people are 12+ points clear. The bottom four know they can't catch up. They stop submitting. Two ways to fix this:
Option A: "Best 10 of 14 matchdays"
Your season total is your best N matchdays, not your total points. This means a bad weekend doesn't haunt you forever, and someone joining late can still catch up if their last 10 matchdays are strong.
Option B: Mid-season reset
At the halfway point, scores get compressed (e.g., everyone's points × 0.7) or the league splits into a "winners" bracket and a "challengers" bracket. Brutal but it works — every league with a midseason device retains better than ones without.
The "wildcard" point
Once a season, every player picks one match where their points count double. They have to commit before the match. Most groups we know love this — it rewards conviction and creates one or two "wildcard weekends" that everyone remembers.
What NOT to do
- Don't give negative points for wrong picks. It feels like a tax. Players who get one matchday wrong stop predicting.
- Don't make scoring tiers wider than 1 / 3 / 5. Once a single match can swing 8+ points, the league becomes random.
- Don't change the rules mid-season. If you want to change scoring, do it for the next season. People build their picks around the rules; changing midstream feels unfair.