Worse Than Guessing

Worse Than Guessing

Every player page prints a percentage — the odds this prospect reaches the majors at all. For the older half of the database, those percentages had drifted so far that they were less accurate than ignoring the player entirely and saying “everyone is at 58%.” Nobody had ever caught it, because the tool built to check the model rebuilt the model before checking it.

← White Papers · Published 14 August 2026 · Covers the model's frozen settings, why they expire, and a fix that looked like a fix but was only a relabel

What this page is

The Spectral Index is built in two halves: how likely a prospect is to reach the majors at all, and how good he is if he does. Both halves are equations, and every equation has settings — numbers that say how much weight to give each piece of evidence. Those settings were worked out once, written into the code, and left alone.

The database was not left alone. It grows every night.

This page is about what happened in between, and it is unusually unflattering: the settings decayed until one half of the model was emitting numbers worse than a coin weighted to the league average. It went unnoticed for months. The way it was finally found was an accident — a completely different idea failed, and the wreckage was informative.

The idea that failed first

A prospect’s score is built almost entirely out of other people. The site finds his twenty closest comparable players and reports what happened to them. His own minor-league numbers — how much he walked, how often he struck out, how much power he hit for, how fast he ran — are used to pick those twenty, and are then thrown away.

That looked like an obvious waste. The plan was to feed those four numbers into the scoring directly, so a player’s own record could speak alongside his comps.

It measured beautifully. On every summary statistic, in both halves of the data, it was the largest improvement found anywhere in this line of work.

Then someone looked at the board.

Wade Boggs fell from 681st to 1,268th. Boggs is the reason this whole line of work exists — a .328 hitter for eighteen years whom the model has always underrated. Jesus Made, the top prospect in the database, fell from 3rd to 17th. And the top of the board filled with names that do not belong there: Gregg Jefferies, a 19.6-win career, at 3rd. Rance Mulliniks, 17.0 wins, at 8th. Karim Garcia, who was worth less than nothing, at 13th. At 12th, a Joe Bruno who never played a major league game at all.

The reason, once found, was almost embarrassing. The four numbers being added were walks, strikeouts, power and speed. None of them is batting average. Boggs’s entire case is that he hit .328. Adding four statistics that say nothing about him, while helping most other players, could only push him down. The idea was thrown out.

The check that never checked anything

Diagnosing that failure meant scoring the model against reality over and over. Which surfaced something nobody was looking for.

The tool used to evaluate any proposed change works by re-deriving the model’s settings from scratch, then scoring the result. That is the right thing to do when comparing two designs — it puts them on equal footing. But it means the “current model” it compared everything against was a freshly re-derived version of the current model, not the one actually running the site.

So the settings that were live had never once been scored. Not by this tool, not by anything. They were assumed correct because they had been correct when they were written.

Worse than guessing

Scored properly — applied to players the settings had never seen, with no re-deriving — here is what was live:

how honest the reach percentages are hitters, older half hitters, newer half
what was live 0.303 0.219
after re-deriving 0.215 0.185
just guessing the league average 0.244 0.250

Lower is better. The number is the average squared miss: if a page says 68% and the player made it, the miss is 0.32, and that gets squared and averaged over everyone.

The row that matters is the first one. 0.303 is worse than 0.244 — worse than a model that ignores the player completely and prints the same league-average number on every page. For the older half of the database, the site’s percentages were not merely imprecise. They were actively worse than not trying.

Pitchers had the same disease in a milder form: 0.223 against 0.245 for guessing — still better than nothing, but well short of the 0.175 that re-deriving produces.

Notably, the ordering was never the problem. How well the model sorts players was unchanged. Only the percentages had rotted, which is exactly why nothing looked wrong from the outside.

What re-deriving fixed

No new statistic. No new input. Not one line of the comp-matching changed. The same equations, with their settings re-derived from current data:

