
Cubs.
The nightly market record for Chicago.
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.
Cubs batters · 25 on the books.
| Batter | Bats | PA 26 | BA 26 | xBA 26 | PA 25 | BA 25 | xBA blended |
|---|---|---|---|---|---|---|---|
| Nico Hoerner | R | 272 | .252 | .296 | 649 | .297 | .266 |
| Alex Bregman | R | 270 | .259 | .261 | 495 | .273 | .253 |
| Michael Busch | L | 262 | .243 | .240 | 592 | .261 | .243 |
| Ian Happ | S | 252 | .230 | .210 | 663 | .243 | .231 |
| Pete Crow-Armstrong | L | 250 | .237 | .249 | 647 | .247 | .247 |
| Dansby Swanson | R | 226 | .183 | .201 | 645 | .244 | .228 |
| Seiya Suzuki | R | 196 | .244 | .238 | 651 | .245 | .243 |
| Carson Kelly | R | 160 | .289 | .249 | 421 | .249 | .247 |
| Moisés Ballesteros | L | 147 | .231 | .240 | 66 | .298 | .242 |
| Matt Shaw | R | 104 | .242 | .253 | 437 | .226 | .247 |
| Miguel Amaya | R | 101 | .217 | .189 | 103 | .281 | .217 |
| Michael Conforto | L | 93 | .269 | .272 | 486 | .199 | .252 |
| Pedro Ramírez | S | 8 | .286 | .330 | 0 | .000 | .257 |
| Kevin Alcántara | R | 6 | .200 | .197 | 12 | .364 | .240 |
| Dylan Carlson | S | 4 | .000 | .067 | 241 | .203 | .241 |
| Scott Kingery | R | 4 | .250 | .166 | 29 | .148 | .240 |
| Justin Turner | — | 0 | .000 | — | 191 | .219 | — |
| Jon Berti | — | 0 | .000 | — | 107 | .210 | — |
| Colin Rea | R | 0 | .000 | — | 1 | .000 | — |
| Daniel Palencia | R | 0 | .000 | — | 0 | .000 | — |
| Ryan Rolison | R | 0 | .000 | — | 0 | .000 | — |
| Caleb Thielbar | R | 0 | .000 | — | 0 | .000 | — |
| Jameson Taillon | R | 0 | .000 | — | 0 | .000 | — |
| Shota Imanaga | L | 0 | .000 | — | 0 | .000 | — |
| Jordan Wicks | L | 0 | .000 | — | 0 | .000 | — |
Highest-quality contact, blended.
| № | Batter | xBA blended | BA 26 | xBA 26 | PA 26 | Bats |
|---|---|---|---|---|---|---|
| 01 | Nico Hoerner | .266 | .252 | .296 | 272 | R |
| 02 | Alex Bregman | .253 | .259 | .261 | 270 | R |
| 03 | Michael Conforto | .252 | .269 | .272 | 93 | L |
| 04 | Matt Shaw | .247 | .242 | .253 | 104 | R |
| 05 | Pete Crow-Armstrong | .247 | .237 | .249 | 250 | L |
| 06 | Carson Kelly | .247 | .289 | .249 | 160 | R |
| 07 | Michael Busch | .243 | .243 | .240 | 262 | L |
| 08 | Seiya Suzuki | .243 | .244 | .238 | 196 | R |
| 09 | Moisés Ballesteros | .242 | .231 | .240 | 147 | L |
| 10 | Ian Happ | .231 | .230 | .210 | 252 | 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.