Baseball reports for useful questions

Baseball is a truly beautiful game that defies time; a game in which no matter how poorly you have played you can get hot in the ninth and the game does not end until your last out. It is a game of numbers, but not a game of numbers alone. It is a game of deep history, of strange twists and of human accomplishment. It is a sport where the greatest heroes are not necessarily good people and where the most important numbers are not easy to find. And it's a sport where sometimes by digging into the numbers, you can find truths about those heroes and those accomplishments that you may not have found out otherwise.

But the most beautiful part of baseball is that you can enjoy it to whatever level you prefer. Are you in the mood to spend a nice summer afternoon outside in a lively environment with a beer? Baseball provides. Are you in the mood to frantically keep score with a pencil and scorecard trying to keep up with the numbers so you can second guess everything your team's manager does? Or are you in the mood to write a custom scraper in hopes of securing a 3% advantage in your fantasy league's draft? Baseball also provides.

Most reports here will start as practical questions: payroll simulations, fantasy baseball draft problems, prospect filters, roster weirdness, or baseball economics claims that sound tidy until you look at the data. Some of my reports will be for my long suffering fantasy team (1 E 161s!) whereas others will be for the joy of digging into a problem I find interesting.

Featured reports

MLB Salary Cap and Floor Simulation

This report applies a proposed MLB salary cap and salary floor to current public payroll estimates and standings. It asks what would happen if the reported numbers were applied to current team spending and looks at the question of competitive balance through the perspective of adding or trimming payroll.

The results show a few things. First off, the owners made a good decision to add a long ramp up period in their May 28 offer. The ramp up gives teams time to adjust... in some cases 'adjust' means more than doubling the payroll on a team that is currently doing very well, or dramatically shrinking the payroll for teams that are not constructed well enough to recover from such moves. The results also make me question the competitive-balance claims of the proposed cap and floor, simply because at least this early in the 2026 season, I'm not seeings signs that high spending improves standings all that much. Instead though, the one thing I do see is that with this proposed cap and floor, total year over year inflation in salaries would be just over $3 million. And I cannot recall an offseason where the total payroll inflation was that low.

I don't think we're going to see baseball in 2027.

MLB Payroll Versus Wins

This report compares MLB opening day payrolls with regular season records from 2015 through 2025. It asks whether spending more money reliably produces more winning, then checks that question against payroll rank, record rank, playoff results, cost per win, and wins per $100 million.

The 2020 season is included by default, but the report includes a toggle to remove it because a 60-game season can bend raw win totals into weird little shapes. The headline correlation uses winning percentage so the shortened season does not get to sit on the scale and pretend it is normal.

The results are useful because they show that payroll matters, but it is not destiny. Expensive teams can disappoint, low-payroll teams can win, and baseball remains very rude to anyone who wants one tidy explanation.

MLB Pitches per Plate Appearance

This report rebuilds a 2012 question about MLB pitches per plate appearance and extends it through 2025. It asks whether batting pitches per plate appearance kept rising, flattened out, or turned into one of those baseball claims that sounds much larger than the data says it is.

The report includes a simple browser-rendered chart, summary cards, featured examples, and a season table showing league-average P/PA, the highest team, the lowest team, and the spread between them.

The trend is real, but the increase is modest. That makes it a useful starting point for a better question: what does seeing more pitches actually mean?

Does Taking More Pitches Help MLB Teams?

This report follows the P/PA trend report by asking whether teams that see more pitches actually hit better or win more. It compares team batting P/PA with strikeout rate, walk rate, batting average, OBP, OPS, runs per game, win percentage, run differential, and playoff results.

The results make the old patience slogan more complicated. Higher P/PA is strongly associated with strikeouts, somewhat associated with walks, and only weakly associated with OPS, runs, or winning.

That does not mean patience is useless. It means P/PA is a crude proxy. Good patience and passive hitting can look similar if you only count pitches.

MLB Attendance and the 1994 Strike

This report looks at MLB attendance before and after the 1994-1995 strike using Lahman HomeGames data from 1985 through 2005. It compares total attendance with attendance per opening so the strike-shortened 1994 season does not tell the whole story by itself.

The key finding is that raw attendance fell in 1994 because the season stopped, but there was a deep wound left that shows up in 1995 when attendance dropped sharply from the 1993 season.

The report treats 1998 carefully because MLB had expanded from 28 teams to 30 teams. The fans came back, but the raw total needs expansion context. And if you account for that expansion context, you can make the point that baseball attendance didn't actually rebound until 1999 or even 2000.

Built from public data

These reports combine public baseball data, local JSON files, and browser-side presentation code. The pages then turn that data into summary cards, featured examples, filters, and full accessible tables. If you would like the data, you can open your browser's developer tools and borrow the JSON.

They are deliberately presented as reports, simulations, or comparisons, not magic prediction machines. Each page should explain its sources, what it calculates, and what it does not attempt to calculate.

Readable and useful for all

