Overview / Start here
Overview / Start here

The plan, three winter decisions and two in-game levers, ranked by what’s at stake.

Keystone turns public data (2.1 million pitches and 550,000 plate appearances, 2024–2026) into decisions for one club this winter. Below are the plan, three of the winter’s decisions and two in-game levers, each group in order of what is at stake. Each opens the module that holds the evidence, so you can check the work; the other calls have memos in the Decision Briefs.
For first-time visitors, baseball operations leadership Every figure on this page is computed by the pipeline
  1. 01
    Winter Plan

    One plan for the winter: 81.7 wins and 44% playoff odds.

    Every decision brief applied to one 2027 roster gives 81.7 wins (80% range 70–94), +2.7 over the roster as it stands (79.0). The 2026 club went 82–80 with the talent of about 84–86 wins (Pythagorean record to contact quality); brought back intact it projects 81.3 for 2027, before Yates, Soto and Lowe leave. Spending the $34.0M gap to the owners’ proposed floor takes it to 84.8 wins and 56%. The projection leaves out the in-game levers at the end of this page; together they add about 0.3 wins (the hook about 0.3 wins, the ABS card about zero).

    What it changes 8 calls due by Dec 1, when the CBA expires and a lockout would freeze transactions; 4 are open today. First to close: Third catcher, due ≈ Nov 5.

    Show me
    7080902026 club brought back81.3As it stands79.0The Winter Plan81.7+ the floor money84.82027 wins; the bar is the plan’s 80% range
  2. 02
    Lowe → Gonzales → third base

    If Lowe stays, the best alignment moves Gonzales to a utility role (535 PA, mostly at short); Lowe at first keeps him the regular second baseman for 0.6 fewer wins.

    Brandon Lowe gets the $23.15M qualifying offer ≈ Nov 1–5 and should decline: his estimate ($30.8M a year for 3 years) beats the offer by $7.6M a year, and 12 of 14 comparable deals cleared it (86%); at the low end of his range ($21.8M a year) he could accept. When he leaves, Gonzales takes second. At second the glove goes from Lowe’s +2.1 runs a season to Gonzales’s −0.4 (−2.5); at third, from Gonzales’s −7.7 to Isaac Paredes’s −1.4 (Fielding Lab, regressed). Keystone’s zone model is harsher on Paredes: −20.7 outs above expected in 2026 (−6.4 per 100 balls, the same rate as Pittsburgh’s 30th-ranked group); if it is right about him (−2.9 per 100 over 2024–26), his glove costs about 9.5 runs a season, 0.8 wins below the rating the wins use. Isaac Paredes adds +2.6 wins over the in-house third baseman, all of it the bat: his glove rates 5.0 runs a season below Jared Triolo’s, for Jacob Gonzalez and Jhostynxon Garcia ($16.4M of prospect value) and one year of control. PNC costs his batted-ball profile about −0.3 wins over his 562 PA, which the projection leaves out. If Lowe accepts, Isaac Paredes still adds +2.6 and Lowe stays at second: 83.5 wins and 51% odds for $22.4M more payroll; the plan’s 40-man is already full at the Rule 5 filing (Nov 17), so then also acquire Isaac Paredes before it. Re-signing him gives up the pick (about $8.6M net of his bonus); under today’s rules he is worth at most $13.5M a year.

    What it changes The offer and Houston’s option on Paredes fall in the same window; Lowe answers ≈ Nov 11–15; the trade closes by Dec 1, and third base reopens for 2028.

    Show me
    Lowe leaves, no trade · 2B Gonzales, 3B Triolo79.1The plan · 2B Gonzales, 3B Paredes81.7Lowe accepts · 2B Lowe, 3B Paredes83.5Lowe accepts, plays first · 2B Gonzales, 3B Paredes82.92027 wins, one engine; bars start at 77
  3. 03
    Payroll · free agency

    $34.0M short of the owners’ proposed floor.

    On the owners’ terms (a proposal, not a rule) the plan’s 2027 payroll is $137.2M against a $171.2M floor. The Free-Agent Board’s list for that money, 2-year deals at most while the CBA is unsettled: Jake Bauers, Jack Flaherty and Alex Vesia, +3.2 wins for $33.6M a year at the owners’-terms prices, with 2 cuts on the 40-man. That takes the plan to 84.8 wins and 56% playoff odds. Signed before Dec 1, though, a deal is signed at today’s prices: the same list costs $38.2M a year, $4.1M over the gap, and buys 0.83 wins per $10M against the market price of a win’s 1.11: none of it clears that under today’s rules.

    What it changes Wait for the CBA before signing the list; the plan’s 40-man is full at the Rule 5 filing (Nov 17) with Henry Davis already released, so a signing before it needs a cut first (Noah Murdock).

    Show me
    floor $171Mplan $137M+ list $33.6M2027 payroll, luxury-tax basis, owners’ terms
  4. 04
    Development · extension

    Skenes is throwing 2.0 mph slower than in 2024, before his biggest contract decision.

    His four-seamer averaged 98.8, 98.2, 96.8 mph in 2024–26; 5 of 132 pitchers lost as much over those two seasons. His Stuff fell from 114 to 104 and his FIP rose from 2.36 to 3.33, while his four-seam arm angle moved from 24° to 27°. Comparable deals price a 5-year extension at $22.3M a year against Keystone’s walk-away of $22.6M, a gap inside the price model’s typical $3.7M miss.

    What it changes A medical and biomechanics review by mid-November; an offer before Dec 1 only if the cause is benign; otherwise year to year, reopened if his four-seamer averages 97.5 mph.

    Show me
    98.8’2498.2’2596.8’26four-seam mphmarket $22.3Mwalk-away range $19.6M–$25.6M, 5 yrs
  5. 05
    Bullpen Strategy

    Pull starters by the batting order, not the pitch count.

    Adjusted for who’s pitching and who’s hitting, hitters gain +.012 xwOBA the second time they see a starter and +.006 more the third. In the plan’s rotation only Mitch Keller clears the bar (two times through): about 3.3 runs a season (≈0.3 wins), 1.3 of them from the time-through-order step, and about 29 more relief innings. It holds only if Keller is healthy and starting.

    What it changes Each starter’s hook is set before spring, by the order.

    Show me
    1st time2nd time+.0123rd time+.006Adjusted xwOBA, starters 2024–26
  6. 06
    ABS Challenge Coach

    Last of 30 clubs at winning challenges, mostly noise: keep challenging as now, with the break-even card as the written rule.

    Pittsburgh won 47.0% of its challenges (MLB 53.9%), −6.4 runs against an average club facing the same pitches. Only part of club accuracy is real (the share of the spread between the 30 clubs that holds up: catchers 54%, batters 10%), so most of that gap closes on its own: regressed, 2026’s club accuracy is worth about 8 overturns at 2026 volume, 86% of it the catchers’, so it moves if the catchers change. A failed challenge costs about 0.03 runs under the rules as played, not a flat 0.21, so the bar depends on the game state as well as the count. In a forward test (rules fit before Jul 1, scored on the 5,227 challenges after), the break-even card is worth about zero against how clubs already challenged, a toss-up inside the plan’s 1.9-run line, while a flat-cost count grid (early counts held; no hold from the 7th inning on with no challenge lost yet and the score within 2 runs) cost 9.4 runs per club a season.

    What it changes Challenging stays as it is, with the break-even card by game state as the written rule before Opening Day; no green lists.

    Show me
    MLB 54%PIT 47%Challenge success rate, 30 clubs, 2026

