Brian O'KeefeC Tacoma Rainiers
Age 33 R/R 6'0" / 210 lbs AAA HR -5% Svc 3.000 · Ctrl thru 2028
2026 ROS PROJECTION150 act + 122 ros · stats below = ROS only
wRC+†66
AVG/OBP/SLG.196 / .256 / .330
PA122
HR3
K%29
BB%7
BABIP253
ISO134
MLB%10%
Value2026 · WAR
BAT: -15.9 runs (wOBA-derived runs vs avg)-16BATRUN: +0.1 runs (SB/CS + UBR baserunning)+0RUNFLD: -0.2 runs (Defensive runs vs avg)-0FLDPOS: +4.9 runs (Positional adjustment)+5POSREP: +7.7 runs (Replacement-level credit)+8REPTotal WAR: -0.30-0.3WAR
0.00.51.00.00.00.0-$1M ctrl surplus26272829303132333435
projected WAR paid WAR ($/8M) surplus deficit
Tools · ContractCON 25 / POW 45
Toolsscout grade · Statcast %ile · 2022-2023
CONTACT25
Whiff%
1023.2%
xwOBA
100.173
POWER45
Avg EV
1078.6
Bat Spd
4070.2
EYE45
Chase%
6828.1%
SPEED45
scouting grade only
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   Arb-1
MLB Debut   2023
Service   3.000 yrs.days
Team Control Through   2028
First FA Year   2029
YearStatusSalary Proj WAR Value Surplus
2026ROSArb-1$0.2M
2027Arb-2$0.5M
2028Arb-3$0.6M
Totals $0.0M $-4M +$0.0M

Career Stats + Projections

Viewactual = stats as recorded (prior seasons combined) + projected real-world MLB lines · MLE = level/park-neutral translations
Methodology▸ how these numbers are built

All seasons translated to park-neutral MLB-equivalent (MLE) and combined per year. 2026 = actual YTD + projected ROS + total. 2027+ via Advanced Marcel + aging curve. Catcher framing: only 2026 Statcast framing is modeled (Baseball Savant server-caches the leaderboard to the current season); prior-year framing is unmodeled — projections for established framers may run below FG-DC by 1-3 WAR.

YearAge LvlTeam MLB% PAAB H2B3BHR BBSOHBP SBCS AVGOBPSLGOPS ISOBABIP K%BB% wOBAwRC+ BATRUNFLDPOSREP WAR
201522 APeoria Chiefs 143130 31604 8433 00 238298377675 138318 306 290 80
201522 APeoria Chiefs 143125 35805 13313 00 280362464826 184330 229 363 136
201623 A2 teams 452394 832329 471077 11 211306348654 137262 2410 286 77
201623 A2 teams 452381 9627213 60837 11 252364436800 184287 1813 356 130
201724 APeoria Chiefs 411382 7916012 251111 73 207257343600 136256 276 264 60
201724 APeoria Chiefs 411373 9720015 34891 73 260324434758 174301 228 334 114
201825 A+Palm Beach Cardinals 288256 582507 27654 00 227310406716 180276 239 316 100
201825 A+Palm Beach Cardinals 288243 592306 40494 00 243359412770 169280 1714 347 124
201926 AASpringfield Cardinals 346311 57609 27944 11 183257289547 106227 278 249 49
201926 AASpringfield Cardinals 346301 699013 37714 11 229322389710 159255 2111 318 101
202128 AAA2 teams 456425 10212124 291622 42 240292442734 202326 366 309 95
202128 AAA2 teams 456406 10914124 481312 42 268349485834 217339 2911 368 140
202229 AAATacoma Rainiers 352327 712228 21994 11 217273370643 153286 286 275 69
202229 AAATacoma Rainiers 352316 8019213 32804 11 253330449779 196300 239 345 122
202330 AAA2 teams 424387 6924013 331292 23 178246341588 163227 308 259 57
202330 AAA2 teams 424372 8627023 481062 23 231322489812 258257 2511 354 129
202431 AAAOmaha Storm Chasers 280255 5811013 21690 01 227286424710 196254 258 300 88
202431 AAAOmaha Storm Chasers 280242 6812018 34550 01 281370554923 273289 2012 396 161
202532 AAAOmaha Storm Chasers 162149 17403 12510 20 114180201381 87147 317 176 -7
202532 AAAOmaha Storm Chasers 162146 23504 15430 20 158236274510 116192 279 234 37
▸ 2026 Season (ACT · ROS-MLE · ROS-CTX · FULL)
YTD33 AAASEA 150141 25803 9500 10 177227298525 121250 336 230 34 -11 +0 +0 +3 +4 -0.4
YTD33 AAASEA 150137 331104 13390 10 241307409715 168309 269 319 102 +0 +0 +0 +3 +4 0.8
ROS33 AAASEA 10% 122112 22603 9350 10 196256330587 134258 297 271 66 -5 +0 -0 +2 +3 0.1
ROS33 MLBSEA 10% 1211 2100 130 00 182250273523 91256 258 266 62 -1 +0 -0 +0 +0 0.0
FULL33 AAASEA 162152 27903 10530 10 178228296524 118250 336 233 36 -12 +0 -0 +3 +5 -0.4
TOT33 AAASEA 272253 471406 18850 20 186240312552 126252 317 248 48 -16 +0 -0 +5 +8 -0.3
▸ 2027+ Projections   WITH CONTEXT · MLB TIME ONLY ⓘ
202734 MLBSEA 6% 202185 36905 15590 10 195255324579 130255 297 267 62 -9 +0 -5 +4 +6 -0.4
202835 MLBSEA 1% 152140 27604 11450 10 193252321573 129251 307 260 57 -7 +0 -6 +3 +4 -0.6
202734 MLBSEA 6% 1110 1000 130 00 100182100282 253 279 262 58 -1 +0 -0 +0 +0 -0.0
202835 MLBSEA 1% 22 0000 010 00 248 500 255 53 -0 +0 -0 +0 +0 -0.0
▸ Career Totals
Career 4642 5300 4140 00 119196190386 71179 309 229 34 -3 +0 -1 +8 +1 0.5
/ 162G 650593 704200 571980 00 118195189384 71177 309 229 34 -49 +0 -11 +113 +18 7.4
Career 37903453 7101705114 285106927 2112 206271357628 151260 288 275 69 -134 -1 -12 +68 +107 3.0
/ 162G 650592 12229120 491835 42 206273360633 154260 288 275 69 -23 +0 -2 +12 +18 0.5