These pages are meant to be useful without requiring an expedition through a spreadsheet. The report pages use plain explanations, summary cards, searchable tables, and source notes so the data can be checked. If you're interested in the data, you can open your browser's developer tools sand grab my json file and it's all yours. Or if you'd like the code, I'll likely put it on Github in the next few weeks. You might want to get in touch to remind me because it's baseball season and I'm a Yankees fan so I'm going through a lot right now."

The baseball gods may love chaos, but the tables should still make sense. The baseball gods definitely love blind and visually impaired readers though, otherwise they wouldn't have created a sport that is at its best when you listen to it over the radio. So these pages are designed to be screen reader friendly, with clear headings, descriptive links, my consulting company's accessibility standards and my full accessibility testing rig. If it isn't perfect, please contact me so I can make it perfect. You can't learn accessibility and call it done; it is a lifelong learning process and I want to make sure that I am learning. If you contact me about an accessibility issue, you'll hear back from me in less than 24 hours from a hluska.ca email address.

Why baseball reports?

Baseball creates wonderful data problems because of beautifully structured data. Scorecards are a science, the box score is a work of structured data as art and since games are played in public you can find many different takes on a single game. Moreover, baseball has a very long history of data collection and analysis, so I can compare players like Babe Ruth to Aaron Judge without worrying about the data being too different to compare. Eras are different, but the underlying structure of the data makes this a much more solveable problem than it would be in a sport like hockey or basketball.

That makes baseball a useful playground for structured data work. The same habits that make a good developer tool also make a good baseball report: clear inputs, visible assumptions, repeatable calculations, accessible output, and enough explanation that someone else can tell what happened. But even better, baseball fans are passionate and I know that I'll hear from a lot of you if/when I get something wrong. So it's a rare opportunity to dive into data that people care strongly about.

These reports will usually be smaller than full research projects, but more structured than blog posts. In my reports, I will keep my love of the Yankees in check and focus on the data. When I blog, I'm sorry but I've been a Yankees fan for over forty years and I can't just shut that down. So, be warned, when I blog about my favourite team you will either think I have excellent taste in baseball or I'm an idiot and that's great! Our sport is beautiful because of passionate fans and I'm one of them.

Current reports

MLB Salary Cap and Floor Simulation

A simulation of what would happen if a proposed MLB salary cap and salary floor were applied to current public payroll estimates.

Includes summary metrics, contradiction counts, featured teams, and a searchable table comparing payroll rank, record, playoff position, required payroll change, cost per win, and wins per $100 million.

MLB Payroll Versus Wins

A historical comparison of MLB opening day payrolls and regular season results from 2015 through 2025.

Includes summary metrics, a 2020 toggle, featured examples, payroll tiers, playoff filters, cost per win, wins per $100 million, and a searchable team-season table.

MLB Pitches per Plate Appearance

A historical report on MLB batting pitches per plate appearance from 1988 through 2025.

Includes a browser-rendered chart, summary cards, featured examples, and a searchable season table with league-average P/PA, highest team, lowest team, and team spread.

Does Taking More Pitches Help MLB Teams?

A team-season analysis comparing batting P/PA with offensive results and team success from 1988 through 2025.

Includes correlation cards, a 2020 toggle, featured team-seasons, a correlation table, filters, and a searchable team-season table.

MLB Attendance and the 1994 Strike

A historical attendance report comparing MLB total attendance and attendance per opening before and after the 1994-1995 strike.

Includes summary metrics, a browser-rendered chart, key season cards, season-level comparisons, team-season filters, and a searchable attendance table built from Lahman HomeGames data.

How these reports are built

The reports are static pages on hluska.ca. When a report needs generated data, that data can be saved as JSON beside the report and loaded in the browser. This keeps the page simple to host, easy to inspect, and practical to update.

These reports use a simple pattern: a low-tech Python script prepares data.json , the report page loads that file, and the browser turns it into summary cards and an accessible table.

That structure keeps the reporting honest. The page can explain its sources, the generated data can be inspected, and the final result can focus on what the numbers actually say.

All baseball reports

  • MLB Attendance and the 1994 Strike - compare MLB total attendance and attendance per opening before and after the 1994-1995 strike using Lahman HomeGames data from 1985 through 2005.
  • Does Taking More Pitches Help MLB Teams? - compare MLB team batting P/PA with strikeout rate, walk rate, batting average, OBP, OPS, runs per game, win percentage, run differential, and playoff results from 1988 through 2025.
  • MLB Pitches per Plate Appearance - extend a 2012 question about MLB batting pitches per plate appearance with league-average trends, highest team, lowest team, and team spread from 1988 through 2025.
  • MLB Payroll Versus Wins - compare MLB opening day payrolls with regular season wins, winning percentage, payroll rank, record rank, playoff results, cost per win, and wins per $100 million from 2015 through 2025.
  • MLB Salary Cap and Floor Simulation - apply a proposed MLB salary cap and floor to current public payroll estimates and standings.