
Royals.
The nightly market record for Kansas City.
Regular season is live. This page is a preview of the year-round offseason desk — the roster snapshot is real, but the move-tracking, futures-movement and projected-lineup sections are dormant until the season ends and those data sources wire up. The active surface today is the club desk.
Royals batters · 34 on the books.
| Batter | Bats | PA 26 | BA 26 | xBA 26 | PA 25 | BA 25 | xBA blended |
|---|---|---|---|---|---|---|---|
| Bobby Witt Jr. | R | 265 | .287 | .314 | 687 | .295 | .273 |
| Maikel Garcia | R | 246 | .268 | .281 | 666 | .286 | .259 |
| Vinnie Pasquantino | L | 244 | .213 | .234 | 682 | .264 | .241 |
| Salvador Perez | R | 237 | .206 | .227 | 641 | .236 | .238 |
| Jac Caglianone | L | 200 | .242 | .256 | 232 | .157 | .251 |
| Carter Jensen | L | 200 | .223 | .194 | 69 | .300 | .209 |
| Isaac Collins | S | 193 | .216 | .219 | 441 | .263 | .234 |
| Kyle Isbel | L | 164 | .243 | .241 | 409 | .255 | .243 |
| Lane Thomas | R | 130 | .226 | .208 | 142 | .160 | .226 |
| Michael Massey | L | 125 | .250 | .203 | 277 | .244 | .228 |
| Nick Loftin | R | 87 | .214 | .224 | 188 | .208 | .237 |
| Starling Marte | R | 64 | .263 | .233 | 329 | .270 | .242 |
| Jonathan India | R | 58 | .167 | .173 | 567 | .233 | .234 |
| Elias Díaz | R | 23 | .227 | .238 | 283 | .204 | .244 |
| Tyler Tolbert | R | 7 | .143 | .186 | 57 | .280 | .240 |
| Drew Waters | — | 0 | .000 | — | 219 | .243 | — |
| John Rave | — | 0 | .000 | — | 175 | .196 | — |
| Mark Canha | — | 0 | .000 | — | 125 | .212 | — |
| Hunter Renfroe | — | 0 | .000 | — | 108 | .182 | — |
| Cavan Biggio | — | 0 | .000 | — | 83 | .174 | — |
| Luke Maile | — | 0 | .000 | — | 54 | .244 | — |
| Dairon Blanco | — | 0 | .000 | — | 8 | .167 | — |
| Carlos Estévez | R | 0 | .000 | — | 0 | .000 | — |
| Luinder Avila | R | 0 | .000 | — | 0 | .000 | — |
| Taylor Clarke | R | 0 | .000 | — | 0 | .000 | — |
| Steven Cruz | R | 0 | .000 | — | 0 | .000 | — |
| Lucas Erceg | L | 0 | .000 | — | 0 | .000 | — |
| Sam Long | — | 0 | .000 | — | 0 | .000 | — |
| Daniel Lynch IV | L | 0 | .000 | — | 0 | .000 | — |
| Trevor Richards | R | 0 | .000 | — | 0 | .000 | — |
| John Schreiber | R | 0 | .000 | — | 0 | .000 | — |
| Alex Lange | R | 0 | .000 | — | 0 | .000 | — |
| Stephen Kolek | R | 0 | .000 | — | 0 | .000 | — |
| Michael Wacha | R | 0 | .000 | — | 0 | .000 | — |
Highest-quality contact, blended.
| № | Batter | xBA blended | BA 26 | xBA 26 | PA 26 | Bats |
|---|---|---|---|---|---|---|
| 01 | Bobby Witt Jr. | .273 | .287 | .314 | 265 | R |
| 02 | Maikel Garcia | .259 | .268 | .281 | 246 | R |
| 03 | Jac Caglianone | .251 | .242 | .256 | 200 | L |
| 04 | Kyle Isbel | .243 | .243 | .241 | 164 | L |
| 05 | Starling Marte | .242 | .263 | .233 | 64 | R |
| 06 | Vinnie Pasquantino | .241 | .213 | .234 | 244 | L |
| 07 | Salvador Perez | .238 | .206 | .227 | 237 | R |
| 08 | Nick Loftin | .237 | .214 | .224 | 87 | R |
| 09 | Jonathan India | .234 | .167 | .173 | 58 | R |
| 10 | Isaac Collins | .234 | .216 | .219 | 193 | S |
Roster moves · trades · free-agent activity.
Tracking trades, free-agent signings, non-tenders, and 40-man moves needs a dedicated source (MLB Trade Rumors RSS, MLB Transactions API, or editorial entry). Surface goes live the first time data lands.
Projected lineup · rotation outlook.
Lineup + rotation projections need a depth-chart source or a per-team editorial entry. The MlbBatter graph carries position-agnostic stats; turning that into a 1-9 + bench + rotation card requires position metadata the schema doesn't carry yet.
Win total · division · World Series.
Win-total, division, and championship futures move on different cadence than player props and require a different odds feed. The almanac currently sources player props via ParlayAPI + the-odds-api H2H — futures would slot alongside, with snapshot rows mirroring MlbLineSnapshot but typed to a futures market.
Camp battles · prospect progress.
Spring training battles (5th starter, bench spots, prospect debuts) are an editorial product — too low-frequency for a model, too high-judgment for an automatic feed. Plans for a per-team weekly note from the editor once the offseason calendar starts producing real signal.