Also in Keystone

How it’s built

2.1Mpitches, 2024–2026
550kplate appearances
1,868player pages
26models, each with a card
9decision briefs

A Python and DuckDB pipeline pulls from the MLB Stats API, Baseball Savant and FanGraphs, fits the models, and writes static data. The site is prerendered SvelteKit, so every page loads instantly. Every analytical number comes from the pipeline: rerun it and the memos, tooltips and this page update, and the build fails if a guardrail breaks. (A few research notes in the Product section cite outside sources, and say so.) Keystone Stuff from a model trained on 2024 only predicts the next season’s results with r = .49 against .45 for last season’s results (324 pitchers), a .03 edge the Track Record grades partial.

Why I built this

I’m Dan Weingart. I built Keystone to show how I’d approach a Product Manager, Research & Development role: start from the decisions a front office faces this winter, build only the models those decisions need, test every claim and label how (forward, held-out, benchmark or in-sample), and say plainly what the data can’t see.

When I read it the way a front office would, I found trade targets no club would move and pitching advice no coach would accept. Each fix changed a rule, not just a sentence, and the decision log records why. It runs on public data only; a club’s own data would sharpen every module, and the gaps it would fill are listed.

Keystone is an independent portfolio project. It is not affiliated with Major League Baseball or any club. Data: MLB Stats API, Baseball Savant, FanGraphs. Used under their terms for individual, non-commercial use.