The Evidence

The verdict is NOT YET. The six signals behind it are on the verdict page and his path against both groups is on Progression. This page asks the question underneath both: what actually separated the two groups.


What separated them

The groups did not differ by luck. They differed by the same traits the scorecard tracks, which is why those six are the six.

Lasted

Elite exit velocity, power to all fields, controlled strikeouts, and they stayed on the field. At 31, none of them showed erosion in any of it.

  • Nelson Cruz129 OPS+ or better every year from 33 to 40, peaking at 171 at 39
  • David Ortiz164 OPS+ at 40, with 38 home runs and a .315 average
  • Paul Konerko39 home runs and a .312 average at 34
  • Frank Thomas39 home runs and a 140 OPS+ at 38
  • Edgar Martinez139 OPS+ or better every year from 35 through 40, with 37 home runs at 37
  • Jim Thome42 home runs at 35, then 35 and 34 in the two seasons after
  • Fred McGriff30 home runs and a 125 OPS+ at 38

Collapsed

Pull-only power with no fallback, rising whiffs, or an injury cascade. The erosion was visible by 31.

  • Ryan HowardA 126 OPS+ at 31, then the Achilles tore on the last play of that October and he topped out at 115 across five more seasons
  • Chris DavisA 49 OPS+ at 32, two years after signing for seven years and $161M
  • Mark TeixeiraStill a 144 OPS+ at 35 but only 111 games, then 74 at 36 and done
  • Jose Abreu134 OPS+ at 35, then 87 at 36 and a .124 average at 37
  • Edwin EncarnacionPull-heavy exception: 34 home runs and a 131 OPS+ at 36, then 70 at 37
  • Prince FielderRan a 547-game streak, then two neck surgeries 26 months apart ended his career at 32
  • Adrian GonzalezA 130 OPS+ at 33, then 70 at 35, released 54 games into his age-36 season and never seen again

Where Alonso sitsHe matches the hitters who lasted on all six signals.

Fourteen players, seven per group, chosen to illustrate two archetypes rather than sampled at random. That was assumed to make the two paths look more distinct than a full population would. Measured against the 164 the inclusion rule admits, it ran the other way: the curated pair spans 6.9 to 17.0 wins where the pool's quartiles span 0.4 to 22.6, so the hand-picked set understated both ends. It is no longer the largest caveat on this page, because the pool below measures what it used to only assert.

What these terms mean
OPS+
An older park-and-era-adjusted measure of a hitter, built from how often he reaches base and how much power he shows. 100 is average.

The formulas behind them are on The Formulas.

Where every line above comes from

Ages follow the Baseball-Reference convention, age as of 30 June. Two of these facts were wrong when this page first shipped, and they lasted as long as they did because nothing recorded where they came from. Each one is now checkable.

Nelson Cruz
Baseball-Reference standard batting table, cruzne02, 2014 to 2021: 137, 159, 147, 149, 135, 168, 171, 129 across ages 33 to 40. The 147 aggregate this previously claimed was a StatMuse composite that cannot be recomputed from season figures, so the sentence now states the floor and the peak, both of which can.
David Ortiz
Baseball-Reference standard batting table, ortizda01, 2016, age-40 season: 164 OPS+, 38 home runs, .315 in 151 games.
Paul Konerko
Baseball-Reference standard batting table, konerpa01, 2010, age-34 season: 39 home runs and .312, both unchanged in the move from StatMuse. His career high of 41 came at 28, not at 34.
Frank Thomas
Baseball-Reference standard batting table, thomafr04, 2006, age-38 season: 140 OPS+, 39 home runs, .270.
Edgar Martinez
Baseball-Reference standard batting table, martied01, 1998 to 2003: 158, 152, 158, 160, 139, 141 across ages 35 to 40. The floor read 141 under StatMuse and reads 139 here, so the claim was lowered to match rather than kept at a number the source no longer supports.
Jim Thome
Baseball-Reference standard batting table, thomeji01, 2006 to 2008, ages 35 to 37: 42, 35 and 34 home runs, unchanged in the move from StatMuse.
Fred McGriff
Baseball-Reference standard batting table, mcgrifr01, 2002, age-38 season: 125 OPS+, 30 home runs, .273. Both figures were already identical under StatMuse. The clause calling it his tenth and last 30-homer season was dropped: it is a career-long count and the table collected here runs only from 28, so nothing on hand could check it.
Ryan Howard
Baseball-Reference standard batting table, howarry01, 2011 to 2016, ages 31 to 36: 126, 91, 115, 92, 96, 85. Both figures moved: 123 to 126 at 31, and the ceiling across the five seasons after from 111 to 115. The Achilles went on the final out of the 2011 NLDS, in his age-31 season, not at 32.
Chris Davis
Baseball-Reference standard batting table, davisch02, 2018, age-32 season: 49 OPS+, 16 home runs, .168. Contract signed January 2016.
Mark Teixeira
Baseball-Reference standard batting table, teixema01, 2015 to 2016: 144 OPS+ in 111 games at 35, then 74 in 116 games at 36. The games figure was already right; both rate figures moved by a point or two.
Jose Abreu
Baseball-Reference standard batting table, abreujo02, 2022 to 2024: 134 OPS+ at 35, 87 at 36, and .124 with a 3 OPS+ in 35 games at 37.
Edwin Encarnacion
Baseball-Reference standard batting table, encared01, 2019 to 2020: 131 OPS+ and 34 home runs at 36 across two clubs, then 70 at 37. The age-36 line is his season total; his traded-to stint alone was 13 home runs, which is what a careless read of the table returns.
Prince Fielder
Fox Sports, streak ended at 547 games in May 2014; ESPN, second cervical fusion July 2016 after which he was not cleared to play. Baseball-Reference standard batting table, fieldpr01, 2016, confirms the age-32 season as his last: 65 OPS+ in 89 games. This entry cites no OPS+ figure and so needed no correction.
Adrian Gonzalez
Baseball-Reference standard batting table, gonzaad01, 2015 to 2018: 130 OPS+ at 33, 70 at 35, and 54 games at 36, the games figure unchanged. Ages come from the table directly now; under StatMuse they had to be recomputed from his 8 May 1982 birthdate, which labelled these seasons two years older than they were.