Historical Stats — Raw (Per Stint)

Actual MLB + MiLB stats as they happened, one row per stint at each level. Use this to see what really got recorded; the table above shows MLB-equivalent translations + projections.

YearAge LvlTeam MLB% PAAB H2B3BHR BBSOHBP SBCS AVGOBPSLGOPS ISOBABIP K%BB% wOBAwRC+ BATRUNFLDPOSREP WAR
201522 APeoria Chiefs 143125 35805 13313 00 280362464826 184330 229 363 136 +6 +0 +4 1.0
201623 A+Palm Beach Cardinals 3224 4200 850 00 167375250625 83211 1625 311 96 -0 +0 +1 0.1
201623 APeoria Chiefs 420357 9225213 52787 11 258363448811 190293 1912 359 133 +16 -0 +12 2.8
201724 APeoria Chiefs 411373 9720015 34891 73 260324434758 174301 228 334 114 +7 +0 +12 1.9
201825 A+Palm Beach Cardinals 288243 592306 40494 00 243359412770 169280 1714 347 124 +8 +0 +8 1.6
201926 AASpringfield Cardinals 346301 699013 37714 11 229322389710 159255 2111 318 101 +0 -0 +10 1.0
202128 AAATacoma Rainiers 248217 557013 31720 11 253347465812 212318 2912 360 134 +9 -0 +7 1.7
202128 AAArkansas Travelers 208189 547111 17592 31 286351508859 222361 288 377 147 +11 +0 +6 1.7
202229 AAATacoma Rainiers 352316 8019213 32804 11 253330449779 196300 239 345 122 +9 -0 +10 1.9
202330 MLBSeattle Mariners 2119 2200 270 00 105190211401 105167 3310 189 3 -2 +0 -0 +8 +1 0.6
202330 AAATacoma Rainiers 403353 8425023 46992 23 238329504833 266262 2511 363 136 +16 -1 +11 2.7
202431 AAAOmaha Storm Chasers 280242 6812018 34550 01 281370554923 273289 2012 396 161 +19 -0 +8 2.8
202532 AAAOmaha Storm Chasers 162146 23504 15430 20 158236274510 116192 279 234 37 -12 +0 +5 -0.7
▸ Career Totals (raw MLB only — historical actual)
MLB Career 2119 2200 270 00 105190211401 105167 3310 189 3 -2 +0 -0 +8 +1 0.6

Career Path Comps

What happened to players with a similar stat profile at this age · Y-axis: wRC+ (100 = league avg, 150 = elite, 80 = below) · Bands: P10–P90 outer, P25–P75 inner · Gold: OGILVIE projection

