| year | team name | league | level | mlb | # | age | w | l | era | g | gs | cg | sho | gr | gf | sv | ip | h | r | er | hr | bb | so | wp | bk | hb | whip | h9 | hr9 | bb9 | so9 | ra9 | so/bb |
| 2015 | Duke | ACC | NCAA-1 | Fr | 6 | 18 | 3 | 0 | 2.88 | 11 | 4 | 0 | 0 | 7 | 0 | 0 | 25.0 | 22 | 8 | 8 | 1 | 5 | 17 | 1 | 1 | 0 | 1.08 | 7.92 | 0.36 | 1.80 | 6.12 | 2.88 | 3.40 |
| 2016 | Duke | ACC | NCAA-1 | So | 6 | 19 | 0 | 5 | 2.20 | 24 | 1 | 0 | 0 | 23 | 0 | 1 | 32.2 | 29 | 9 | 8 | 0 | 8 | 33 | 2 | 0 | 2 | 1.13 | 7.99 | 0.00 | 2.20 | 9.09 | 2.48 | 4.13 |
| 2017 | Duke | ACC | NCAA-1 | Jr | 6 | 20 | 2 | 4 | 4.50 | 23 | 0 | 0 | 0 | 23 | 0 | 7 | 34.0 | 39 | 18 | 17 | 2 | 6 | 24 | 2 | 0 | 4 | 1.32 | 10.32 | 0.53 | 1.59 | 6.35 | 4.76 | 4.00 |
| 2018 | Duke | ACC | NCAA-1 | Sr | 6 | 21 | 3 | 1 | 1.11 | 26 | 0 | 0 | 0 | 26 | 0 | 10 | 40.2 | 31 | 7 | 5 | 1 | 7 | 32 | 0 | 0 | 0 | 0.93 | 6.86 | 0.22 | 1.55 | 7.08 | 1.55 | 4.57 |
| 2018 | Hudson Valley Renegades | NYPL | A- | TBA | - | 21 | 3 | 2 | 2.63 | 17 | 0 | 0 | 0 | 17 | 15 | 3 | 37.2 | 37 | 14 | 11 | 2 | 5 | 34 | 1 | 0 | 0 | 1.12 | 8.84 | 0.48 | 1.19 | 8.12 | 3.35 | 6.80 |
| 2019 | Charlotte Stone Crabs | FSL | A+ | TBA | - | 22 | 3 | 6 | 2.62 | 33 | 1 | 0 | 0 | 32 | 17 | 5 | 65.1 | 62 | 24 | 19 | 3 | 7 | 50 | 0 | 0 | 0 | 1.06 | 8.54 | 0.41 | 0.96 | 6.89 | 3.31 | 7.14 |
| 2021 | Montgomery Biscuits | Sou2 | AA | TBA | 16 | 24 | 2 | 4 | 4.20 | 28 | 11 | 0 | 0 | 17 | 6 | 0 | 79.1 | 71 | 44 | 37 | 15 | 16 | 76 | 0 | 0 | 4 | 1.10 | 8.05 | 1.70 | 1.82 | 8.62 | 4.99 | 4.75 |
| 2022 | Durham Bulls | IL2 | AAA | TBA | 36 | 25 | 1 | 0 | 6.00 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 3.0 | 3 | 2 | 2 | 1 | 0 | 2 | 0 | 0 | 0 | 1.00 | 9.00 | 3.00 | 0.00 | 6.00 | 6.00 | 0.00 |
| 2024 | Lancaster Stormers | Atl | Indy | 27 | 3 | 2 | 2.92 | 10 | 10 | 0 | 0 | 0 | 0 | 0 | 64.2 | 66 | 24 | 21 | 1 | 7 | 44 | 0 | 1 | 5 | 1.13 | 9.19 | 0.14 | 0.97 | 6.12 | 3.34 | 6.29 | ||
| Tot: | Minors (4 yrs) | Minors | 9 | 12 | 3.35 | 79 | 12 | 0 | 0 | 38 | 67 | 8 | 185.1 | 173 | 84 | 69 | 21 | 28 | 162 | 1 | 0 | 4 | 1.08 | 8.40 | 1.02 | 1.36 | 7.87 | 4.08 | 5.79 | ||||
| Tot: | Indy (1 yrs) | Indy | 3 | 2 | 2.92 | 10 | 10 | 0 | 0 | 0 | 0 | 0 | 64.2 | 66 | 24 | 21 | 1 | 7 | 44 | 0 | 1 | 5 | 1.13 | 9.19 | 0.14 | 0.97 | 6.12 | 3.34 | 6.29 | ||||
| Tot: | A- (1 yrs) | A- | 3 | 2 | 2.63 | 17 | 0 | 0 | 0 | 15 | 17 | 3 | 37.2 | 37 | 14 | 11 | 2 | 5 | 34 | 1 | 0 | 0 | 1.12 | 8.84 | 0.48 | 1.19 | 8.12 | 3.35 | 6.80 | ||||
| Tot: | A+ (1 yrs) | A+ | 3 | 6 | 2.62 | 33 | 1 | 0 | 0 | 17 | 32 | 5 | 65.1 | 62 | 24 | 19 | 3 | 7 | 50 | 0 | 0 | 0 | 1.06 | 8.54 | 0.41 | 0.96 | 6.89 | 3.31 | 7.14 | ||||
| Tot: | AA (1 yrs) | AA | 2 | 4 | 4.20 | 28 | 11 | 0 | 0 | 6 | 17 | 0 | 79.1 | 71 | 44 | 37 | 15 | 16 | 76 | 0 | 0 | 4 | 1.10 | 8.05 | 1.70 | 1.82 | 8.62 | 4.99 | 4.75 | ||||
| Tot: | AAA (1 yrs) | AAA | 1 | 0 | 6.00 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 3.0 | 3 | 2 | 2 | 1 | 0 | 2 | 0 | 0 | 0 | 1.00 | 9.00 | 3.00 | 0.00 | 6.00 | 6.00 | |||||
| Tot: | College (4 yrs) | College | 8 | 10 | 2.58 | 84 | 5 | 0 | 0 | 0 | 79 | 18 | 132.1 | 121 | 42 | 38 | 4 | 26 | 106 | 5 | 1 | 6 | 1.11 | 8.23 | 0.27 | 1.77 | 7.21 | 2.86 | 4.08 | ||||
| Avg: | Minors - 162 Inning avg | College | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 162 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | ||||
| Avg: | College - 162 Inning avg | College | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 162 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 |
| year | team name | league | category | age | w | l | era | g | gs | cg | sho | gr | gf | sv | ip | h | r | er | hr | bb | so | wp | bk | hb | whip | h9 | hr9 | bb9 | so9 | ra9 | so/bb |
| 2015 | Anchorage Glacier Pilots | Alaska Summer League | College Summer | 18 | 0 | 1 | 2.77 | 7 | 0 | 0 | 0 | 7 | 0 | 0 | 13.0 | 12 | 6 | 4 | 0 | 3 | 6 | 1 | 0 | 1 | 1.15 | 8.31 | 0.00 | 2.08 | 4.15 | 4.15 | 2.00 |
| 2016 | Anchorage Glacier Pilots | Alaska Summer League | College Summer | 19 | 0 | 1 | 4.32 | 4 | 0 | 0 | 0 | 4 | 0 | 0 | 8.1 | 10 | 4 | 4 | 0 | 0 | 4 | 0 | 0 | 1 | 1.20 | 10.80 | 0.00 | 0.00 | 4.32 | 4.32 | 0.00 |
| 2020 | Tampa Bay Rays | MLB Spring Training | Spring | 23 | 0 | 0 | 0.00 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1.0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2.00 | 18.00 | 0.00 | 0.00 | 9.00 | 0.00 | 0.00 |
| 2022 | Tampa Bay Rays | MLB Spring Training | Spring | 25 | 0 | 0 | 3.00 | 2 | 0 | 0 | 0 | 2 | 0 | 0 | 3.0 | 4 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1.33 | 12.00 | 3.00 | 0.00 | 3.00 | 3.00 | 0.00 |
| Tot: | CollegeSummer (2 Yrs) | CollegeSummer | 0 | 2 | 3.38 | 11 | 0 | 0 | 0 | 0 | 11 | 0 | 21.1 | 22 | 10 | 8 | 0 | 3 | 10 | 1 | 0 | 2 | 1.17 | 9.28 | 0.00 | 1.27 | 4.22 | 4.22 | 3.33 | ||
| Tot: | Spring (2 Yrs) | Spring | 0 | 0 | 2.25 | 3 | 0 | 0 | 0 | 0 | 3 | 0 | 4.0 | 6 | 1 | 1 | 1 | 0 | 2 | 0 | 0 | 1 | 1.50 | 13.50 | 2.25 | 0.00 | 4.50 | 2.25 |
| year | team name | league | level | mlb | # | age | pos | tbc+ | g | ab | r | h | 2b | 3b | hr | rbi | sb | cs | bb | so | hbp | sh | sf | ibb | gdp | tb | pa | xbh | 1b | avg | obp | slg | ops | seca | iso | babip | bb% | so% | so/bb | ab/hr |
| 2015 | Duke | ACC | NCAA-1 | Fr | 6 | 18 | IF | 86 | 35 | 98 | 17 | 26 | 3 | 0 | 0 | 9 | 2 | 0 | 9 | 23 | 3 | 1 | 2 | 0 | 0 | 29 | 113 | 3 | 23 | .265 | .339 | .296 | .635 | .143 | .031 | .338 | 7.96 | 20.35 | 2.56 | 0.00 |
| 2016 | Duke | ACC | NCAA-1 | So | 6 | 19 | IF | 114 | 56 | 193 | 38 | 56 | 18 | 1 | 8 | 47 | 2 | 1 | 32 | 54 | 14 | 0 | 3 | 0 | 3 | 100 | 242 | 27 | 29 | .290 | .421 | .518 | .939 | .399 | .228 | .358 | 13.22 | 22.31 | 1.69 | 24.13 |
| 2017 | Duke | ACC | NCAA-1 | Jr | 6 | 20 | IF | 106 | 57 | 207 | 33 | 57 | 17 | 2 | 6 | 43 | 0 | 0 | 37 | 62 | 9 | 0 | 5 | 0 | 3 | 96 | 258 | 25 | 32 | .275 | .399 | .464 | .863 | .367 | .189 | .354 | 14.34 | 24.03 | 1.68 | 34.50 |
| 2018 | Duke | ACC | NCAA-1 | Sr | 6 | 21 | IF | 101 | 63 | 212 | 34 | 48 | 12 | 0 | 7 | 40 | 10 | 1 | 35 | 72 | 20 | 1 | 3 | 0 | 4 | 81 | 271 | 19 | 29 | .226 | .381 | .382 | .763 | .363 | .156 | .301 | 12.92 | 26.57 | 2.06 | 30.29 |
| Tot: | College (4 yrs) | College | 211 | 710 | 122 | 187 | 50 | 3 | 21 | 139 | 14 | 2 | 113 | 211 | 46 | 2 | 13 | 0 | 10 | 306 | 884 | 74 | 113 | .263 | .392 | .431 | .823 | .344 | .168 | .338 | 12.78 | 23.87 | 1.87 | 33.81 | ||||||
| Avg: | College - 162 game avg | College | 162 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 | 🔒 |
| year | team name | league | category | age | g | ab | r | h | 2b | 3b | hr | rbi | sb | cs | bb | so | hbp | sh | sf | ibb | gdp | tb | pa | xbh | 1b | avg | obp | slg | ops | seca | iso | babip | bb% | so% | so/bb | ab/hr |
| 2015 | Anchorage Glacier Pilots | Alaska Summer League | College Summer | 18 | 28 | 80 | 10 | 16 | 4 | 0 | 0 | 5 | 4 | 0 | 7 | 26 | 5 | 2 | 1 | 0 | 2 | 20 | 95 | 4 | 12 | .200 | .301 | .250 | .551 | .188 | .050 | .291 | 7.37 | 27.37 | 3.71 | 0.00 |
| 2016 | Anchorage Glacier Pilots | Alaska Summer League | College Summer | 19 | 18 | 44 | 2 | 5 | 1 | 1 | 0 | 0 | 1 | 1 | 6 | 20 | 2 | 0 | 0 | 0 | 0 | 8 | 52 | 2 | 3 | .114 | .250 | .182 | .432 | .205 | .068 | .208 | 11.54 | 38.46 | 3.33 | 0.00 |
| Tot: | CollegeSummer (2 Yrs) | CollegeSummer | 46 | 124 | 12 | 21 | 5 | 1 | 0 | 5 | 5 | 1 | 13 | 46 | 7 | 2 | 1 | 0 | 2 | 28 | 147 | 6 | 15 | .169 | .283 | .226 | .509 | .194 | .056 | .266 | 8.84 | 31.29 | 3.54 |
| Strikeouts | Walks | Hittable | SO/BB | vs Power | Durability | Team Success |
| 34 | 95 | 58 | 93 | 58 | 80 | .601 |