← Slate
3.3% edge · San Francisco GiantsSan Francisco Giants vs Kansas City Royals — Prediction & Odds
July 21, 2026 · Tyler Mahle vs Luinder Avila · 89°F
San Francisco Giants win
52.8%
Kansas City Royals win
47.2%
Fair line (home)
+112
Proj. total
9.42
Score distribution
How often each team scores each run total across all simulations.
San Francisco Giants (mean 5.00)Kansas City Royals (mean 4.42)
Totals
O/U line
9
Proj. total
9.42
Over
44.1%
Under
45.6%
Model vs. market
| Side | Model | Book | Fair |
|---|---|---|---|
| San Francisco Giants | 52.8% | -102 | -112 |
| Kansas City Royals | 47.2% | -106 | +112 |
San Francisco Giants — projected lines
| Batter | PA | 1B | 2B | 3B | HR | BB | K | AVG | OBP | SLG | OPS |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Heliot Ramos | 5.0 | .852 | .199 | .033 | .162 | .455 | 1.069 | .280 | .355 | .449 | .804 |
| Bryce Eldridge | 4.8 | .726 | .216 | .006 | .164 | .568 | 1.249 | .262 | .354 | .431 | .785 |
| Casey Schmitt | 4.7 | .802 | .210 | .015 | .157 | .309 | .881 | .271 | .328 | .434 | .762 |
| Rafael Devers | 4.6 | .629 | .209 | .011 | .193 | .628 | 1.036 | .264 | .370 | .469 | .839 |
| Willy Adames | 4.5 | .629 | .190 | .013 | .162 | .536 | 1.005 | .252 | .346 | .429 | .774 |
| Jung Hoo Lee | 4.4 | .866 | .226 | .050 | .067 | .350 | .399 | .301 | .362 | .432 | .794 |
| Jesus Rodriguez | 4.3 | .824 | .168 | .015 | .068 | .430 | .589 | .280 | .360 | .385 | .745 |
| Drew Gilbert | 4.2 | .632 | .183 | .028 | .091 | .434 | .698 | .253 | .342 | .392 | .733 |
| Christian Koss | 4.1 | .723 | .197 | .015 | .066 | .231 | .779 | .264 | .316 | .376 | .692 |
Kansas City Royals — projected lines
| Batter | PA | 1B | 2B | 3B | HR | BB | K | AVG | OBP | SLG | OPS |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Carter Jensen | 4.7 | .692 | .225 | .019 | .142 | .467 | 1.113 | .258 | .336 | .423 | .759 |
| Lane Thomas | 4.5 | .682 | .213 | .011 | .123 | .449 | 1.014 | .254 | .335 | .403 | .738 |
| Jac Caglianone | 4.4 | .713 | .193 | .023 | .184 | .352 | 1.033 | .275 | .339 | .471 | .810 |
| Salvador Perez | 4.3 | .719 | .182 | .005 | .165 | .224 | .805 | .265 | .312 | .435 | .747 |
| Vinnie Pasquantino | 4.2 | .654 | .197 | .019 | .148 | .426 | .591 | .271 | .350 | .451 | .801 |
| Starling Marte | 4.1 | .815 | .176 | .011 | .080 | .286 | .857 | .287 | .346 | .403 | .748 |
| Michael Massey | 4.0 | .706 | .205 | .008 | .105 | .221 | .652 | .272 | .317 | .415 | .732 |
| Nick Loftin | 3.9 | .642 | .188 | .029 | .074 | .408 | .525 | .271 | .356 | .407 | .763 |
| Tyler Tolbert | 3.8 | .645 | .157 | .016 | .044 | .266 | .846 | .248 | .310 | .341 | .651 |
Data notes: game-time temp 89F: run environment adjusted · 20/20 lineup+starter talents from projections