What this page is
Every player on this site is scored from the minor-league record this database actually holds. That is supposed to be a neutral fact about data coverage, not a judgment about the player. For one specific, narrow kind of record, it stopped being neutral: a handful of players whose real careers started before the database’s coverage began were being scored as if the single fragment on file was the whole record — and scored well, because a short, hot, single-season line reads as flawless when there is nothing earlier to average it against.
This page is about how that was found, why it took three separate fixes rather than one, and what the badge you may now see on a player’s page actually means.
The mechanism
Clint Hurdle’s entire record in this database is one season: 1977, Triple-A, 539 plate appearances, age 19. No Rookie ball, no A-ball, no Double-A — the ladder every other player climbs simply isn’t there for him. That is not because he skipped it. Hurdle was drafted in 1975 and had two full minor-league seasons before 1977. Those seasons are real. They are just not in this database — its primary source runs from 1978 forward, and a second, supplementary source (TheBaseballCube) extends that back by exactly one year, to 1977. The database’s true floor is 1977, not 1978 — a gap in the site’s own documentation this investigation also closed. Anyone whose real record starts earlier than that shows up the same way Hurdle does: a record that begins abruptly, mid-ladder, with nothing behind it, misread as a complete one.
A recent change to this model’s reliability constant (K_bat, covered in a companion piece on the same episode) made this failure mode visible for the first time. That constant controls how much a player’s own batting-average and walk-to-strikeout numbers are trusted, scaled by how many plate appearances back them up: rel = PA / (PA + K_bat). Lowering K_bat to zero means rel = 1 for any amount of playing time — a real, measured improvement across the board (it is what let this site stop discounting fast risers for the crime of having short, excellent records). For Hurdle, it meant his single 539-PA season got full, unshrunk weight: rel = 539 / (539 + 0) = 1.000000. His batting average and walk-to-strikeout numbers — both outstanding, both drawn from one hot half-season with no larger sample to regress toward — fed the model’s impact estimate at full strength. Those two numbers alone accounted for 26.4 of his 30.2 projected wins above replacement — about 87% of his entire impact score. The model didn’t hedge, because nothing told it to. Nothing in his record looked incomplete. It was.
The honest turn
Here is the part worth saying plainly, because it would be easy to write this page as “the model was wrong and we fixed it.” That is not what happened.
Given only what this database could see, the model was not wrong. Clint Hurdle really was the consensus best prospect in baseball going into 1978 — the record backing that up predates this database, but the historical judgment is real and well documented; his rookie card and a Sports Illustrated cover both said as much at the time. A model that reads a spectacular, unregressed 539-PA line and rates the player who produced it as the best prospect on the board is doing exactly what it is built to do. The record was genuinely excellent. It was also genuinely incomplete, in a way the model had no way to know.
That distinction is the whole point of this page. This is a coverage fix, not a scoring correction. Nothing about how the model weighs batting average, walks, or strikeouts changed because of Hurdle. What changed is which records the model is allowed to treat as trustworthy inputs to begin with.
The foil: a record that looks the same and means the opposite
The first version of a fix for this used the wrong signal. Robin Ventura’s first row in this database is also a single, short season at Double-A — 1989, 563 plate appearances, one level, no Rookie ball or A-ball recorded either. On the surface, that is the identical shape as Hurdle’s record: a mid-ladder start, one season, nothing earlier on file.
It means the opposite. Ventura was one of the most decorated college hitters ever to play the game — a first-round pick out of Oklahoma State who set an NCAA record with a 58-game hitting streak — and he was simply good enough to jump straight to Double-A and reach the majors within a year. Nothing about his record is missing. The short record is the record, and starting that high is a real signal of a special hitter, not a gap in the data. (His own top comp in this database, fittingly, is Wade Boggs.)
A detector built on level alone — “flag anyone whose record starts at Double-A or higher” — cannot tell these two players apart, and would have pulled Ventura’s genuinely excellent, complete record out of the model right alongside Hurdle’s genuinely incomplete one. The first draft of the rule used a proximity test instead — flag anyone whose record starts within two years of the database’s 1977 floor — on the theory that a record starting in, say, 1979 was suspiciously close to the edge. A twenty-player hand-check against real draft records found that rule wrong 11 times out of 15 (73%). Most players whose record starts in 1978 or 1979 are exactly what Ventura is: legitimate fast risers, not censored records. The rule was narrowed to the one thing that actually distinguishes the two cases — the exact year the data floor sits at, 1977, not a window around it. Hand-checked again at that narrower definition, against 20 real players’ actual draft years pulled from the MLB Stats API: zero false positives out of 11 checkable cases.
Why three separate fixes were needed
The most interesting engineering point in this whole episode is that “detect the bad records and fix the model” turned out to be three different jobs, not one.
Fix one and two: keep bad records out of the model’s learning and out of everyone else’s yardstick. A flagged record has to come out of the pool of records the coefficients are fit on — otherwise the model learns, from Hurdle and players like him, that an unregressed single season is a trustworthy predictor, and that lesson gets applied to every player on the board, not just the flagged ones. It also has to come out of the reference pool other players are percentile-ranked and standardized against, for the same reason: a handful of artificially inflated single-season lines skews the yardstick for everyone measured against it.
Neither of those touches the flagged player’s own score. This is the part that is easy to miss. Excluding Hurdle from the fit and from the reference pool protects every other player’s number. It does nothing to his own rel = 1.0, his own bat-feature inputs, or his own resulting rank — because those are computed directly from his record, not from the pool. Testing this directly confirmed it: with both exclusions in place, Hurdle still ranked first overall.
So a third, different fix was needed: withhold, don’t invent. The tempting shortcut — force rel down for a flagged player, so his own thin record gets discounted the way a genuinely short career should — was considered and rejected. Doing that would build a different untrustworthy number off the same incomplete record, and that number would need its own validation before anyone could trust it either. Instead, flagged players are withheld from every ranked and discovery surface — the Top 100 board, the default browse sort, team farm rankings, the Blind Spots page — while staying fully searchable by name, with an intact player page. No score is invented. The site simply stops presenting a number it cannot stand behind as a ranking, while continuing to show it, honestly labeled, to anyone who goes looking for that specific player.
Verified on the live board: ranked by raw projected value with nothing withheld, Clint Hurdle still sits 1st overall on a 2.78-real-career-WAR season — a number this site’s own internal quality check rejects on sight. Withhold him from the ranking the way a visitor actually sees it, and that same check passes clean.
What the badge means
If you see “Partial minor-league record” next to a player’s name, it means that player’s first recorded rookie-eligible season is 1977 — this database’s true floor — at Double-A or Triple-A, with no lower level ever on file. It is not a judgment about the player. It usually means his real career started before this database’s coverage does, the way Clint Hurdle’s did.
That player is fully searchable, and his page is intact — every number on it is the same honest calculation as anyone else’s, built from the record this database actually has. What he will not do is appear on the Top 100 board, the default browse list, a team’s farm rankings, or the Blind Spots page, because none of those surfaces can currently tell his short, real fragment apart from a short, complete record the way a careful reader now can.
The honest limits
The 1977 cutoff is exact, not a buffer. It only catches players whose first-recorded season is 1977 itself. A player whose real career began in, say, 1974 but who first appears in this database in 1980 — mid-ladder, for whatever reason — will not be caught by this rule. Widening it safely needs real draft- or signing-year data ingested at pipeline scale, not another year-proximity heuristic; the 73%-false-positive result above is exactly what happens when that shortcut is tried.
The broader exclusion rule costs real, clean records too, and that cost is accepted on purpose. The fit and reference-pool exclusion uses a wider, blunter rule than the display badge — any record starting in 1977 at all, regardless of level — because a false exclusion from a pool of thousands is cheap, while a false inclusion is not. That wider rule drops 448 of the 9,873 players in this site’s reference pool (4.5%) from the coefficient fits, and it catches real, complete careers along with genuinely censored ones. Wade Boggs and Rickey Henderson are both in that wider set — their own first-recorded seasons are also 1977 — but neither one’s record starts mid-ladder, so neither is flagged by the narrower display rule. They keep their ranks, and neither one carries the badge.