before after
Wade Boggs 681st 307th of 39,378
Rickey Henderson 152nd 91st
Adrian Beltre 1st 1st
Jesus Made 3rd 4th

Boggs and Henderson are the two famous careers this model has always read backwards — 91 and 111 wins, both rated as ordinary prospects. Beltre is the opposite case, the one that has to not break. All three moved the right way or held.

Update · 15 August 2026. A separate, later fix to a different part of the model (how a player’s twenty closest comparables are scored, not the settings this page is about) moved these three again: Boggs to 553rd, Henderson to 48th, Beltre held at 2nd. That move is not a reversal of anything on this page — the settings re-derived here are untouched — it is a second, independent correction landing on the same three names. See The Survivor’s Median.

Update · 16 August 2026. And a third correction, again independent of this page’s subject: minor-league seasons played after a player had already established himself in the majors were counting toward his own prospect record, which is a look at the answer the model is trying to predict. Excluding them and refitting moves the same four names to Boggs 448th of 39,402, Henderson 25th, Beltre 1st, Jesus Made 8th. The settings re-derived on this page remain untouched by all of it.

Update · 16 August 2026 (later). A fourth correction, also independent of this page’s settings: the model was discounting how much to trust a player’s own batting-average and walk-to-strikeout numbers by how much minor-league playing time was behind them, on top of the season-by-season shrinkage it already does — measuring the same uncertainty twice, and penalising fastest-rising prospects hardest, since a short minor-league record is exactly what fast risers have. Removing that discount entirely and refitting moves the four names to Boggs 442nd, Henderson 17th, Beltre 4th, Jesus Made 8th. One further note for the record: Beltre’s own rank had already moved from 1st to 3rd by the time this correction was measured, for reasons outside any of the four corrections tracked on this page — most likely newer top prospects (Vladimir Guerrero Jr., Wander Franco) overtaking him, not a defect — so the fourth correction’s own effect on him is 3rd → 4th, not 1st → 4th.

Update · 17 August 2026. A fifth correction, also independent of this page’s settings: minor-league records that began before this database’s coverage does were being scored as complete, reliable ones — see Where the Data Begins. They are now excluded from the coefficient fit and the reference pool, and the model was refit accordingly. Neither Boggs’s nor Henderson’s own record is directly affected (both happen to start in 1977, but not at a level the fix’s display rule flags); Beltre’s and Made’s are not 1977-era records at all. The refit itself moves all four anyway: Boggs 361st, Henderson 15th, Beltre 4th (unchanged), Jesus Made 8th (unchanged), out of 39,413 total.

And the top of the board genuinely improved. The hundred players the new settings like best went on to careers worth about 2,646 wins between them; the hundred the old settings liked were worth 2,531. A 4.5% improvement in picking out players who turned into something. Pitchers moved the same direction, 1.6%.

What it did not fix

Across all nine thousand players whose careers are finished, the overall ordering did not improve. It came out flat — very slightly worse, in fact, by an amount too small to matter but consistent enough that it is not noise.

That deserves to be stated plainly rather than buried, because the first draft of this analysis claimed the opposite. The claim rested on the famous names above and on the top of the list, and those are not the same thing as the whole list. When the question was finally asked properly — does this order nine thousand real careers better? — the answer was no.

The reason the two answers disagree is worth knowing. Roughly 60% of the database scores zero on expected value and is sorted only by reach probability. Those players sit below rank 12,000 and nobody scrolls there, but they are the majority, so they dominate any measure of “the whole list.” The whole-list number is mostly about players nobody sees. The top-100 number is about the ones they do.

So the honest case for this change is two things, not three: the percentages were broken and now are not, and the top of the board got modestly better. The overall order is unchanged.

Which players you are allowed to learn from

One decision inside this turned out to be a trap, and it is a nice illustration of how survivorship bias hides.

To re-derive the settings you need players whose careers are finished, because you are predicting a final career total and an active player’s total is still growing. Obvious enough. The obvious next step is to use every finished career in the database.

