Where to start

There is one subject here and it is a large one: every hitter and pitcher who has appeared in a Major League season since 1871, the recognised Negro Leagues included. You can walk into it from three directions — a season with everybody in it, a person with every season in him, or two people laid on top of each other — and which one you want depends less on what the pages are called than on the shape of your question.

Start from the question, not from the page

Almost every baseball question turns out to be one of three shapes, and they want different pages. Either you have fixed a year and want to look across the people in it, or you have fixed a person and want to look across their years, or you have fixed two people and want to know which of them was better. Sorting a season by home runs answers the first and tells you nothing about the second; a career table answers the second and cannot tell you who else was having a good summer; neither of them will settle an argument about two names, because that needs both careers on one screen and a caption explaining which of the numbers can honestly be read across. Picking by which page you happened to land on is what sends people in circles.

What you are askingWhat answers itOpen this
Who led the league in home runs in 1927?One season, every player in it, sorted your wayMLB Season Stats
How many did Babe Ruth hit in the end?One player, every season he played, with the career totalsMLB player careers
Was that pitcher any good before he was traded?One player again — the season rows are what answer thisMLB player careers
Who else was on that team that year?One season again — filter it and read down the team columnMLB Season Stats
Which of these two was actually better?Two players at once — a six-sided shape each, then the exact numbersCompare two players

The three are wired together, so you rarely have to guess twice. Search a name on the season page and it will offer you that player's career; open a career and there is a link that carries that name straight into the comparison with one box already filled; every season row names the team and the league it belongs to. Going the wrong way first costs you one click.

Every player, not the interesting ones

Plenty of places will show you the leaderboard. The thing that is genuinely awkward to find is the player nobody wrote about: the September call-up with eleven at-bats, the reliever who threw twenty innings and disappeared, the position player who pitched an inning in a blowout. Those rows are here, and they are here by default — the season table starts with a qualifying filter switched on so the leaders are not drowned out, and you can untick it and get everybody.

The same applies to which leagues count. Seven Negro Leagues seasons between 1920 and 1948 are treated as Major League here, because they are, and Josh Gibson appears in the tables the way anybody else does. Those seasons were also much shorter than the ones around them, which changes what a season total means — so the pages that show them say so rather than leaving you to notice.

The one question worth asking first: where does it run?

All of it happens inside the browser tab you are reading this in. A season arrives as one small static file — the page prints its size before the download starts — and from then on the sorting, the filtering and the name search are things your own machine does to data it is already holding. A column header reorders the whole year the moment you click it, the search box narrows the list on each keystroke rather than after you finish typing, and the second season you open behaves exactly like the first however long you stay.

Why that makes it free, and why a database-backed site cannot be

That is also the answer to the price, which is the question people usually ask second. Nothing here costs us anything to give away, because the work is not happening on our side. Sites that answer statistical queries from a database pay for that database on every click, which is why they need accounts, rate limits, and a tier where the interesting numbers live. We have no such bill, so we have no such tier.

What you can expect from both of them

  • It answers as fast as you can ask. A season arrives once and then stays in the tab, so sorting a column, ticking the qualifying filter off, switching to pitching and searching a name are all instant. Following a hunch costs you the click and nothing else, which is the difference between checking a hunch and abandoning it.
  • Each page says who is missing from it. A filter that quietly drops players, a statistic that only exists after a certain year, a league whose seasons were half the length — all of that is stated on the page rather than left for you to trip over. A table that hides who is excluded is a table you cannot quote.
  • Where our numbers differ from somebody else's, we say so. Wins Above Replacement is computed here rather than copied, and a handful of career figures do not match the official ones because the two are not counting the same set of games. The pages put both numbers side by side instead of picking a winner.
  • The numbers on the page are computed, not typed. The examples, tables and totals are produced by running the real code at build time. If the data drifts, the page changes and the build stops before you see it.

Everything currently in the box

One tool and two data sections, all of them about the same subject. The audio and subtitle converters that used to live here have been retired; their addresses are gone rather than redirected somewhere unrelated, because sending you to a baseball table when you came looking for a subtitle converter would waste your click and answer nothing.

  • MLB Season Stats — Every Major League hitter and pitcher since 1871 — not just the leaders. Pick a season, sort any column, search a name. One small file per season, nothing else.
  • MLB player careers — Follow one player instead of one season: every year he appeared, with career and league-by-league totals underneath. Everybody who has ever played is in here, not just the famous ones.
  • Compare two players — Put two careers on one screen: a six-sided shape for each man, measured against the players he actually faced, and then the exact numbers underneath. The address bar keeps whichever pair you picked.

Comparing two of them arrived this week, which is why it is in the list above rather than in this paragraph. Season and league landing pages are still to come, and they will appear here when the pages exist and not before: the front page only ever links to things you can actually open.