The counterexampleDurability lowers cliff risk but cannot erase it. Prince Fielder ran a 547-game streak, longer than Alonso’s, and two neck surgeries 26 months apart ended his career at 32.


Every one of them, season by season

Alonso against the best, middle and worst quarters of every hitter the rule admits, with any individual you care to add on top, season by season, from 28 until each hitter’s last. The shaded years are the ones this contract buys. His line is solid where it is measured and dashed where it is the projection published at signing, and it stops at 35 because the deal does.

OPS+ by age for Pete Alonso and the 164 comparable hitters, ages 28 to 43. The full figures are in the table below. -202060100140180league average28293031323334353637383940414243ageTop quarter, averageMiddle half, averageBottom quarter, averageTop quarter, averageMiddle half, averageBottom quarter, averageFrank ThomasAlbert PujolsBarry BondsJeff BagwellMike PiazzaManny RamirezMiguel CabreraJoey VottoFred McGriffVladimir GuerreroJason GiambiTravis HafnerLance BerkmanTodd HeltonKen Griffey Jr.Jim ThomePaul GoldschmidtWill ClarkAlex RodriguezAlbert BelleBrian GilesGiancarlo StantonMark McGwireChipper JonesJose AbreuRyan BraunCarlos DelgadoPrince FielderRyan HowardBobby AbreuGary SheffieldMo VaughnFreddie FreemanJosh DonaldsonJ.D. MartinezKal DanielsAdrian GonzalezAndrew McCutchenDavid WrightTim SalmonMatt HollidayJoe MauerLarry WalkerBuster PoseyEdgar MartinezJosh HamiltonJohn OlerudDavid OrtizShin-Soo ChooJuan GonzalezMark TeixeiraAdam DunnRafael PalmeiroNomar GarciaparraDavid JusticeHanley RamirezJason BayGeorge SpringerRyan KleskoBobby BonillaJohn KrukRandy MilliganScott RolenChase UtleyBernie WilliamsMatt CarpenterAnthony RizzoEvan LongoriaAnthony RendonMagglio OrdonezRichie SexsonMike NapoliKevin MillarErubiel DurazoMatt KempKhris DavisRobinson CanoJeromy BurnitzShawn GreenCarlos PenaMike MorseNick JohnsonJustin MorneauYoenis CespedesKevin YoukilisJose AltuveRay LankfordCliff FloydJim EdmondsJay BuhnerBrandon BeltAndre EthierChris HoilesDerrek LeeRusty GreerJose BautistaShane MackCarlos QuentinCarlos SantanaTroy TulowitzkiJack CustMike SweeneyIchiro SuzukiMatt WilliamsJustin BourMoises AlouVictor MartinezLucas DudaTroy GlausJustin UptonChris DavisMorgan EnsbergTrot NixonDerek JeterKendrys MoralesCraig BiggioPhil NevinWally JoynerGrady SizemoreMark GraceGeoff JenkinsJohn ValentinRyan ZimmermanCorey DickersonBobby HigginsonHunter PenceJeff ConineRon GantJosh WillinghamCarlos GonzalezHal MorrisRaul MondesiReggie SandersBernard GilkeyMilton BradleySammy SosaPat BurrellTino MartinezCurtis GrandersonRyan LudwickBrad HawpeEdwin EncarnacionRoberto AlomarDan UgglaNick SwisherPaul KonerkoCarlos BeltranEric ChavezDave MagadanRobin VenturaDavid PeraltaJustin TurnerEllis BurksCorey HartCorey KoskieBilly ButlerBarry LarkinKenny LoftonYasmani GrandalBrandon MossJorge PosadaNelson CruzStarling MarteJayson WerthAlonso

