
LF · 2025
Mark Canha
- Age
- 36
- B/T
- R/R
- Height
- 6' 1"
- Weight
- 200 lb
- Number
- #33
- Born
- February 15, 1989 in San Jose, CA, USA
- MLB debut
- April 8, 2015
- Drafted
- 2014, round 1
- College
- California
- High school
- Bellarmine Prep
- Salary, 2025
- $1.4M
- dbWAR
- .1 2 season(s)
- PA
- 125
- AVG
- .212
- OBP
- .272
- SLG
- .265
- wRC+
- 53 100 = avg
Mark Canha is a left fielder for the Kansas City Royals. In 2025 he hit 1 home run and knocked in 6 RBIs, notching 24 hits across 125 plate appearances in 46 games. His batting average was .212, 13.4% lower than the league average of .245. He reached base at a .272 clip and slugged .265, for an OPS of .537, 25.2% lower than the league mark of .719 — 12th of 14 on his team, and 435th of 461 among MLB batters with 100+ plate appearances. He averaged 86.6 mph off the bat, hit 33.0% of balls in play at 95 mph or better, barrelled 2.2% of them and made contact on 76.3% of his swings. Adjusted for his ballpark and league, his 53 wRC+ puts his offence 47% below average. That comes to -0.6 dbWAR — -7.1 runs with the bat, -0.6 on the bases, -2.0 for the position he plays, against replacement level. It includes no fielding: defensive runs are proprietary and are not estimated here, so the figure credits playing a demanding position but not playing it well.
League context
Percentile among qualified batters, 2025.
How the WAR is built
Runs above replacement, 2025. These four terms sum to -5.6 runs, divided by runs-per-win to give WAR.
WAR by season
Platoon splits
How he hits left- and right-handed pitching.
| Split | PA | AB | H | HR | BB | SO | AVG | OBP | SLG | wOBA | K% |
|---|---|---|---|---|---|---|---|---|---|---|---|
| vs LHP | 69 | 63 | 15 | 1 | 3 | 12 | .238 | .290 | .317 | .272 | 17.4% |
| vs RHP | 56 | 50 | 9 | 0 | 4 | 12 | .180 | .250 | .200 | .214 | 21.4% |
Spray chart
Where every ball he put in play landed, 2025.
Loading 90 batted balls…
Contact quality
How hard and at what angle he hits it, over 91 tracked batted balls in 2025. Percentiles are against qualified batters.
- Barrel rate
- 2.2% 2 barrels
- Exit velocity
- 86.6 mph average
- Max exit velo
- 105.5 mph, hardest hit
- Hard hit
- 33.0% 95 mph or better
- Sweet spot
- 27.5% 8–32° launch
- Launch angle
- 19.9° average
A barrel is a batted ball whose exit velocity and launch angle have historically produced at least a .500 average and 1.500 slugging — 98 mph within 26–30°, widening to 8–50° by 116 mph. Reconstructed from Statcast's published anchor points, which reproduces them exactly; the interior is within a degree. Sweet spot (8–32°) is an exact definition.
Hot and cold zones
Batting average by pitch location, 2025.
Situational hitting
How Mark Canha hits by base state, outs, score and late-game pressure — each read against his own season line.
| Situation | PA | AB | H | HR | RBI | BB | SO | AVG | OBP | SLG | wOBA |
|---|---|---|---|---|---|---|---|---|---|---|---|
| All situations | 125 | — | — | — | — | — | — | .212 | .272 | .265 | .246 |
| Bases empty | 70 | 64 | 14 | 1 | 1 | 4 | 14 | .219 | .286 | .313 | .271 |
| Runner on first | 25 | 24 | 7 | 0 | 0 | 0 | 3 | .292 | .320 | .292 | .278 |
| Runners on | 55 | 49 | 10 | 0 | 5 | 3 | 10 | .204 | .255 | .204 | .214 |
| RISP | 30 | 25 | 3 | 0 | 5 | 3 | 7 | .120 | .200 | .120 | .161 |
Runners on includes runners in scoring position, which is the convention every reference uses. Counted from play-by-play, 2025.
Batting
Standard and advanced, by season.
| Trend | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | 46 | 125 | 24 | 1 | 6 | 0 | 7 | 24 | .212 | .272 | .265 | .053 | .256 | 5.6% | 19.2% | .246 | -7.1 | 53 | -0.6 | |
| 2024 | 124 | 462 | 95 | 7 | 42 | 7 | 51 | 96 | .242 | .344 | .346 | .104 | .298 | 11.0% | 20.8% | .313 | +0.3 | 101 | 0.7 |
Head to head
Put Mark Canha beside up to three others.
Similar players
Nearest 2025 seasons by discipline, contact, power and speed, on rate statistics rather than totals.
wOBA uses linear weights measured from this season's own play-by-play rather than published constants, and wRC+ is park-adjusted against that same league. dbWAR is our own open implementation — not fWAR or bWAR — and the full derivation, including its simplifications, is on the methodology page.