That is wrong, and here is why. A player whose minor-league career ended in 2011 or later counts as “finished” only if he failed — because anyone succeeding right now is still playing, and still playing means not finished. The successes are filtered out by the very definition.

Measured directly: of players whose minor-league careers ended before 2001, the finished-career filter removes one player. For 2001–2010, it removes three. For 2011 and later, it removes 808 — 45% of that era’s major leaguers — and the ones it removes are the better ones, averaging 7.6 career wins against 4.9 for the ones it keeps.

The result is that the modern half of “finished careers” is modern flops with the winners deleted. Its apparent reach rate is 21%, against 42% and 58% for the older groups. Learning from it teaches the model to be pessimistic about exactly the players the site exists to evaluate.

So the settings were derived from careers that ended in 2010 or earlier, where “finished career” and “old enough to evaluate” mean the same thing to within four players.

A fix that was only a relabel

One more thing worth recording, because it was believed for several hours and it was wrong.

When a player’s own statistics are added to the model alongside his comps, something perverse happens: the model starts saying that a player’s comps doing well made his score worse. That is nonsense on its face and it would make the player page incoherent — the site’s entire premise is “here are twenty similar players and what happened to them.”

There is a standard manoeuvre for this. Instead of feeding in a player’s raw power, feed in how much more power than his comps would lead you to expect. The comp term keeps its credit; the player’s own bat gets credit only for the surprise. Applied here, it worked exactly as advertised: the offending number flipped from negative to solidly positive.

It also changed nothing. Every player’s score was identical to fourteen decimal places — which was reported, in the same breath, as proof the manoeuvre was safe.

Both cannot be true. If no prediction moves, the model’s behaviour has not moved either. The manoeuvre is an exact rewriting of the same equation; it changes which line gets the credit on a printout and nothing else. Two players with identical statistics, one with better comps, still got the lower score afterward. The coefficient table looked defensible and the model underneath was untouched.

The lesson generalizes past this site: if a fix provably changes no output, it has not fixed any behaviour. It has changed the description of the behaviour. Sometimes that is worth doing. It is never worth mistaking for the other thing.

What this cost, and what is still open

The percentages on every player page are now derived from current data rather than from a snapshot months old. Two famous careers the model misread are read less badly. The top of the board is modestly better at finding players who panned out. The overall ordering is unchanged, and the four-statistic idea that started all this is dead.

Left open, and worth being honest about:

  • The settings will expire again. About 58% of the improvement came not from fixing how they were fitted but simply from using current data, which means the drift regrows as the database grows. Re-deriving needs to become a deliberate, reviewed, versioned act on some sensible cadence — not something that quietly happens every night, which would make every number on the site un-reproducible and ship a ranking change nightly with nobody looking.
  • The check that missed this needed rebuilding, and now includes the board itself. Summary statistics passed the failed idea with flying colours while it was putting a player who never reached the majors 12th. There are now explicit checks on how much the board churns, whether known-bad careers crowd the top, and whether the ordering tracks real career outcomes — that last one being the check that should have existed first and did not.
  • The pitcher version of that top-of-board check is still wrong. It flags six pitchers in the top 25 with poor careers — Rick Ankiel, Joel Zumaya and others — but they are in the current top 25 too, so it is failing the incumbent, which means it is measuring the wrong thing. Pitchers fail by injury and lost command rather than by not being good enough, and the check was written for hitters.

The general standard

The same three every scoring change here faces, plus one this episode added. Walk it through real named players from beginning to end. Fit it on history it can see and test it on history it cannot, in both directions. Run it against eighty randomized versions of itself. And — new, and learned the hard way twice now — open the actual page before believing any of it.

← Back to White Papers

Prospect Wavelength is not affiliated with MLB, nor with any of their digital properties. Email any questions, comments, or concerns to stealofhome@prospectwavelength.com