Data notes · where the numbers come from, and every place they deserve an asterisk
Every chart on this site is built from a league's own data feed, or,
where a league publishes none, from a respected open data project: the NFL
from FiveThirtyEight's openly licensed historical data before 1999, its week
numbers checked against devstopfix from 1978, and from nflverse since, and
the Premier League and the Championship from football-data.co.uk, with
footballcsv and engsoccerdata filling in an earliest season each. Nothing
charted here is scraped from websites or typed out of
record books. There is one exception and it is not chart data. When two teams
finish level on the columns a chart draws, the league still separates them, on
something no win-loss column carries: head to head, goal difference,
regulation wins, sometimes a playoff game. Several feeds never record that
answer, so eighty-six level races were read from
Wikipedia by
hand, each checked against a second page saying it another way: fifty-three
NFL races between 1970 and 2001, and thirty-three NBA, NHL, WNBA and MLS
races. They are the only figures here not taken from a league feed or an open
data project, and they decide an ORDER, never a number.
That choice has a consequence: when a league's feed and
the printed books disagree, this site sides with the league. Complete seasons
are validated before publishing, against a league's own official standings
wherever it publishes them, and for the two English divisions against the
arithmetic of every table together with the published record. The handful
of places where history needed repair or judgment are all listed here.
What the y-axis means
The MLB, NBA, WNBA, and NFL charts plot games above .500. Games
above .500 means wins minus losses. A team at 60-40 is twenty games
above .500, so its line sits at +20. The difference is not divided by
two. An NFL tie moves the line neither up nor down: ties count in the
record and in winning percentage, not on this axis.
The NHL chart plots points above a point-per-game pace. That is
standings points minus games played. A team with 50 points through 40
games sits at +10. The zero line is a team earning exactly one point
per game.
The MLS, NWSL, Premier League, and Championship charts plot points
above draw pace. The arithmetic is the same: points minus games played.
A draw pays one point, so the zero line is the pace of a side drawing
every match. A club with 50 points through 30 matches sits at +20.
The PWHL chart plots points above average pace, which is points minus
one and a half per game played. Every PWHL game pays out exactly three
points, three for a regulation win or two and one past regulation, so a
club taking a point and a half a night is exactly level with the rest of
the league. A club with 50 points through 30 games sits at +5. This is the
only chart here whose zero line is not a whole number of points a game,
and it is why a PWHL value can land on a half.
That is the whole definition. The longer answer, with a worked example
from the 1951 pennant race and the difference between games above .500 and
games behind, is its own page: What does games
above .500 mean on a standings chart?
What the postseason charts show
A playoffs page draws one postseason four ways. Each answers a question
the others cannot. None of them is a prediction, and there is no model
anywhere on this site.
The race, continued. The season chart with the
postseason on the end, for the champion and the three best records. A
club's playoff line starts where its regular season line finished, so the
two halves share one scale, and each playoff game moves it one step: up
for a win, down for a loss, nowhere for a tie. Three World Series games
ended level and were replayed, so those days are a flat step rather than a
missing one.
All playoff teams. The same picture with every club
that played this league's regular season. A club that played no season
here has no line and appears on the bracket only, which is how the 1925
Stanley Cup is drawn: Victoria won it out of the WCHL.
Seeds against finish. The left column ranks the field
by regular season record. It is not the league's seed number. Seeding
rules differ by era, so this site does not use seed numbers anywhere, and
the bracket boxes carry records for the same reason. The right column
groups clubs by how far they got, which is the round they went out in and
not the number of rounds they won. Those two come apart whenever there is
a bye: a club that sits out the first round and loses the second has won
nothing and still finished a round further than a club that lost in the
first. The number beside a name is places moved between the two columns,
and part of that figure is only where a club happened to sit inside its
band, so the crossings say more than the number does. It describes what
happened. It does not measure what should have.
The bracket. Derived from the results rather than
drawn by hand: each club in a series came from the series it played the
round before, or from nowhere, which is a bye.
One caution about the first two. The MLB, NBA, WNBA and NFL charts plot
games above .500, and a playoff game moves the line exactly the way a
regular season game does, so those lines are continuous in a single unit.
The NHL, PWHL, MLS, NWSL and Championship charts plot points above a pace, and
their playoff halves count games won and lost instead. The tail begins where
the season ended so that the two halves share a scale, but the step is not
the same quantity as the step to its left. Read the playoff half of those
five as a win-loss count.
Every series is also written out as text on each playoffs page, with the
round, the clubs, the result and the dates, so nothing here needs the chart
to be read. A result is quoted in the unit the round was actually decided
in: wins in games for a series, the match score for a single game, the
aggregate over two legs, and the shootout beside the draw where there was
one. Where a postseason's results come from is named on the page itself,
and it is the same feed as that league's season above.
What the dashed line is
Most charts carry a dashed line, the cutoff line: the pace of the team
holding the last place that matters, drawn day by day like any other line.
Which place that is depends on the league and the era, and each league's
section below says which. Teams are ranked for it by winning percentage
alone, or by points where the league keeps points; the leagues' own full
tiebreaker procedures are not applied, so on a tied day the line can sit a
team off from the official playoff picture. A season whose format had no
such cutoff has no line.
MLB 1901 to today · MLB Stats API
Where the numbers come from
MLB's feed sends a copyright notice with every response, and from
August 2026 that notice is kept rather than dropped. Each season file picks
it up the next time it is built, in a rights field, worded
exactly as the feed worded it that day, so anyone who takes the numbers
takes MLB's notice along with them, which is what a notice is for. Seasons
that finished before the change and are latched against rebuilding will
carry no field unless they are ever rebuilt. MLB's own terms are published
at mlb.com/official-information/terms-of-use,
and the notice itself cites gdx.mlb.com/components/copyright.txt.
What the chart draws
Layouts are shown as they existed: before 1969 there were no
divisions, so those charts show the two league pennant races. East and
West arrive in 1969, the Central in 1994.
The wild card line appears from the format's birth in 1994: one spot
through 2011, two from 2012, three from 2022.
Doubleheaders get a point each. Baseball is the only sport here
that plays a team twice in a day, and a split doubleheader nets to
zero, so a chart drawn one point per day would show a rest day where
two games were actually played. Each game gets its own step instead,
which is why an MLB line occasionally jogs up and straight back down
inside a single date. The hover readout names the game, and teams
that played once that day simply hold their position. Postponed games
count on whichever day they are eventually made up.
Where they deserve an asterisk
1994 keeps its wild card race even though the strike cancelled the
postseason and no wild card was ever awarded. The race was real while
the season ran.
A few seasons before 1963 differ from the Elias record books by a
game or two. MLB's own feed counts ties, replayed games, and tiebreaker
playoffs slightly differently than the books do. Nine team-seasons out
of roughly 2,800 are affected.
Tiebreaker playoff games count in the regular season, matching the
feed: the 1962 Giants finish 103-62 here, including their three-game
playoff over the Dodgers, where some books stop at the scheduled 162.
Tie games (called for darkness in the years before ballpark lights)
are not counted. They were replayed and the replay counts, which is how
the official records treat them too. The 1927 Yankees are 110-44 here,
as they should be.
Charts show AL and NL play only. The Negro Leagues, which MLB
recognizes as major leagues, come through the same feed for 1920 to 1948
and are filtered out here, because the standings of the day only ever
counted AL and NL teams. Charting them properly is not done yet.
A suspended game counts on its original date once it finishes, so a
day or two of recent history can quietly correct itself.
Interrupted seasons appear exactly as they happened: 1981 shows its
mid-season strike gap, 1994 simply ends on August 11, and 2020 is 60
games long.
NFL 1970 to today · FiveThirtyEight, devstopfix, and nflverse
Where the numbers come from
History starts in 1970, the AFL-NFL merger, so every season here is
the modern NFL of two conferences. Game results from 1970 through 1998
come from FiveThirtyEight's openly licensed historical NFL data, with week
numbers derived from the game dates; from 1978 they are checked against the
public-domain devstopfix results set. 1999 onward comes from the
community-maintained nflverse project, with thanks to all three. Pro-Football-
Reference, whose terms forbid automated access, was not used. Seasons
before 1970, and the old AFL and AAFC, exist in these sources but are not
charted yet.
What the chart draws
The chart moves one point per week, not per day. A completed week
is one point, labelled "Week 1", "Week 2" and so on. While a week is
still being played, every game day that has results gets its own point,
labelled by its date rather than by the week, and it carries only the
games played so far. Hovering one of those points says it is still
being played, because mid-week standings are not a settled table: a
club that has won reads above one that has not kicked off yet. Those
provisional points collapse into the single "Week N" point once the
week finishes. Everything the page states as a fact about the season,
the race sentence, the turning points and the lead-change count, reads
the last completed week and ignores the provisional points. Bye weeks
show as flat line segments.
Division and conference layouts are shown as they existed each season,
through every expansion and realignment: the 26-team league of 1970,
Seattle and Tampa Bay arriving in 1976 and swapping conferences in 1977,
Carolina and Jacksonville in 1995, the Ravens in 1996, up to the 31-team,
six-division setup of 1999 through 2001, before the 2002 realignment into
eight divisions.
The wild card line marks the last wild card spot in each
conference: one per conference from 1970, two from 1978, three from 1990
through 2001, two from 2002 through 2019, three again since 2020.
The 1982 strike season is the exception: its walkout led
to a one-off playoff that took the top eight per conference regardless of
division, so that year is charted with no wild card line at all.
Teams are shown as they were each season: the Houston Oilers, the
Baltimore and then Indianapolis Colts, the St. Louis, Phoenix, then
Arizona Cardinals, the Boston Patriots of 1970. When both Los Angeles
teams shared the city from 1982 to 1994, the Raiders read RAI and the Rams
RAM so the two never collide on the chart.
Where they deserve an asterisk
2001 shows its September 11 pause: the second week's games were
postponed and played in early January as Week 17, so the chart skips a
weekend after Week 1 and runs into January.
Ties count as half a win in the winning percentage, the NFL's own
method. The 2022 Bills-Bengals game, cancelled after Damar Hamlin's
collapse, was never played: both teams simply finished with 16 games,
exactly as the official standings record it.
The 1982 and 1987 seasons carry a "Players' strike" band over the
weeks the walkouts wiped out: two months in 1982, the single cancelled
week of 1987 before the replacement games.
1982 is charted by division like every other season, and the NFL
awarded no division title that year. The strike cut the season to nine
games, so the league ignored division standings and seeded eight clubs per
conference on record alone. Six clubs finished first in their division and
the charts show it; each of those six races says underneath that no title
went with it.
Thirty division races between 1973 and 2001 finished level at the top.
No data feed records who won them: nflverse, this site's source for who the
NFL says won a division, only reaches back to 2002, every other open NFL
dataset carries game results rather than final standings, and Wikidata
records no NFL division winner for any season in the league's history. The
thirty were read from Wikipedia by hand instead, each checked against the
tiebreaker its own season article states. Sixteen had been the wrong club,
and the wrong club was also standing in the wild card race beside it. Both
are right now.
Twenty-three wild card races between 1976 and 1999 finished level for
the last place or places, and the same wall stands in front of them:
nflverse records a playoff seed from 2002 only. Those twenty-three were
read from Wikipedia the same way and checked a second time against this
site's own record of who played in that postseason. From 2002 the seed
answers it.
NBA 1946-47 to today · NBA.com
Where the numbers come from
The NBA counts its BAA years (1946-1949) as its own history, and so
does this site. The NBL, the other half of the 1949 merger, exists in no
open data source and is not charted.
What the chart draws
The playoff line sits at each conference's eighth seed, the final
playoff spot of the sixteen-team era that began in 1983-84. Earlier
seasons have none, and in today's play-in years it still tracks the
eighth seed.
Where they deserve an asterisk
A few early-era division tiebreaker games (1948-1957) appear in the
league's game log but not in official standings. They are excluded here
so final records match the official books exactly.
The Baltimore Bullets folded fourteen games into the 1954-55 season,
and the league struck those games from the record. This site follows the
league: 1954-55 shows no Baltimore line at all.
The 1953-54 season includes a forfeit (Milwaukee over Baltimore) that
has no box score. It is credited at season's end, keeping the final
records exact.
The NBA Cup championship game does not count toward standings and is
not charted. Cup group-stage games count, and are.
Twenty ties left the top of a race level, from 1949-50 to 2024-25, and
NBA.com records no seed or division winner for any of them. Two were
settled by extra games rather than by a rule: Minneapolis beat Rochester
78-76 in 1950, and in 1957 St. Louis beat Fort Wayne and then
Minneapolis.
Fort Wayne's nine seasons, 1948-49 to 1956-57, are labelled the Fort
Wayne Pistons. The feed files them as the "Ft. Wayne Zollner Pistons",
which is the club's earlier name: Fred Zollner's company team from 1937 and
an NBL club from 1941, renamed on joining the BAA in 1948. No season
charted here is one the older name fits.
WNBA 1997 to today · NBA.com's WNBA statistics
Where the numbers come from
These come from the same NBA.com statistics service the NBA charts
read, asked for the WNBA instead. Crediting wnba.com would name a site
that publishes standings but supplied none of these numbers, and the
WNBA is covered by NBA.com's own terms.
What the chart draws
The playoff line follows the format of its era: the four best
records league-wide in 1997 and 1998, three per conference in 1999, four
per conference from 2000 through 2015, and the top eight league-wide
since 2016.
Where they deserve an asterisk
Three games exist in official standings but have no box score in the
league's game log: awarded results in 2007 (New York over Connecticut)
and 2009 (Los Angeles over New York), and the only true forfeit in
league history, awarded to Washington in 2018 after the Aces' 26-hour
travel ordeal. Each is credited at season's end, so final records match
the official standings exactly, but those teams' daily lines run one
game light from the true date until then.
2020 is the 22-game season played entirely in Bradenton, Florida.
The Commissioner's Cup final does not count toward standings and is
not charted. Cup group games count, and are.
Six races finished level at the top between 2002 and 2022 and the feed
records no seed for any of them.
NHL 1917-18 to today · NHL API
Where the numbers come from
Points and records come from the league's own day-by-day standings,
so every era's point rules (two for a win, one for a tie, the
overtime-loss point after 1999, no ties after 2004) are the league's own
arithmetic, not ours.
What the chart draws
Division and conference layouts are shown as they existed each
season, from no divisions at all, to Canadian and American, to Adams and
Patrick and Norris and Smythe, to today's four. The 2020-21 season's
sponsor-branded division names appear here without the sponsors.
The wild card line sits at the last wild card spot in each
conference, and exists only for seasons that used the format (2013-14
onward). 2020-21 has none: that season's playoffs took the top four from
each division, so there was no wild card race to draw.
Where they deserve an asterisk
2004-05 does not exist. The whole season was lost to the lockout.
The Montreal Wanderers' line in 1917-18 goes flat after six games:
their arena burned down and the team folded. Lines that stop moving
usually mean a franchise died mid-season.
2019-20 keeps its wild card races even though the league replaced
that postseason with a 24-team format after the March stoppage. The
races were real while the season ran. Nashville and Vancouver finished
level for the last western wild card place and the stoppage clinched
nothing, so neither is named and the table says its order there is not
the league's own.
Eight races between 1929-30 and 2020-21 finished level at the top and
the league separated them on a rule its feed does not publish: more wins,
head to head, or regulation and overtime wins.
A ninth, 1917-18, the league never ranked at all. It was played in two
halves with a table for each: Montreal won the first, Toronto the second,
and the two met in a playoff for the title. The combined 22-game table
charted here is this site's own.
PWHL 2024 to today · the PWHL's own stats feed
Where the numbers come from
The league's own feed, the one its schedule and standings pages read.
Every season is rebuilt from the individual game results and checked
against the league's published table, club by club: points, games played,
all four record columns and goals both ways have to agree or the season is
not published.
The postseason comes from the same feed's own bracket, which is where
the rounds and the series come from. The champion is worked out a second
time by following the eliminations backwards, and the two have to agree.
What the chart draws
One table, no conferences and no divisions, in every season. Three
points for winning in regulation, two for winning in overtime or a
shootout, one for losing in either, none for losing in regulation. So the
record has four columns rather than two, and a win is worth three points
or two depending on when it arrived.
The y-axis is points above average pace, which is points minus one and
a half per game played. Every PWHL game pays out exactly three points, so a
club taking a point and a half a night is exactly level with the field, and
the zero line is where that club sits. This is the only league here whose
zero line is not a whole number of points a game, and it is why a value can
land on a half.
The dashed line is the playoff line: the pace of the fourth-placed
club, because four clubs have gone through in every season the league has
played. Clubs level on points separate by regulation wins, then regulation
and overtime wins together, which is the league's own order.
Where they deserve an asterisk
A PWHL season is filed under the year it ENDS, which is the opposite
of every other league here. The first season ran from January to May 2024
and the second started in November 2024, so both of them begin in 2024 and
only the finishing year tells them apart. The first is labelled 2024
because it was played inside one calendar year; the rest read 2024-25 and
on.
The 2024 clubs have no crests of their own. The league ran its first
season on league branding alone, so the six teams had no nicknames, no
badges and no team jerseys, and were known by their city. Their lines are
drawn in the colour the franchise took a year later, so a club can be
followed across all three seasons, and their names are the ones they
actually carried: PWHL Boston, PWHL Toronto, and so on.
The league has grown twice over three seasons, from six clubs playing
24 games, to six playing 30, to eight playing 30. A chart compares clubs
inside one season and never across them, so the different lengths do not
meet, but a 2024 line simply stops sooner than a 2026 one.
Montréal are drawn in their navy rather than their burgundy. Against
Ottawa's crimson the burgundy measured closer than any two lines this site
has ever put on one chart, and two dark reds in an eight-club race is a
chart nobody can read. The navy is the badge's own background.
MLS 1996 to today · MLS stats API
Where the numbers come from
Three wounds in the league's feed were repaired here, each verified
against the official final table: a 2001 San Jose at New England game
abandoned in a storm and recorded as a draw, a 2008 Houston 0-0 D.C.
match missing from the feed entirely (the Hurricane Ike makeup), and
four 2015 games the feed stamps 0-0 that actually had winners.
What the chart draws
Standings sort by total points, the way the league's own live table
reads, with wins breaking a tie and points per game after that, so a
club at level points on fewer games ranks higher. Two finished seasons
are the exception and sort by points per game throughout: 2001, which
the league cut short after September 11 with teams at different game
counts, and 2020. Points per game was the league's own method for
those uneven schedules.
The Supporters' Shield view shows the single-table, league-wide race
that decides the Shield.
Where they deserve an asterisk
The 1996-1999 shootout era is charted with its real rules: no draws
existed, a regulation win paid three points, a shootout win paid one.
Shootout wins count as wins in the record, exactly as the league's own
tables show them (the 1996 Galaxy won 19 games but only 49 points; the
Mutiny won 20 and 58).
2020 follows the league's own accounting: the MLS is Back tournament
group games count toward standings, teams finished with anywhere from
18 to 23 games, and the chart shows two long flat stretches (the
four-month spring shutdown, and the tournament's knockout rounds, which
did not count).
Two races finished level on points and the feed records neither answer.
Both went to goal difference, which this site does not chart for MLS: New
York took the 2015 Supporters' Shield from Dallas at +19 to +13, and LAFC
took the 2024 Western Conference from the Galaxy at +20 to +19.
NWSL 2015 to today · the NWSL data feed
Where the numbers come from
The league's own feed, the one its standings pages read. Every season
was rebuilt from the individual match results and checked against the
league's published table, club by club: points, games, wins, draws,
losses and goals all have to agree or the season is not published.
Three results the league awarded rather than played are counted,
because its own table counts them: Washington forfeited two matches in
2021 and Houston one in 2023.
What the chart draws
One table, no conferences and no divisions, in every season. Three
points for a win and one for a draw, the only scheme the league has used.
Clubs level on points separate by wins, then goal difference, then goals
scored, which is the league's own order.
The dashed line is the playoff line: the pace of the last club still
in a playoff place. That has moved twice, from four clubs through 2019 to
six from 2021 and eight from 2024, and the line follows the league's own
marking of who qualifies rather than a number written down here.
Where they deserve an asterisk
The chart starts in 2015, not 2013. The league began in 2013, but its
feed holds no results for the first two seasons, and a season that cannot
be checked against the official table is not published here.
There is no 2020 season. The league replaced it with the Challenge Cup
and the Fall Series, separate competitions rather than a league table.
Every playoff tie is a single match, so a bracket here has no series
lengths in it. A match level after extra time goes to penalties, and the
winner of a shootout is recorded as a win. The 2016 final is the one match
whose shootout score the league feed does not carry, so that 3-2 is written
in by hand from the championship record.
Angel City finished 2024 three points worse off than they had earned.
The league docked them three points on October 3, 2024 for a salary cap
breach, and the chart drops their line that day.
Clubs are named as they were that season, which the league's own data
does not do: ask it about 2016 and it calls Chicago by the name it took in
2025. Chicago and Washington also change colour mid-history, because both
rebranded outright.
Premier League 1992-93 to today · football-data.co.uk and footballcsv
Where the numbers come from
Results come from football-data.co.uk's freely published per-season
files, which cover 1993-94 to today and update through the season, with
thanks. The league's very first season, 1992-93, predates their coverage
and comes from the footballcsv open data project instead. Five seasons
were cross-checked club by club against a second source, the 2025-26
table was verified against the season's final press coverage, and famous
seasons (the Invincibles' 90 points, Manchester City's 100, Derby's 11)
are re-asserted every time the data rebuilds.
What the chart draws
The line marks the drop here, not a playoff place: it sits at the
best team inside the relegation zone, because in England the race at the
bottom is the famous one. It is era-true: the
first two seasons had 22 clubs with three going down, in 1994-95 four
went down to shrink the league to twenty, and from 1995-96 it is the
modern three-from-twenty, so the line sits at 20th, then 19th, then
18th place.
Every Premier League season scores three points for a win and one
for a draw; the league has never used another scheme. Records read in
the English order, wins-draws-losses, and the table sorts by points,
then goal difference, then goals scored, the league's own tiebreakers.
English football dresses overwhelmingly in two colors: fifteen of
the fifty-one Premier League clubs wear red first and sixteen wear
royal or navy blue, and a single 20-team table gives them nowhere to
hide. Colors here spread each family across light and dark steps, a
few clubs wear an official secondary instead (Brentford the bee amber,
Stoke their navy trim), some wear a shifted shade of their own color
so a rival's line stays tellable apart (Coventry a teal of their sky,
Forest a lighter Garibaldi red), and one-season visitors wear hues
English football never claimed, which is why Swindon are purple and
Luton are green. All 941 pairs of clubs that ever shared a season were
scored and the close ones were moved apart. That scoring is done in
full color here. Chasing colorblind separation as well was costing clubs
their real colors without buying it: Villa's claret and Newcastle's black
read almost identically to a colorblind eye, neither color is negotiable,
and full color separates them easily. A few pairs still sit closer than
the rest even in full color, the tightest of them Manchester United and
Sheffield United, and Arsenal and Nottingham Forest.
How this chart knows a day is finished. It leans on the source
rather than checking game by game, because football-data lists only
matches already played, which comes to the same thing and always has:
the rebuild runs late in the UK evening, once the day's matches are
done, and again at four in the morning to catch anything the source
posted late. Were that file ever updated partway through a Saturday, an
in-season day could appear a game light, and the next run would put it
right. Finished seasons are not affected. The Championship works the
same way, from the same files one division down. How every league here
settles a day is set out in the All leagues section below.
Where they deserve an asterisk
2019-20 is the longest season on the site's EPL chart: 353 days,
with the spring COVID pause showing as a long flat stretch before the
June restart.
Points deductions are real and dated. Sources publish results, not
punishments, so the five times the league docked points are written
into the data by hand and the daily lines move the day each ruling
landed: Middlesbrough drop three points in January 1997 (the deduction
that relegated them), Portsmouth drop nine in March 2010, and in
2023-24 Everton fall ten in November, win four back on appeal in
February, lose two more in April, while Forest drop four in March.
Final tables here match the league's official ones, deductions and
all.
EFL Championship 1992-93 to today · football-data.co.uk and engsoccerdata
Where the numbers come from
England's second tier, shown throughout under its current name, the EFL
Championship. It was the Football League First Division until 2004 and the
Football League Championship until 2016; the site uses today's name for
every season and records the older ones here. It has been 24 clubs playing
46 games apiece in every season since 1992-93.
Results come from the same football-data.co.uk files as the Premier
League, one division down, covering 1993-94 to today and updating through
the season. The very first season, 1992-93, is the one season the second
tier has no football-data or footballcsv file for, so it comes from
James P. Curley's engsoccerdata open dataset instead; the table it
produces matches the record books club by club.
What the chart draws
There are three dashed lines here, not one, because the second tier
runs three races at once: the automatic promotion pace at 2nd, the last
play-off place at 6th, and the relegation line at the top of the drop
zone. That relegation line is era-true. Three clubs go down in a normal
season and it sits at 22nd, but in 1994-95 a fourth club went down, to
shrink the Premier League above from 22 clubs to 20, and the line sits at
21st.
Scoring, order, and tiebreakers match the Premier League.
Colors are shared with the Premier League. The forty-five clubs that
have played in both wear the same line in each, so a club you know from
one is the same color in the other. Twenty-eight more that never reached
the Premier League in this era are added just for this chart. Three clubs
the top-flight palette had dressed in a free hue for a rare visit up
(Swindon in purple, Luton in emerald, Barnsley in copper) are regulars
down here, so they wear their own colors instead, red and orange and red.
A few clubs that only ever meet in this division wear a shifted shade to
stay apart, and every pair that shared a season was scored in full
color.
Where they deserve an asterisk
Points deductions are the second tier's defining asterisk, far more
common down here than in the top flight: clubs were docked points fifteen
times across eleven seasons. Sources publish results, not punishments, so
each is written in by hand with the date it took effect, and the daily
line drops that day. The famous ones all land correctly. Derby lose
twenty-one points in 2021-22, twelve for administration in September and
nine more for accounting breaches in November, and finish bottom on 34.
Wigan's twelve for administration in 2019-20 are held back to the final
day, the point at which surviving on the pitch made the drop their
penalty, and it relegates them. Sheffield Wednesday begin 2020-21 already
twelve points down, win six back on appeal, and in 2025-26 lose eighteen
to finish on nothing, the lowest total the division has ever seen. And in
2025-26 the punishments decided the drop: Leicester and West Brom were
docked six and two, and Leicester went down having been safe on the field.
Every complete season's final table is checked against the official
record, champion, cutoff places, and every docked club's total, or the
build refuses to publish.
2019-20 is the longest season anywhere on the site, 356 days, with the
spring COVID pause showing as a long flat stretch before the June
restart.
All leagues
When a race finishes level the chart keeps drawing the teams level. The
table lists them in the league's own order where a source records one, and
the lede names who finished first on a tiebreaker these standings do not
carry. Where no source records one, nothing here picks a winner and the
table says underneath that its order is not the league's.
Colors and colorblindness, stated plainly. Every palette here is built
so that no two teams meeting in a real season are hard to tell apart, and
that check includes the common kinds of colorblindness. It is a best
effort, and it is not perfect. How well it can work depends on how many
lines share a chart: leagues with divisions or conferences keep that
number low enough to reach, and colorblind separation stays a goal the
palette is held to. The Premier League and the Championship put twenty and
twenty-four clubs on one table, which is past the point where color alone
can separate them for anyone, colorblind or not. Those two are built to
separate in full color and stop there, rather than promise something they
cannot deliver. On every chart in every league the end labels, the chips,
and the hover readout carry identity, and none of them depends on color.
How a day is known to be finished is not the same in every league,
so here it is plainly. MLB and MLS go through a day game by game and
refuse to draw it until every game has ended. The NFL applies the same
test to a whole week: it will not call a point "Week N" until every
game in that week is final. It does draw the open week in the meantime,
as one provisional point per game day, each labelled by its date and
each carrying only the games played so far. Those points are marked as
still being played and no settled claim on the page counts them. The
NHL, NBA, WNBA, Premier League, and Championship
have no game-by-game check. They take what the day's data holds and
rely on the update running late enough that the games are over, which
is the next note. During a season that means a team's record here can
briefly trail the league's live table until the next update, and a day
that ever landed a game light would put itself right on the next
run.
Days nobody plays still count. In MLB, MLS, the NBA, the WNBA, the
Premier League, and the Championship, the date under the title keeps up
with the calendar through a break: a league that last played Saturday
reads "through Tuesday" on a quiet Tuesday, because nothing that
happened since Saturday is missing. The moment a day has games, the
chart waits for them again. For the two English leagues, whose results
files list only matches already played, the date of the next game comes
from the season fixture calendars published by fixturedownload.com,
with thanks; only dates are read from them, and if that calendar is
ever unreachable the header simply waits at the last matchday. The NHL
already worked this way, and the NFL counts weeks, not days.
Charts update nightly, shortly after the last game goes final. The
North American leagues update in the small hours Pacific time. The two
English leagues run on a UK clock instead, late in the evening and
again at four in the morning, so a Saturday is drawn that same night
rather than waiting on an American morning. The NBA and WNBA come from
a home machine in the very early morning Pacific time, and on rare
mornings can run a day behind.
Teams are followed across moves and renames as franchises: Brooklyn
flows into Los Angeles, the MetroStars into the Red Bulls, the
Philadelphia A's through Kansas City and Oakland to today's city-less
Athletics. Team names are shown as they were in each season.
Line colors are each team's brand color where possible, but
legibility wins ties: some teams wear an official alternate so rivals
sharing a chart stay tellable apart, a few franchises change color at an
era boundary (the Blackhawks wear black before 1994, the Jazz wear New
Orleans purple in the 1970s, the SuperSonics wear green), and teams
without a usable identity (the long-dead New York Americans, the
brand-new Toronto Tempo) wear colors chosen purely so their lines can
be followed.
Historical teams otherwise wear their franchise's modern colors: the
1902 Athletics play in today's gold, Brooklyn in Dodger blue.
What to call these charts: charts like these are often called bump
charts, the season-long line races that show a whole league's standings
climbing and falling over the year, and that is a perfectly good name for
them. Strictly they are race charts, a close relative of the bump chart:
a classic bump chart plots rank order, first place against second against
third, while a race chart keeps the real distances, so a five game lead
looks five games wide and the y-axis is the classic games above .500 view.
They are drawn in the tradition of the pennant race charts newspapers once
printed. One of the sites that inspired this one calls its charts runnings,
a pun on standings worth preserving.
Found something that looks wrong? It might be. The repairs on this
page all started as a number that refused to match. If what you have
found is not on this page, write to
feedback@standingschart.com.
The same address takes ideas and suggestions, from a race that ought to
be charted to a view that would make one easier to read.
What this site counts analytics and privacy
Two visitor counters run here, Cloudflare Web Analytics and PostHog.
Between them they record which pages get opened, which race charts get
looked at, and which of the controls on the page get used. Nobody has an
account on this site and nothing on it asks who you are.
Neither counter sets a cookie, so there is no cookie banner to click.
Your screen is never recorded or played back, and no profile is built
about you. PostHog keeps a random id in your browser's own storage so that
a second visit is not counted as a second person; it is tied to nothing
else, and clearing your site data clears it.
Your approximate region, from Cloudflare, decides which race a page
opens on. It is never stored and never tied to who you are. Your browser
keeps the race you picked in each league, and the height you dragged a
chart to, so the site can open the same way next time; both stay on your
own device. The privacy page covers all of it.
If your browser sends a Do Not Track signal, PostHog counts nothing.
Cloudflare's counter does not read that signal, and never collects more
than the page address, where you came from, and basic browser
information.