Alonso, in ink, measured then projected. Top quarter of the pool. Middle half. Bottom quarter.

The scale stops at 200, which fits everything drawn here and cuts the very top off 4 of the 164 hitters you can add: Barry Bonds, Mark McGwire, Matt Carpenter and Sammy Sosa. Their best seasons run past the top of the plot. The floor is not capped the same way, because a season below zero is the thing this page is about and hiding one would cost the argument.

Who is in this pool, and why

Every hitter is admitted by the same rule, written down before any curve was looked at. A hitter is in if, through his age-30 season, he cleared all of:

  • a plate-appearance-weighted OPS+ of 115 or better, which is well above average and is also the measured floor of the fourteen this site published before the pool existed
  • at least 1,500 plate appearances, so the rate means something
  • a debut in 1986 or later
  • an age-35 season that has already happened on the calendar, whether or not he played it

Nothing in the rule looks at age 31 or later. The window this page asks about is 31 to 35, and a rule that admitted hitters on what they did inside it would build the bands out of the answer. That last clause is a calendar test rather than a performance one for the same reason: requiring a hitter to have actually played five more years would drop 46 hitters who ended their careers inside the window, which in a study of decline means dropping the hitters who declined.

There is no condition on position, because the comparison is offensive production. The admitted 164 break down as 44 at 1B, 30 at RF, 29 at LF, 19 at 3B, 14 at CF, 9 at C, 7 at SS, 6 at DH, 6 at 2B.

Choose which hitters to draw

The three group averages start drawn, because Alonso against them is the comparison this page is for. Individual hitters start off: 164 lines at once is not a chart. Add whoever you want on top. Alonso cannot be turned off, because placing him is the point.

And a caveat the rule does not fix, which runs against him. The debut floor constrains when a hitter arrived, not when his ages 31 to 35 happened, so those windows are spread across four decades and are not evenly distributed. 23 of the 41 hitters in the top quarter had their window in 1995-2004, and mean production across the window falls from 13.8 wins for that group to 6.9 for the 37 whose window fell in 2015-25. Both figures are already adjusted against their own league, so this is not raw offence. Alonso's window is 2026 to 2030, at the recent end rather than the rich one, and the ceiling above is built mostly from the other end.

Part of that gap is the schedule, and it would be dishonest not to say so. 26 of the 37 hitters in that most recent group have 2020 inside their five years, and 2020 ran 60 games. Scale the shortened seasons up to a full one and their mean rises from 6.9 to 7.5, against 13.9 for 1995-2004 on the same treatment. The decline is still most of what it looked like, but about half a win of it is a season nobody got to play. Every other figure on this site is the real one, unscaled, because a club that got 60 games got 60 games of value.

Worth knowing what this changes and what it does not. These curves are OPS+, which is offence alone, so a shortstop's line is a fair comparison and the filter only narrows the list. The bands under the chart are WAR, which is not position-neutral: it credits defence, and a third of the top quarter here were up-the-middle fielders. Restricted to the 50 first basemen and designated hitters, the ceiling is 21.8 wins rather than 22.6 and the floor -0.5 rather than 0.4. Less than a win, so the published figures stay on all positions, where each outer band averages 41 hitters instead of 12.

Top quarter 41 hitters, 11 at 1B or DH
Middle half 82 hitters, 25 at 1B or DH
Bottom quarter 41 hitters, 14 at 1B or DH

A dot marks one of the fourteen hitters this site picked by hand before the pool existed. Eleven of them land above the 54th percentile of the pool and the other three at the 13th, 1st and 0th, with nothing in between. Ryan Howard and Chris Davis are the two worst outcomes of all 164. That gap is what made them worth replacing as the basis for the bands.