Scouting At Match Age Next 3 Yrs Peak 3 Yrs
Comp Age HIT PWR SPD EYE AVG/OBP/SLG ISOBABIP HRSB K%BB% wRC+WAR AVG/OBP/SLG ISOBABIP HRSB K%BB% wRC+WAR AVG/OBP/SLG ISOBABIP HRSB K%BB% wRC+WAR
Brian O'Keefe (OGILVIE) 33 25 45 45 45 186/240/312 126252 62 31% 7% 48 -0.3
Dustin Garneau
2021 · MLB
33 41→37 48→50 45 46 208/290/355 147272 165 29% 8% 81 +0.4 196/274/370 174253 226 31% 7% 79 +0.3 152/237/32917618024132%7%52-0.5
Chad Moeller
2008 · MLB
33 40 45→50 41→30 42 207/262/327 120257 144 25% 6% 62 -0.9 214/267/319 105267 94 22% 6% 61 -1.0 206/259/298922575021%5%48-0.5
Matt Pagnozzi
2015 · MLB
32 36 46→45 47→40 39 193/249/313 121249 164 30% 5% 53 -1.5 214/268/326 112275 136 26% 6% 63 -0.8 207/263/279722628023%7%48-0.7
Joe Hudson
2023 · MLB
32 36 50→45 48→40 42 196/258/342 146266 206 34% 8% 64 -0.8 200/290/341 141308 189 38% 10% 78 +0.2 186/300/317131286171037%12%74-0.0
Brett Hayes
2015 · MLB
31 37 51→45 50→40 35 203/237/357 154262 197 31% 4% 59 -1.1 182/223/291 109243 125 30% 4% 35 -2.8 151/193/229782088031%4%3-1.5
Anthony Recker
2017 · MLB
33 42→48 48→55 48→45 48 212/293/354 143279 165 29% 9% 82 +0.5 207/271/347 140282 155 31% 7% 70 -0.3 185/243/32313825216133%5%50-0.8
Cody Ransom
2009 · MLB
33 39→42 54→55 48→50 44 213/277/392 179263 2311 29% 7% 85 +0.7 220/281/396 176280 2110 29% 7% 88 +0.9 216/283/39918329024733%8%87+0.6
Tuffy Gosewisch
2017 · MLB
33 44→45 45 46→40 45 223/273/345 122255 135 19% 6% 70 -0.3 198/263/301 103257 94 25% 7% 55 -1.4 174/245/259852366127%7%35-1.1
Paul Hoover
2009 · MLB
33 45 44→45 43→45 40 224/271/339 115298 125 28% 5% 68 -0.5 222/276/315 93306 64 28% 6% 63 -0.8 221/279/301803073127%7%57-0.6
Mike Rivera
2009 · MLB
32 42 52→55 44→45 43 221/269/380 158248 219 21% 5% 79 +0.3 212/286/334 122277 127 26% 8% 74 -0.1 192/275/29610426210428%9%55-0.5
Jett Bandy
2021 · MLB
31 39 49→50 44→45 37 207/267/349 142269 186 30% 4% 70 -0.3 215/276/333 118299 138 31% 6% 69 -0.4 175/246/242682548032%6%34-0.6
Anthony Bemboom
2023 · MLB
33 41 46→45 48→45 46 209/278/336 127264 145 26% 8% 70 -0.3 214/282/331 117278 115 26% 8% 71 -0.3 202/279/3101072659125%9%62-0.3
Carlos M. Rodriguez
2015 · AAA
33 40→42 50→55 46→40 38 207/270/354 148299 194 36% 7% 72 -0.2 208/261/317 109306 124 34% 6% 58 -1.2 209/258/31510630511134%5%54-0.9
Guillermo Quiroz
2014 · MLB
32 45 47→50 47→50 44 226/284/365 139286 144 26% 6% 80 +0.4 218/259/318 100285 94 26% 4% 56 -1.3 205/237/3029727710029%3%39-1.1
Francisco Peña
2021 · MLB
31 43→46 51→55 48→40 41 229/267/387 159267 207 24% 5% 79 +0.3 210/260/392 182238 266 25% 5% 79 +0.3 180/232/36418518630125%4%60-0.8
Chris Truby
2006 · MLB
32 39→43 51→50 41→45 43 209/255/364 155246 194 25% 6% 68 -0.5 206/253/328 122267 139 27% 5% 57 -1.2 179/230/2779923591128%5%32-1.8
Mike DiFelice
2002 · MLB
33 43 45→50 45→30 43 217/268/339 122262 125 22% 6% 66 -0.6 229/289/360 131271 125 19% 7% 81 +0.4 220/283/36114126115121%7%74-0.0
Jonathan Aceves
2011 · AAA
33 41 47→55 40→30 42 214/255/340 127255 164 24% 5% 62 -0.9 222/270/373 151275 185 26% 6% 77 +0.1 237/309/35511828513121%8%87+0.4
Bryan Holaday
2021 · MLB
33 47 44→45 43→40 50 232/301/350 118268 126 18% 8% 84 +0.6 230/290/403 173279 218 25% 7% 93 +1.3 199/253/41021122528427%5%82+0.1
David Matranga
2009 · AAA
32 42 46→45 49→50 42 213/278/339 126281 1410 29% 6% 72 -0.2 223/303/350 127303 139 28% 9% 85 +0.7 209/311/32411528711528%10%82+0.2