CURSD Luck Score (CLS): Match Reports & Analysis
Daily data-driven analysis of luck in professional sports. Every Premier League match gets a CURSD Match Report scoring which team was lucky and which was cursed. Plus weekly deep-dives on team seasons, signal rankings, and regression watches across 9 leagues.
36 articles published. New analysis every day at 10:00 UTC.
WolvesSeason analysisRegression Watch: The Premier League's Luck Ledger Is Wildly Unbalanced
Wolves are sitting 15 points below their expected total. Aston Villa are nearly 16 points above theirs.
0-0
Crystal Palace 0-0 West Ham: Were Crystal Palace Fair? CURSD Match Report
CURSD Luck Score: Crystal Palace Fair (-6) | West Ham Fair (+6). xG: 0.73-0.61.

The Five Unluckiest Teams in World Sport Right Now
From Pisa to Brooklyn, the numbers say these five clubs deserve far better than their records suggest.
4-3
Bruins Outplay Sabres, Lose Anyway in Buffalo
Boston generates the better of the play, trails by a goal, and heads home down a game in the series.
2-1
Manchester City 2-1 Arsenal: Were Arsenal Robbery? CURSD Match Report
CURSD Luck Score: Arsenal Robbery (-37) | Manchester City Lucky (+37). xG: 1.41-1.53.
4-3
Aston Villa 4-3 Sunderland: Were Sunderland Unlucky? CURSD Match Report
CURSD Luck Score: Sunderland Unlucky (-24) | Aston Villa Lucky (+24). xG: 2.67-1.76.
4-1
Nottingham Forest 4-1 Burnley: Were Burnley Unlucky? CURSD Match Report
CURSD Luck Score: Burnley Unlucky (-19) | Nottingham Forest Lucky (+19). xG: 1.18-0.36.
1-2
Everton 1-2 Liverpool: Were Everton Unlucky? CURSD Match Report
CURSD Luck Score: Everton Unlucky (-25) | Liverpool Lucky (+25). xG: 0.80-1.45.
2-1
Did Arsenal Deserve Better? Here Is What the Data Says.
Arsenal hit the post twice, generated more xG, and lost anyway. The margins in the title race just got thinner.

Regression Watch: Season Closes, But the Luck Ledger Stays Open
The NBA and NHL wrapped with massive luck gaps. MLB's early signals are forming. Here's what the numbers buried.
0-1
Chelsea 0-1 Manchester United: CURSD Match Report
xG: 1.57-0.29. Chelsea Cursed (-78) | Manchester United Lucky (+78).
2-2
Tottenham 2-2 Brighton: CURSD Match Report
xG: 1.08-0.89. Tottenham Fair (-10) | Brighton Fair (+10).
3-0
Leeds 3-0 Wolves: CURSD Match Report
xG: 2.78-0.54. Wolves Unlucky (-21) | Leeds Lucky (+21).
1-2
Newcastle 1-2 Bournemouth: CURSD Match Report
xG: 1.65-3.03. Newcastle Unlucky (-26) | Bournemouth Lucky (+26).
0-0
Brentford 0-0 Fulham: CURSD Match Report
xG: 1.36-0.74. Brentford Unlucky (-26) | Fulham Lucky (+26).
0-0
Brentford 0-0 Fulham: Leno, a Post, and 1.36 xG Worth of Nothing
Brentford created 1.36 xG, hit the post, and watched Leno make a 90th-minute save that goes in the vast majority of the time. Fulham had zero shots on target.

Pisa Are Serie A's Most Cursed Team. The Numbers Confirm What Their Fans Already Knew.
A -16.12 xPoints delta makes Pisa the unluckiest side in Italian football this season.

2026 NBA Playoffs: Which Teams Will Surprise, According to the CURSD Score
The Knicks played like a top-2 seed. The Nuggets are built on sand. The CURSD Score quantifies who earned their spot and who got there on credit.

2026 NHL Playoffs: Which Teams Will Surprise, According to the CURSD Score
Vegas at -48, Buffalo at +68. The CURSD Score says some teams earned their spot and some are there on credit.

Athletic Club Are La Liga's Most Cursed Team, and It's Not Particularly Close
A Luck Index of -69 and a 10-point gap between expected and actual points tell the story of San Mamés this season.

Wolves Are the Premier League's Most Cursed Team, and It's Not Particularly Close
Wolverhampton should have nearly double their actual points total. The math is unforgiving.

The NBA's Pythagorean Liars
Ranking every team by the gap between their record and what their point differential says it should be.

The Hornets Won 44 Games With 46-Win Talent. The Basketball Gods Noticed.
Charlotte posted the NBA's worst Luck Index and still almost made the playoffs outright.

VfL Wolfsburg Are the Bundesliga's Most Cursed Team. The Math Isn't Even Close.
Wolfsburg have lost 11.6 points to variance this season. No one else in Germany comes close.

Pisa Are Serie A's Most Cursed Team. The Math Says They Should Have Nearly Twice Their Points.
A 16-point gap between expected and actual points makes Pisa the unluckiest side in Italy.

Metz Are Ligue 1's Unluckiest Team. The Numbers Aren't Even Close.
A -11.88 xPoints delta makes Metz the most cursed side in France by a wide margin.

Athletic Club Are La Liga's Most Cursed Team, and It's Not Particularly Close
A side generating 48 expected points sitting on 38 actual ones. The math is furious.

Wolves Are the Premier League's Most Cursed Team. The Numbers Aren't Even Close.
A 15-point gap between expected and actual tells a story stats rarely tell this loudly.

The Hidden Curse of Serie A: Fiorentina's Season of Vanishing Goals
Fiorentina have created enough chances for 47 goals. They've scored 37. The table doesn't forgive that.

The Hidden Curse of Ligue 1: Nice's Season of Compound Misery
Nice are not secretly elite. But the data says they should not be this deep in trouble.

Wolves Are the Premier League's Unluckiest Team. That Does Not Make Them Good.
A 15-point gap between actual and expected, an 8-goal defensive variance, and a luck-adjusted rank that is still 19th.
0-2Barcelona Out-xG Atleti 1.16 to 0.45, Lose 0-2 Anyway
18 shots, 58% possession, one red card, and a masterclass in why efficiency beats dominance.
1-2
Real Madrid 1-2 Bayern: The Robbery That Wasn't
Bayern outshot, out-created, and out-xG'd Real Madrid at the Bernabéu. The data has no sympathy.
5-2
Roma Concede Five Goals From 1.5 xG Worth of Chances
Inter needed roughly three half-chances to score five times. Roma were there for all of it.
0-1
Aston Villa Create 2.4 xG and Lose to 10-Man Brentford
27 shots, 72% possession, a numerical advantage, and a VAR-disallowed goal. Brentford needed 0.4 xG.
2-1
Barcelona Generate 3.7 xG, Lose at Real Sociedad
25 shots, two VAR interventions, and a 70th-minute equalizer undone within 60 seconds. The Reale Arena had other plans.