upneja.ai
← all data postsSoccer / GOAT debatebacklog
1600×900 exportdata.upneja.ai
age 18age 21age 24age 27age 30MessiRonaldoMbappeHaaland

At the same age, who was ahead?

source-backedX first
post copy

The Soccer Aging Curve Race

A
Ayush Upneja
@upneja · draft

Messi/Ronaldo/Mbappé/Haaland arguments are usually fake because everyone is a different age. The better version: freeze them at the same birthday and ask who was actually ahead. That’s the chart. Age curves, not calendar-year totals.

draft tweet
what the visualization is

An age-normalized race chart: Messi, Ronaldo, Mbappe, and Haaland all start at age 17 and accumulate goals/assists by birthday.

data shape

FBref/Statbunker/Transfermarkt season or match-level goal data by exact age.

animation

Lines race from age 17 to 30; milestones pause for record seasons and international tournaments.

why it works

It makes GOAT arguments feel newly fair while still being inflammatory.

Thread beats
  1. 1.Calendar-year comparisons reward being older. Age-normalized curves show pace.
  2. 2.The best version has toggles: goals, assists, Champions League, international tournaments, trophies, minutes.
  3. 3.The discourse will be unbearable, which means the chart is working.
Sources to pull
  1. FBref player profiles
  2. Statbunker player/competition season tables
  3. Transfermarkt club all-competition validation
  4. FIFA / UEFA / CONMEBOL tournament records
CTA

Which metric should lead: goals, G+A, or tournament output?

visualization package
X hero card16:9
age 18age 21age 24age 27age 30MessiRonaldoMbappeHaaland
Carousel frame4:5
frame 1

At the same age, who was ahead?

Messi/Ronaldo/Mbappé/Haaland arguments are usually fake because everyone is a different age.

Vertical animation9:16
01
hook appears
02
data reveals
03
labels snap in
04
CTA end card
soccerage.mp4
more posts