Chapter One
Greatness is a number you choose
“GOAT” is not a fact waiting to be discovered. It is a scalarization: a way of crushing a many-sided player down to one score.
Every argument about the greatest of all time is really an argument about weights. One person means “scored the most goals.” Another means “won the World Cup.” A third means “did things with a football that looked illegal.” They are not disagreeing about facts; they are disagreeing about what to count, and how much.
So I made the weighting explicit. Each player becomes a vector of quality across nine measurable dimensions. Pick how much each dimension matters, and greatness is just a weighted sum.
Change w and you change the answer. The whole debate lives in that one letter. So rather than pick a weighting and pretend it is the truth, I sampled 8,000 of them, spanning every reasonable philosophy of greatness, and asked how often each player comes out on top. Here is the headline, three ways of keeping score:
Share of all 8,000 sampled weightings that favour each player, under three ways of turning raw numbers into a head-to-head share. This is not 50/50.
Chapter Two
Every reasonable weighting, at once
Scroll, and one opinion becomes eight thousand. This is the specification curve: the honest picture of how robust the answer really is.
What is a weighting? One philosophy of greatness, written as nine percentages that add up to 100%: how much you count Scoring Volume against Playmaking against Trophies against International success, and so on. Each vertical slice below is one such weighting; the 8,000 of them span everything from single-minded (“only goals count”) to perfectly balanced.
Chapter Three
Change the rule, change the answer
The most contested choice is one nobody argues about: how you convert two dissimilar numbers into a single “share.”
Ronaldo has scored more career goals; Messi has a higher rate and the World Cup. To combine such things you must first decide how much a lead of 58 goals on a base of 976 is “worth.” That is the normalization rule, and it quietly moves the conclusion more than any single statistic. Watch what happens to Messi’s share of the whole weight-space as the rule changes.
Chapter Four
The honest conclusion
Now it is your turn
Tune the index yourself
Set your own philosophy of greatness. Every figure below, the verdict, the radar, the breakdown and your position on the specification curve, recomputes live.
Specification curve
Every reasonable weighting, sorted. Dots are the presets; the dark line marks your weighting.
Quality vector
Share by dimension
Single-lens extremes
100% weight on one dimension
Breakdown
Raw values, shares and contribution to the margin. Click a row for its metrics.
Appendix
Codebook & methodology
Each player is a vector of quality across the dimensions below. For a weight vector
w that sums to 1, each player’s index is
GOAT = Σ w·s, where s is that player’s head-to-head
share on a dimension (the two shares always sum to 1). The margin is
M = Σ w·δ with δ = 2s−1; Messi leads
when M > 0. Three choices are exposed as controls, because they, not the raw
numbers, decide the debate: the normalization, the dimension weights, and which
criteria count. Full maths in
METHODOLOGY.md;
the pipeline is deterministic under a fixed seed. All data and code are open source on
GitHub.
Normalization rules
Dimensions & their metrics
Weighting philosophies (presets)
Every raw value is cited in
data/sources.md
and frozen at the snapshot date. Edit one cell of data/metrics.csv, run
make build, and this codebook, the charts and the specification curve all update
together; the page has no numbers of its own.