Show the data as a table
OPS+ by age for the three group averages and every hitter drawn on the chart
Hitter28293031323334353637383940414243
Top quarter, average13814914114314313913512912312011711910493129no hitters at this age
Middle half, average134136131125117118111117107107103103111no hitters at this ageno hitters at this ageno hitters at this age
Bottom quarter, average124132124101100909392no hitters at this ageno hitters at this ageno hitters at this ageno hitters at this ageno hitters at this ageno hitters at this ageno hitters at this ageno hitters at this age
Pete Alonso123122144146137129121112no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Frank Thomas1781811261251639411914615613114012597no seasonno seasonno season
Albert Pujols1921891731481381161261181138091927989151no season
Barry Bonds206183170188170178156188259268231263174156169no season
Jeff Bagwell17816815816415214013512811694no seasonno seasonno seasonno seasonno seasonno season
Mike Piazza18515213515514813812610910412295no seasonno seasonno seasonno seasonno season
Manny Ramirez186162184160152153165126166155138no seasonno seasonno seasonno seasonno season
Miguel Cabrera1791641901501691559312897104958087no seasonno seasonno season
Joey Votto177156125174160167126951071398997no seasonno seasonno seasonno season
Fred McGriff1651441571191201061111421101441259953no seasonno seasonno season
Vladimir Guerrero15615715413814713010711998no seasonno seasonno seasonno seasonno seasonno seasonno season
Jason Giambi153187199172148901611481071289298140758348
Travis Hafner1681811206912013012812087no seasonno seasonno seasonno seasonno seasonno seasonno season
Lance Berkman16014316313016014011216412692no seasonno seasonno seasonno seasonno seasonno season
Todd Helton14816516514411713399128871178989no seasonno seasonno seasonno season
Ken Griffey Jr.150139133124103145123144991191029730no seasonno seasonno season
Jim Thome14213217019715414485155150124117182131112no seasonno season
Paul Goldschmidt133142142115145141177120100101109no seasonno seasonno seasonno seasonno season
Will Clark148118141123101128126128145no seasonno seasonno seasonno seasonno seasonno seasonno season
Alex Rodriguez131173134176150138123119111113no season12958no seasonno seasonno season
Albert Belle177158116172143109no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Brian Giles15715715017714512814710711013852no seasonno seasonno seasonno seasonno season
Giancarlo Stanton13013814513611287116155100no seasonno seasonno seasonno seasonno seasonno seasonno season
Mark McGwire176225138200196170216177203105no seasonno seasonno seasonno seasonno seasonno season
Chipper Jones142160153137116151154165176117120121124no seasonno seasonno season
Jose Abreu135124141117118165124134873no seasonno seasonno seasonno seasonno seasonno season
Ryan Braun158136113131135111107116101no seasonno seasonno seasonno seasonno seasonno seasonno season
Carlos Delgado181146147161129161131102128143no seasonno seasonno seasonno seasonno seasonno season
Prince Fielder15112210212665no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Ryan Howard12514112712691115929685no seasonno seasonno seasonno seasonno seasonno seasonno season
Bobby Abreu15113614512612611312011811810594no season97no seasonno seasonno season
Gary Sheffield13415514017616413816214113710711990119no seasonno seasonno season
Mo Vaughn150152153119115no season11473no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Freddie Freeman139135187136156163141143130no seasonno seasonno seasonno seasonno seasonno seasonno season
Josh Donaldson1271511531481191261321279378no seasonno seasonno seasonno seasonno seasonno season
J.D. Martinez14216817313979128117136105no seasonno seasonno seasonno seasonno seasonno seasonno season
Kal Daniels95no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Adrian Gonzalez1521551171251311301117088no seasonno seasonno seasonno seasonno seasonno seasonno season
Andrew McCutchen144104123120116102109971121069459no seasonno seasonno seasonno season
David Wright115144156101126113no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Tim Salmon1341421191359813312267no season109no seasonno seasonno seasonno seasonno seasonno season
Matt Holliday13814014915113814212712110795116no seasonno seasonno seasonno seasonno season
Joe Mauer10214014210798104115100no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Larry Walker131116178158164110160151121154130no seasonno seasonno seasonno seasonno season
Buster Posey13311512710883no season140no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Edgar Martinez13816410012218516716515815215816013914192no seasonno season
Josh Hamilton9017013014110811594no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
John Olerud13516312911713614010794106no seasonno seasonno seasonno seasonno seasonno seasonno season
David Ortiz145158161171124102137154173159141140164no seasonno seasonno season
Shin-Soo Choo1071291451001259910011410999no seasonno seasonno seasonno seasonno seasonno season
Juan Gonzalez1491411161489912297no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Mark Teixeira1521411241211156810114474no seasonno seasonno seasonno seasonno seasonno seasonno season
Adam Dunn13114413854114105115no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Rafael Palmeiro150136145132113144160138141146117108108no seasonno seasonno season
Nomar Garciaparra127121113971208010785no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
David Justice14711813715811412413999111no seasonno seasonno seasonno seasonno seasonno seasonno season
Hanley Ramirez10518913389126959064no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Jason Bay94134134105974897no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
George Springer1141501411411321029116097no seasonno seasonno seasonno seasonno seasonno seasonno season
Ryan Klesko128136145152118129111no season92no seasonno seasonno seasonno seasonno seasonno seasonno season
Bobby Bonilla14912113312815111412592499168no seasonno seasonno seasonno seasonno season
John Kruk132126139150145114111no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Randy Milligan15512011013175no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Scott Rolen13815884126891091161268190no seasonno seasonno seasonno seasonno seasonno season
Chase Utley14613613712311011312610875929368no seasonno seasonno seasonno season
Bernie Williams1471601491401391411071088596no seasonno seasonno seasonno seasonno seasonno season
Matt Carpenter1121351361201439279632167993no seasonno seasonno seasonno seasonno season
Anthony Rizzo1241391031121309482no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Evan Longoria10711212799911019612411693no seasonno seasonno seasonno seasonno seasonno season
Anthony Rendon137157150941008965no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Magglio Ordonez15413911411411216612711112973no seasonno seasonno seasonno seasonno seasonno season
Richie Sexson1401261441178489no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Mike Napoli1151731131281209610680no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Kevin Millar121141131110117981111068977no seasonno seasonno seasonno seasonno seasonno season
Erubiel Durazo13611313879no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Matt Kemp1041401091131011212489no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Khris Davis123131137837875no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Robinson Cano13314814714211713811413695143no season7no seasonno seasonno seasonno season
Jeromy Burnitz140118143106119811051219481no seasonno seasonno seasonno seasonno seasonno season
Shawn Green15415411611311495103no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Carlos Penano season172129133103123938619no seasonno seasonno seasonno seasonno seasonno seasonno season
Mike Morse1331471118413081no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Nick Johnsonno season12512289no season94no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Justin Morneau1301877011310212510999no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Yoenis Cespedes110136136135126no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Kevin Youkilis11714414615712310180no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Jose Altuve1301317112716115112411498no seasonno seasonno seasonno seasonno seasonno seasonno season
Ray Lankford13012415914311811712088no season100no seasonno seasonno seasonno seasonno seasonno season
Cliff Floyd15014113411112788102111no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Jim Edmonds1239514714915816017113711088112no season125no seasonno seasonno season
Jay Buhner128138131131132109105127100no seasonno seasonno seasonno seasonno seasonno seasonno season
Brandon Belt1351151109717716093135no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Andre Ethier13312112312197137no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Chris Hoiles162107114108110117no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Derrek Lee118174112130109146106109no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Rusty Greer13811512511110491no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Jose Bautista9916418213813216214511879102no seasonno seasonno seasonno seasonno seasonno season
Shane Mack139100147no seasonno season109103no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Carlos Quentin12214614574no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Carlos Santana122102123112105136938110010110978no seasonno seasonno seasonno season
Troy Tulowitzki13917010110280no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Jack Cust14613010512996no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Mike Sweeney1481201181271028898108109no seasonno seasonno seasonno seasonno seasonno seasonno season
Ichiro Suzuki120112130113106122102129113869377895810279
Matt Williams141177134101100118839210084no seasonno seasonno seasonno seasonno seasonno season
Justin Bour12414310663no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Moises Alou107107130157no season151137100111132138132137107no seasonno season
Victor Martinez12988127122131no season113172841218676no seasonno seasonno seasonno season
Lucas Duda137130921179850no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Troy Glaus126122120125no season102no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Justin Upton10613712190929041no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Chris Davis96147110964959-8no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Morgan Ensberg901441208834no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Trot Nixon1101491231099679no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Derek Jeter111125114125132121102125901001145276no seasonno seasonno season
Kendrys Moralesno season119123751271109811157no seasonno seasonno seasonno seasonno seasonno seasonno season
Craig Biggio1381421201431391149311188961051048471no seasonno season
Phil Nevin1271361581081211307893no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Wally Joyner111134101120113118112135124899472no seasonno seasonno seasonno season
Grady Sizemore96no seasonno season8291no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Mark Grace1271351061421231271261221111138648no seasonno seasonno seasonno season
Geoff Jenkins13710313110110179no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
John Valentin13810412410178no season5987no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Ryan Zimmerman1201171076713411489no season104no seasonno seasonno seasonno seasonno seasonno seasonno season
Corey Dickerson11811913191989876no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Bobby Higginson881351201098899no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Hunter Pence139103133121119118846412611no seasonno seasonno seasonno seasonno seasonno season
Jeff Conine13013512498871031001231021091031108678no seasonno season
Ron Gant126no season146126831149710695125no seasonno seasonno seasonno seasonno seasonno season
Josh Willingham11511712712912114396109no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Carlos Gonzalez88116111869951no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Hal Morris112128106124779081103no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Raul Mondesi109109106931147963no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Reggie Sanders114120991347611710713110312786138no seasonno seasonno seasonno season
Bernard Gilkey124155100691203785no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Milton Bradley1141541621008092no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Sammy Sosa9916015116120316013311478no season101no seasonno seasonno seasonno seasonno season
Pat Burrell12812212812581122115no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Tino Martinez10814312410489114105106117104no seasonno seasonno seasonno seasonno seasonno season
Curtis Granderson1021081421159910512711410511568no seasonno seasonno seasonno seasonno season
Ryan Ludwick110151105104901307191no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Brad Hawpe1301211259483no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Edwin Encarnacion11115314515214813412811613170no seasonno seasonno seasonno seasonno seasonno season
Roberto Alomar136134100140114150908081no seasonno seasonno seasonno seasonno seasonno seasonno season
Dan Uggla12611113110798852764no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Nick Swisher1221291201251157074no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Paul Konerko1271361341161031141601411308264no seasonno seasonno seasonno seasonno season
Carlos Beltran971501251301441091541281279811912281no seasonno seasonno season
Eric Chavez10510186no season6782125120120no seasonno seasonno seasonno seasonno seasonno seasonno season
Dave Magadan1061129787128911161169410775no seasonno seasonno seasonno seasonno season
Robin Ventura127112106130981051199786no seasonno seasonno seasonno seasonno seasonno seasonno season
David Peralta861001271061089610882109no seasonno seasonno seasonno seasonno seasonno seasonno season
Justin Turner10015513912115015113013312012011411372no seasonno seasonno season
Ellis Burks114154102149122113147163137139109no seasonno seasonno seasonno seasonno season
Corey Hart130133120no season7162no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Corey Koskie12111612211394110no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Billy Butler9698105no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Barry Larkin131125107134155138134103118907494101no seasonno seasonno season
Kenny Lofton110107119102112100891031069510995105no seasonno seasonno season
Yasmani Grandal101121119112155647996no seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Brandon Moss1621361209010685no seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno seasonno season
Jorge Posada9113911812114413110912215310312511590no seasonno seasonno season
Nelson Cruz1171461131041241371591471491351681711298986no season
Starling Marte891141191071321327410311174no seasonno seasonno seasonno seasonno seasonno season
Jayson Werth12012212914497124153134859783no seasonno seasonno seasonno seasonno season

