About

About MLBAnalytic

MLBAnalytic runs its own numbers on public baseball data, shows the math, and tries not to oversell what any of it means.

MLBAnalytic publishes under its own name, not a person’s. It is owned by an independent publisher who also runs several other websites; they are listed on how this site is made, which also explains how the articles are made: from public data and the sources named in each piece, under the owner’s direction. No article describes anyone’s personal experience of the game. Where a piece says “we,” it means the site.

The one promise the site makes: every data-driven piece shows its work. If a statistic appears here, it came from a real pull on a specific date — not from memory, not from a screenshot, not from a number half-remembered as roughly right. Forty of the pieces go further and close with a “Reproduce it” section that names the dataset it used, the date it was pulled, and the exact arithmetic applied to it — and for those, the dataset itself is served from this site, so you can do the same arithmetic on the same file and land in the same place. The rest run on Baseball Savant and Baseball-Reference leaderboards that aren’t the site’s to redistribute; those exhibits name their source and retrieval date instead. When a reader catches a mistake, it gets fixed and the page says so.

What the site is skeptical of, and what you’ll see it poke at a lot: any single number that promises to end an argument. WAR is an estimate stacked on estimates. A lot of “clutch” is noise wearing a narrative. Small samples lie constantly, and most hot streaks are regression waiting to happen. The honest version — here’s what the metric can tell you, here’s where it falls apart — is more interesting than pretending the spreadsheet has the last word. Baseball is too weird for that.

Editor

C. B. Zakarian (a pen name) is the owner and editor of MLBAnalytic. C. B. Zakarian holds a Ph.D. in Information Systems, with a focus on data science, from the University of North Carolina at Greensboro (2016), and is an assistant professor.

Since October 6, 2026, every new piece on MLBAnalytic is read and approved by C. B. Zakarian before it is published. Pages published earlier are being reviewed in weekly batches, and each reviewed page shows the date of its review.

Methodology & data sources

The site leans on a small set of trustworthy, public sources:

  • Baseball Savant (Statcast) — pitch- and batted-ball-level tracking data: exit velocity, barrels, expected stats (xBA/xSLG/xwOBA), pitch types and spray coordinates.
  • The MLB Stats API — the same public feed that powers MLB’s scoreboards: standings, season totals back to the 1900s, schedules, and play-by-play win probability.
  • Baseball-Reference (via pybaseball) — the historical record, OPS+, and Baseball-Reference WAR.
  • Retrosheet and the Lahman database — deep historical play-by-play and season data for long-run questions.

The rules are simple. Historical facts, formulas, and rule changes are stated directly — those don’t move. But anything presented as a current or recent-season statistic comes from an actual pull, captioned with its source and retrieval date. When a source is unreachable, the page carries a visible note rather than a guessed number. Charts are computed with Python and matplotlib from the fetched data — never mocked up to look right.

How to read the data notes

Tables and charts carry a caption like “Source: Baseball Savant, retrieved June 2026.” That date matters more than people think, because leaderboards change every night the season is live. The bundled datasets — the ones behind the 40 pieces with a “Reproduce it” section — are served from this site. Start with SOURCE.txt, which names every bundled file and documents where it came from and when; each file is then fetchable at /data/data_layer/<filename> (the directory itself doesn’t list, so use the filenames in SOURCE.txt). Every data piece quotes the exact pull and computation in its “Reproduce it” section. Those notes also name the build module that drew a given chart — charts/chart_run_environment.py and the like. Those modules are the site’s build toolkit and are not published; what is published is the data they read, which is the half you need to check the number.

Who runs the site

MLBAnalytic is independent: no team, league, broadcaster or data vendor has any say in what is published, and none pays for a conclusion. The site may carry display advertising in the future; it does not today. The full disclosure — the owner’s other websites, how the articles are made, and how the numbers are checked — is on how this site is made. Questions and data requests: contact@mlbanalytic.com.

Corrections

Errors here get fixed in public. If a figure on this site is wrong, send the article and the number you think it should be; because every figure traces to a named file and a stated calculation, checking a correction takes minutes rather than an argument. When a piece changes materially the page says what changed and when, and the dated caption on the exhibit moves with it.