MLB matchup analysis
White Sox vs Royals Prediction, Odds and Model Pick
Thursday, September 24, 2026 at Kauffman Stadium · 2:10 PM ET
Leo decision: Pass on White Sox vs Royals
The case for Kansas City Royals
The case for Chicago White Sox
Why it is not official
Why the setup score is what it is
Why the price is what it is
Read the full model output
No market data available, so this stays research-only until pricing is checked.
Final result
White Sox 9, Royals 1
How the analysis held up
Chicago White Sox won. Leo's model favored the other side.
Randy Dobnak (Kansas City Royals) was Leo's favored starter by pitcher score, but David Sandlin actually pitched better tonight: 6.0 IP, 1 ER (1.50 ERA) against 1.1 IP, 4 ER (27.00 ERA). The edge did not show up in this game.
The Chicago White Sox bullpen was flagged as elevated risk pregame (High risk). In relief it actually allowed 0 earned runs over 3.0 innings (0.00 ERA) — the risk read did not show up on the scoreboard tonight.
The Kansas City Royals bullpen was flagged as elevated risk pregame (Tired). In relief it actually allowed 3 earned runs over 7.2 innings (3.52 ERA) — the risk read did not show up on the scoreboard tonight. Note: 2 of the runs charged to the Kansas City Royals pitching staff overall were unearned — not something the bullpen's stuff should be blamed for.
Likely driver: Randy Dobnak, the pick's own starter, was rocked for a 27.00 ERA, and the Chicago White Sox bullpen quietly shut the game down (0.00 ERA over 3.0 innings).
Game information
| Matchup | Chicago White Sox at Kansas City Royals |
|---|---|
| Date | Thursday, September 24, 2026 |
| First pitch | 2:10 PM ET |
| Venue | Kauffman Stadium |
| Starting pitchers | David Sandlin vs Randy Dobnak |
| Weather | Game-time forecast: 71°F, 1% precipitation chance, 11 mph wind from E. |
Starting pitcher matchup
Full Pitcher Matchup Tool →| Metric | White Sox | Royals |
|---|---|---|
| Pitching plan | Traditional starter | Traditional starter |
| Expected innings | 5⅓ | 5 |
| Throws | R | R |
| Leo pitcher score (higher is better) | 53 | 61 |
| ERA (lower is better) | 5.58 | 3.51 |
| WHIP (lower is better) | 1.21 | 1.40 |
| K/9 (higher is better) | 8.9 | 5.9 |
| K-BB% (higher is better) | 16.2% | 7.2% |
| K% (higher is better) | 24.0% | 15.3% |
| BB% (lower is better) | 7.8% | 8.1% |
| BB/9 (lower is better) | 2.9 | 3.1 |
| HR/9 (lower is better) | 1.6 | 0.8 |
| Ground-ball rate | 57.1% | 57.9% |
| Fly-ball rate | 42.9% | 42.1% |
Pitcher edge: Leo gives Randy Dobnak a 8-point edge over David Sandlin, driven mainly by ERA (3.51 vs 5.58) and HR/9 (0.85 vs 1.56).
How to read this: the scorecards above name the starters; every number lives in this table.
Strikeout Projections Full strikeout projections →
Same data source as the Pitcher Matchup Tool, where every starter on the slate is compared side by side.
Recent form
Full Stats page →White Sox are 5-5 in their last 10 and averaging 4.9 runs per game over the last 15 days; Royals are 2-8 in their last 10 and averaging 3.7 runs per game over the last 15 days. On the season White Sox carry the better run differential per game (+0.33 against -0.70).
| Metric | White Sox | Royals |
|---|---|---|
| Last 10 | 5-5 | 2-8 |
| Last 10 by venue (away team on the road, home team at home) | 4-6 on the road | 4-6 at home |
| OPS, last 15 days | 0.718 | 0.686 |
| wOBA, last 15 days (hot/cold read) | 0.324 | 0.304 |
| Runs per game, last 15 days | 4.9 | 3.7 |
| K% last 15 days (lower is better) | 27.2% | 24.3% |
Last 15 days only. Hot and cold streaks for all 30 teams live on the Stats page.
30-day offense
Full offense tool →| Last 30 days | White Sox | Royals |
|---|---|---|
| OPS | 0.721 | 0.713 |
| Runs per game | 5.00 (+0.220 vs szn) | 4.19 (-0.048 vs szn) |
| wOBA (model offense input) | 0.324 | 0.315 |
| K% (lower is better) | 25.3% (+1.1% vs szn) | 21.1% |
Over the last 30 days the White Sox have been the better offense, 0.324 wOBA to 0.315. White Sox are striking out at 25.3% over the window — something the opposing starter can lean on.
Season profile
Full Stats page →| Metric | White Sox | Royals |
|---|---|---|
| Record | 81-77 | 68-90 |
| Run differential / game (team quality) | +0.33 | -0.70 |
| Runs scored / game (offense, season) | 4.78 | 4.23 |
| Runs allowed / game (defense, season, lower better) | 4.45 | 4.94 |
| Season OPS | 0.725 | 0.716 |
| K% season (lower is better) | 24.2% | 21.0% |
| OPS vs opposing hand (season) | 0.714 | 0.724 |
Season-long team quality, not recent form. Run differential and run environment come from the season standings; splits for all 30 teams live on the Stats page, including the run environment table.
The Map
Full interactive map →Every team on today's slate, on any two axes you pick. White Sox and Royals are highlighted.
Bullpen matchup
Full Bullpen Fatigue Index →Risk is what the model actually uses: fatigue blended with how well the pen has pitched. High fatigue with high efficiency is a tired pen that is still getting outs.
| Metric | White Sox | Royals |
|---|---|---|
| Fatigue | 8.4/10, High risk | 6.6/10, Tired |
| Efficiency | 3.7/10, Below average | 3.7/10, Below average |
| Combined risk | 9.1/10, High risk | 7.3/10, Tired |
| Relief innings, last 7 days | 30.0 | 22.3 |
| Back-to-back arms | 3 | 5 |
| 7-day ERA | 5.40 | 6.04 |
| 7-day WHIP | 1.70 | 1.43 |
Fatigue measures workload. Efficiency measures recent run prevention. Combined risk is what the moneyline and totals systems use.
Run total projection
Full Totals Projections →The model projects 4.3 runs below the market total. A research lean still requires a setup rating of at least 7.0/10. Team totals remain research-only until their graded sample is established.
More games today
All matchups →Every Leo pick, graded in public
Free daily model card by email, or open today's full slate. Membership adds delivery before first pitch.
Model outputs are not guarantees. Leo provides analysis and education only. Every official pick remains visible on the Results page. 21+. If you or someone you know has a gambling problem, call 1-800-GAMBLER.