Italic figures are projected rather than measured. A blank cell means the hitter did not play that season, or played fewer than 50 plate appearances in it, which is the floor below which a season is not drawn. For most of this group a blank means the career had ended.

What the six signals project, against what ZiPS did

Every projection on this site came from ZiPS, which is a fixed path that knows nothing about the scorecard. The scorecard is the whole argument. So this is the same five years read the other way, and from where he actually stands rather than from the start. A quarter of the contract has been played, so its wins are counted rather than guessed, and only ages 32 to 35 are projected: from what 154 comparable hitters did after a season like his. The bands below are what the pool's best and worst quarters produced, and they are context rather than the projection.

  • 0.4-0.5Bottom quarter of the pool
  • 15.6What hitters like him produced from here, 12.7 to 21.6
  • 22.621.8Top quarter of the pool, which is context and not where he is placed
  • 10.6ZiPS, as published

Wins across ages 31 to 35, the five this contract buys. The bands are what those hitters actually produced, counting a season a man did not play as the zero it was worth, which is the part a rate statistic cannot do: Fielder missed three of these ages and Davis one, and they missed them because they collapsed. They show the range these five years span, and until A35 the projection was placed between them by the scorecard. It no longer is: those quarters are picked by how the five years turned out, so putting a hitter on one assumes the answer is already known.

