Cam Cannon
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2021 | 23 | AA/A+BOS | 435 | .284/.332/.440 | 11 | 9 | 66 | — | .226/.265/.352 |
| 2022 | 24 | AAA/AABOS | 163 | .222/.309/.271 | 0 | 4 | 35 | — | .196/.265/.229 |
| 2023 | 25 | AAPHI | 169 | .206/.262/.394 | 6 | 1 | 38 | — | .162/.202/.294 |
Career Stats + Projections
Methodology▸ how these numbers are built
All seasons translated to park-neutral MLB-equivalent (MLE) and combined per year. 2027 = full-season projection (no games played yet). 2028+ via Advanced Marcel + aging curve.
| Year | Age | Lvl | Team | MLB% | PA | AB | H | 2B | 3B | HR | BB | SO | HBP | SB | CS | AVG | OBP | SLG | OPS | ISO | BABIP | K% | BB% | wOBA | wRC+ | BAT | RUN | FLD | POS | REP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▸ Career — actual stats, one row per stint (as recorded, no adjustments) | |||||||||||||||||||||||||||||||
| 2021 | 23 | AA | Portland Sea Dogs | — | 99 | 94 | 21 | 6 | 0 | 3 | 5 | 18 | 0 | 0 | 2 | 223 | 263 | 383 | 646 | 160 | 247 | 18 | 5 | 286 | 40 | — | — | — | — | — | — |
| 2021 | 23 | A+ | Greenville Drive | — | 336 | 311 | 94 | 24 | 0 | 8 | 17 | 34 | 7 | 9 | 4 | 302 | 352 | 457 | 809 | 154 | 319 | 10 | 5 | 359 | 74 | — | — | — | — | — | — |
| 2022 | 24 | AAA | Worcester Red Sox | — | 37 | 35 | 9 | 2 | 0 | 0 | 1 | 10 | 0 | 1 | 0 | 257 | 278 | 314 | 592 | 57 | 360 | 27 | 3 | 259 | 32 | — | — | — | — | — | — |
| 2022 | 24 | AA | Portland Sea Dogs | — | 126 | 109 | 23 | 5 | 0 | 0 | 14 | 25 | 3 | 3 | 1 | 211 | 317 | 257 | 574 | 46 | 274 | 20 | 11 | 275 | 36 | — | — | — | — | — | — |
| 2023 | 25 | AA | Reading Fightin Phils | — | 169 | 155 | 32 | 11 | 0 | 6 | 12 | 28 | 0 | 1 | 0 | 206 | 262 | 394 | 655 | 187 | 213 | 17 | 7 | 287 | 38 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2021 | 23 | AA MLE | Portland Sea Dogs | — | 99 | 96 | 18 | 5 | 0 | 3 | 3 | 21 | 0 | 0 | 2 | 188 | 212 | 333 | 545 | 146 | 212 | 21 | 3 | 228 | 40 | — | — | — | — | — | — |
| 2021 | 23 | A+ MLE | Greenville Drive | — | 336 | 316 | 75 | 17 | 0 | 7 | 12 | 46 | 7 | 9 | 4 | 237 | 281 | 358 | 638 | 120 | 257 | 14 | 4 | 278 | 74 | — | — | — | — | — | — |
| 2022 | 24 | AAA MLE | Worcester Red Sox | — | 37 | 35 | 8 | 1 | 0 | 0 | 1 | 12 | 0 | 1 | 0 | 229 | 250 | 257 | 507 | 29 | 325 | 32 | 3 | 216 | 32 | — | — | — | — | — | — |
| 2022 | 24 | AA MLE | Portland Sea Dogs | — | 126 | 113 | 21 | 4 | 0 | 0 | 10 | 31 | 3 | 3 | 1 | 186 | 270 | 221 | 491 | 35 | 246 | 25 | 8 | 221 | 36 | — | — | — | — | — | — |
| 2023 | 25 | AA MLE | Reading Fightin Phils | — | 169 | 160 | 26 | 9 | 0 | 4 | 8 | 34 | 0 | 1 | 0 | 163 | 202 | 294 | 496 | 131 | 182 | 20 | 5 | 224 | 38 | — | — | — | — | — | — |
| 2021 | 23 | A+ MLE | 2 teams | — | 435 | 412 | 94 | 22 | 0 | 10 | 15 | 67 | 7 | 9 | 6 | 228 | 267 | 354 | 622 | 126 | 250 | 15 | 3 | 267 | 67 | — | — | — | — | — | — |
| 2021 | 23 | A+ RAW | 2 teams | — | 435 | 405 | 115 | 30 | 0 | 11 | 22 | 52 | 7 | 9 | 6 | 284 | 332 | 440 | 771 | 156 | 303 | 12 | 5 | 342 | 67 | — | — | — | — | — | — |
| 2022 | 24 | AA MLE | 2 teams | — | 163 | 149 | 28 | 5 | 0 | 0 | 10 | 43 | 3 | 4 | 1 | 188 | 253 | 221 | 475 | 34 | 264 | 26 | 6 | 220 | 35 | — | — | — | — | — | — |
| 2022 | 24 | AA RAW | 2 teams | — | 163 | 144 | 32 | 7 | 0 | 0 | 15 | 35 | 3 | 4 | 1 | 222 | 309 | 271 | 579 | 49 | 294 | 21 | 9 | 272 | 35 | — | — | — | — | — | — |
| 2023 | 25 | AA MLE | Reading Fightin Phils | — | 169 | 160 | 26 | 9 | 0 | 4 | 8 | 34 | 0 | 1 | 0 | 163 | 202 | 294 | 496 | 131 | 179 | 20 | 5 | 224 | 38 | — | — | — | — | — | — |
| 2023 | 25 | AA RAW | Reading Fightin Phils | — | 169 | 155 | 32 | 11 | 0 | 6 | 12 | 28 | 0 | 1 | 0 | 206 | 262 | 394 | 655 | 187 | 213 | 17 | 7 | 287 | 38 | — | — | — | — | — | — |
| 2021 | 23 | A+ MLE | 2 teams | — | 435 | 410 | 94 | 22 | 0 | 10 | 15 | 67 | 7 | 9 | 6 | 229 | 267 | 356 | 623 | 127 | 247 | 15 | 3 | 267 | 67 | — | — | — | — | — | — |
| 2022 | 24 | AA MLE | 2 teams | — | 163 | 149 | 28 | 5 | 0 | 0 | 10 | 43 | 3 | 4 | 1 | 188 | 253 | 221 | 475 | 34 | 264 | 26 | 6 | 220 | 35 | — | — | — | — | — | — |
| 2023 | 25 | AA MLE | Reading Fightin Phils | — | 169 | 159 | 26 | 9 | 0 | 4 | 8 | 34 | 0 | 1 | 0 | 164 | 202 | 296 | 498 | 132 | 182 | 20 | 5 | 224 | 38 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 767 | 721 | 148 | 36 | 0 | 14 | 33 | 144 | 10 | 14 | 7 | 205 | 250 | 313 | 563 | 108 | 237 | 19 | 4 | 247 | 54 | -42 | +0 | +0 | +8 | +17 | -1.8 | |
| / 162G | — | MLE | — | 650 | 611 | 126 | 31 | 0 | 12 | 28 | 122 | 8 | 12 | 6 | 206 | 250 | 316 | 566 | 110 | 238 | 19 | 4 | 247 | 54 | -36 | +0 | +0 | +7 | +14 | -1.5 | |
How the minor-league lines were translated
One row per minor-league stint. Open a row to see each step: the raw rate, the park adjustment, the league/level factor, the age adjustment (hitters) and the resulting MLE rate. Factors are the same ones listed on the MLE Factors page.
2023 AAReading Fightin Phils · 169 PAwOBA .281 → .224 (−57)K% 16.6% → 20.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 16.57% | ÷1.000 | ×1.220 | — | — | 20.21% |
| BB% (unintentional) /PA | 7.10% | ÷0.975 | ×0.700 | — | ×0.988 | 5.04% |
| HBP% /PA | 0.00% | — | ×0.850 | — | ×0.988 | 0.00% |
| Singles /BIP | 11.81% | ÷1.017 | ×0.970 | ×0.956 | ×0.988 | 10.64% |
| Doubles /BIP | 8.66% | ÷0.999 | ×0.860 | ×0.956 | ×0.988 | 7.04% |
| Triples /BIP | 0.00% | ÷1.005 | ×0.950 | ×0.956 | ×0.988 | 0.00% |
| Home runs /BIP | 4.72% | ÷1.050 | ×0.780 | — | ×0.988 | 3.47% |
Factors used: league row EL. Park (home-season share, regressed): HR 110, 1B 103, 2B 100, 3B 101, K 100, BB 95 — applied at half strength. Age: age 26 vs a level average of 24.8 → −1.2% on BB/HBP/hit rates (1.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.956.
Result: wOBA .281 → .224; ISO .187 → .142; BABIP .213 → .182. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2022 AAPortland Sea Dogs · 126 PAwOBA .269 → .221 (−48)K% 19.8% → 24.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.84% | ÷0.994 | ×1.220 | — | — | 24.36% |
| BB% (unintentional) /PA | 11.11% | ÷1.026 | ×0.700 | — | ×0.998 | 7.56% |
| HBP% /PA | 2.38% | — | ×0.850 | — | ×0.998 | 2.02% |
| Singles /BIP | 21.43% | ÷0.983 | ×0.970 | ×0.950 | ×0.998 | 20.05% |
| Doubles /BIP | 5.95% | ÷1.066 | ×0.860 | ×0.950 | ×0.998 | 4.55% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.950 | ×0.950 | ×0.998 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.004 | ×0.780 | — | ×0.998 | 0.00% |
Factors used: league row EL. Park (home-season share, regressed): HR 101, 1B 97, 2B 113, 3B 130, K 99, BB 105 — applied at half strength. Age: age 25 vs a level average of 24.8 → −0.2% on BB/HBP/hit rates (0.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .269 → .221; ISO .046 → .035; BABIP .274 → .246. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2022 AAAWorcester Red Sox · 37 PAwOBA .252 → .216 (−36)K% 27.0% → 32.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 27.03% | ÷1.013 | ×1.200 | — | — | 32.02% |
| BB% (unintentional) /PA | 2.70% | ÷0.987 | ×0.690 | — | ×1.033 | 1.95% |
| HBP% /PA | 0.00% | — | ×0.940 | — | ×1.033 | 0.00% |
| Singles /BIP | 28.00% | ÷1.010 | ×0.930 | — | ×1.033 | 26.63% |
| Doubles /BIP | 8.00% | ÷1.179 | ×0.830 | — | ×1.033 | 5.82% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.970 | — | ×1.033 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.939 | ×0.700 | — | ×1.033 | 0.00% |
Factors used: league row International League. Park (home-season share, regressed): HR 88, 1B 102, 2B 136, 3B 100, K 103, BB 97 — applied at half strength. Age: age 25 vs a level average of 27.2 → +3.3% on BB/HBP/hit rates (2.2 yr younger than average).
Result: wOBA .252 → .216; ISO .057 → .041; BABIP .360 → .325. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2021 A+Greenville Drive · 336 PAwOBA .350 → .278 (−72)K% 10.1% → 13.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 10.12% | ÷1.004 | ×1.350 | — | — | 13.61% |
| BB% (unintentional) /PA | 5.06% | ÷1.004 | ×0.710 | — | ×0.988 | 3.54% |
| HBP% /PA | 2.08% | — | ×0.810 | — | ×0.988 | 1.67% |
| Singles /BIP | 22.38% | ÷1.032 | ×0.910 | ×0.968 | ×0.988 | 18.87% |
| Doubles /BIP | 8.66% | ÷1.104 | ×0.830 | ×0.968 | ×0.988 | 6.23% |
| Triples /BIP | 0.00% | ÷1.094 | ×0.820 | ×0.968 | ×0.988 | 0.00% |
| Home runs /BIP | 2.89% | ÷0.891 | ×0.830 | — | ×0.988 | 2.66% |
Factors used: level-wide A+ factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 78, 1B 106, 2B 121, 3B 119, K 101, BB 101 — applied at half strength. Age: age 24 vs a level average of 22.8 → −1.2% on BB/HBP/hit rates (1.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.968.
Result: wOBA .350 → .278; ISO .154 → .125; BABIP .319 → .257. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2021 AAPortland Sea Dogs · 99 PAwOBA .278 → .228 (−50)K% 18.2% → 21.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.18% | ÷1.025 | ×1.220 | — | — | 21.64% |
| BB% (unintentional) /PA | 5.05% | ÷1.078 | ×0.690 | — | ×1.012 | 3.27% |
| HBP% /PA | 0.00% | — | ×0.850 | — | ×1.012 | 0.00% |
| Singles /BIP | 15.79% | ÷1.047 | ×0.940 | ×0.982 | ×1.012 | 14.08% |
| Doubles /BIP | 7.89% | ÷1.064 | ×0.870 | ×0.982 | ×1.012 | 6.41% |
| Triples /BIP | 0.00% | ÷0.900 | ×0.920 | ×0.982 | ×1.012 | 0.00% |
| Home runs /BIP | 3.95% | ÷0.900 | ×0.780 | — | ×1.012 | 3.46% |
Factors used: level-wide AA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 80, 1B 109, 2B 113, 3B 80, K 105, BB 116 — applied at half strength. Age: age 24 vs a level average of 24.8 → +1.2% on BB/HBP/hit rates (0.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.982.
Result: wOBA .278 → .228; ISO .160 → .133; BABIP .247 → .212. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).