The check that makes this worth reading. Run the same method on the published bands with a scorecard saying nothing, half strong and half broken, and it returns 11.5 wins against the 10.6 ZiPS published. Those agree to within a win across five years and nothing here was fitted to make them. So the method is not tuned to flatter him: it lands on the published projection when the signals are silent and departs from it only as far as they speak. Restricted to first base the same check returns almost exactly the ZiPS figure, which on 12 hitters a side is a coincidence rather than a second opinion, and is not offered as one.

Two things it does not claim. It cannot project above the top quarter of the pool, because that band is the ceiling by construction rather than a limit on him. And it does not replace ZiPS, which stays on the chart above and on The Contract exactly as published. This is the site's own estimate and is labelled as one. The Contract sets this figure, ZiPS and the site's published valuation side by side in the same unit: three numbers for the same five years.

What these five years were worth

The shaded years are ages 31 to 35, which is the deal. This is what each of them produced across the same five ages, best first. Alonso’s row is one measured season and four projected, so it is what the published projection expects rather than anything he has done: it ranks 44 of 165, ahead of 119 of the 164 hitters the rule admits.

Production across ages 31 to 35, the ages this contract pays for
HitterSeasonsGamesPAOPS+WAR
Mark McGwire5 of 5698296919129.7
Barry Bonds5 of 5718310317737.5
Edgar Martinez5 of 5682301016328.5
Sammy Sosa5 of 5729321015725.8
Gary Sheffield5 of 5728317115625.9
Jim Thome5 of 5651278115520.4
Jim Edmonds5 of 5726289415530.2
Manny Ramirez5 of 5721311915219.5
Larry Walker5 of 5622256315126.3
Jason Giambi5 of 5669282515019.3
Freddie Freeman5 of 5773339814825.8
Joey Votto5 of 5765331014624.6
Jeff Bagwell5 of 5800355814426.3
Alex Rodriguez5 of 5656286014428.6
Chipper Jones5 of 5643273214423.7
Albert Belle3 of 5465205014311.1
Miguel Cabrera5 of 5604256114214.3
Lance Berkman5 of 5715296414217.8
Jose Bautista5 of 5634278314121.3
Brian Giles5 of 5762335514020.8
David Ortiz5 of 5699299613915.6
Frank Thomas5 of 5615266613814.5
Paul Goldschmidt5 of 5682293013821.5
Carlos Delgado5 of 5716309713814.5
John Kruk4 of 5414174713810.7
Ellis Burks5 of 5659267213819.8
Mike Piazza5 of 5609246013714.9
Matt Holliday5 of 5651275013714.4
Rafael Palmeiro5 of 5798348513722.1
Moises Alou4 of 5553231113712.1
Justin Turner5 of 5561231513621.1
Victor Martinez4 of 5582244213513.5
Edwin Encarnacion5 of 5728311613517.1
Carlos Beltran5 of 5599253513519.7
Nelson Cruz5 of 5734309813517.4
Jose Altuve5 of 5685302813416.3
Yoenis Cespedes2 of 51194781322.8
Josh Donaldson5 of 5483201913114.4
Barry Larkin5 of 5662278313127.4
Albert Pujols5 of 5716312013018.7
Vladimir Guerrero5 of 5701297513013.3
Ken Griffey Jr.5 of 544517531306.7
Jayson Werth5 of 5663280613015.4
Pete Alonso, projected5 of 5134318012911.0
Ryan Klesko4 of 553120991297.9
Robinson Cano5 of 5704305012923.8
David Justice5 of 5675278212814.6
Bernie Williams5 of 5708312012816.8
Magglio Ordonez5 of 5671280912813.7
Mark Grace5 of 5755328312819.5
Paul Konerko5 of 5723304112812.6
Todd Helton5 of 5677296312715.7
Jose Abreu5 of 5656284612714.4
Juan Gonzalez4 of 532513751266.7
Jorge Posada5 of 5707282412621.8
J.D. Martinez5 of 560026031259.1
Brandon Belt5 of 548518781257.9
Bobby Bonilla5 of 566127961248.3
Jay Buhner5 of 557823911249.9
George Springer5 of 5650280812314.2
Kevin Youkilis4 of 5372157912210.5
Ray Lankford5 of 5616227312211.6
Craig Biggio5 of 5738341412225.7
Will Clark5 of 5576242912113.2
Ryan Braun5 of 5648251212111.3
Bobby Abreu5 of 5784345512115.8
Derek Jeter5 of 5772356512122.9
Josh Willingham5 of 5598246412110.1
Giancarlo Stanton5 of 554121861205.6
Adrian Gonzalez5 of 5699282912013.7
Josh Hamilton4 of 543818351207.1
John Olerud5 of 5751316412017.7
Andre Ethier3 of 541413781205.6
Derrek Lee5 of 5707306612013.1
Wally Joyner5 of 5625256812012.8
Fred McGriff5 of 5750320511910.2
Randy Milligan2 of 51494411192.1
Tim Salmon5 of 5641265611812.1
Mark Teixeira5 of 5528224111811.0
Travis Hafner5 of 542917101175.3
Chase Utley5 of 5587252211620.0
Jack Cust2 of 51796951162.5
Roberto Alomar5 of 5760332111620.8
Troy Glaus2 of 527911201154.6
Reggie Sanders5 of 5632249211514.2
Mo Vaughn4 of 546619581142.4
Scott Rolen5 of 5630257411420.4
Ichiro Suzuki5 of 5792365411425.1
Curtis Granderson5 of 5683289811413.7
Starling Marte5 of 5479199211410.1
Buster Posey3 of 533213471117.4
Matt Carpenter5 of 561022091117.8
Justin Morneau5 of 552821551116.6
Chris Hoiles3 of 532311831116.1
Pat Burrell4 of 549117771114.5
Robin Ventura5 of 5723278611116.5
Carlos Pena5 of 568126861108.0
Cliff Floyd5 of 554820651106.0
Dave Magadan5 of 544213281104.6
Andrew McCutchen5 of 554923391096.4
Shin-Soo Choo5 of 561526931097.1
Kevin Millar5 of 570427901096.7
Mike Sweeney5 of 537214571092.8
David Wright3 of 52099241082.7
Anthony Rizzo4 of 546219201075.0
Mike Napoli5 of 566526771078.0
Matt Kemp5 of 54801839107-0.7
Jeromy Burnitz5 of 574529981076.7
Shawn Green4 of 559424061072.5
Carlos Santana5 of 5691294610711.1
Phil Nevin5 of 554421851073.7
Eric Chavez4 of 52848651072.8
Kendrys Morales5 of 569027371063.3
Corey Koskie3 of 529111811065.0
Prince Fielder2 of 524710631050.2
Ryan Howard5 of 55852404105-2.5
Joe Mauer5 of 5680290010511.0
Shane Mack2 of 51293771051.1
Mike Morse3 of 53171075104-1.0
Rusty Greer3 of 52189511042.4
Ryan Zimmerman4 of 539615561044.3
Hunter Pence5 of 555121601046.3
Jeff Conine5 of 564123471046.3
Ron Gant5 of 5643259210410.0
Tino Martinez5 of 575630551047.1
Nick Swisher4 of 546619191034.6
Hanley Ramirez5 of 544518551021.7
Lucas Duda3 of 52739771021.3
Evan Longoria5 of 554421971019.4
Matt Williams5 of 5642270410112.4
Ryan Ludwick5 of 555021231012.5
Kenny Lofton5 of 5683308610120.7
Richie Sexson3 of 537514811001.5
Hal Morris5 of 554417901003.3
Yasmani Grandal5 of 542815931003.3
Adam Dunn4 of 5553226399-0.4
Nomar Garciaparra5 of 54251586991.7
David Peralta5 of 55702091995.0
Bobby Higginson3 of 53801569984.1
Raul Mondesi4 of 53641525972.7
Trot Nixon3 of 53371277963.3
Geoff Jenkins3 of 53941341962.3
Troy Tulowitzki2 of 5197804954.2
Brandon Moss3 of 5391139194-0.3
Corey Dickerson4 of 5307102493-0.3
Milton Bradley3 of 5225866930.3
Jason Bay4 of 53561361922.3
Nick Johnson2 of 56220092-0.1
Brad Hawpe2 of 516556290-0.8
Dan Uggla5 of 55702137902.6
John Valentin4 of 54001496896.2
Justin Upton4 of 521184187-2.6
Carlos Gonzalez3 of 53131204870.1
Anthony Rendon4 of 5205863861.7
Grady Sizemore2 of 5209677860.0
Khris Davis3 of 520574681-0.9
Erubiel Durazo1 of 54116779-0.3
Bernard Gilkey4 of 534896678-1.1
Morgan Ensberg2 of 514340477-1.1
Carlos Quentin1 of 55015574-0.7
Corey Hart2 of 510331269-1.0
Chris Davis4 of 5377145366-5.8
Justin Bour1 of 55217063-0.6
Kal Daniels0 of 500.0
Billy Butler0 of 500.0

The OPS+ column is a plate-appearance-weighted mean of each hitter’s season figures, not a recomputed multi-season OPS+, which would have to be rebuilt from raw totals against league baselines. Weighting matters: an unweighted mean counts a ninety-plate-appearance farewell year the same as a seven-hundred-plate-appearance peak. A seasons count below five means the hitter did not play all of them, which for Fielder means his career had ended. Alonso’s four projected seasons carry no plate appearances of their own and are weighted at a full season each.

Baseball-Reference season standard-batting leaderboards, one request per season from 1972 to 2026. Player ids are read from the links in each row rather than constructed, so nothing is guessed. Only the regular-season table is parsed; the postseason table on the same page is excluded by id. Fetched 2026-08-28 by scripts/comp-pool.mjs and stored, so no build depends on a live request. Alonso’s projected seasons are the ZiPS path published at signing in December 2025 and shown in full on The Contract.

The bottom line

No measurable decline yet at 31.

The early-warning indicators are a sustained strikeout climb toward 28 to 30 percent, or average exit velocity under 92 mph.

If those stay clean, expect a productive window through 33 and a fade at 34 to 35. That is a projection, not a promise, and this site will say so when it changes.