Aaron Judge has established himself as one of the most dominant players in modern baseball since his debut with the New York Yankees in 2016. Standing at 6’7”, he combines elite power with exceptional plate discipline, making him a nightmare for opposing pitchers. Over the course of his career, Judge has collected multiple MVP awards, set the American League home run record with 62 in 2022, and consistently ranked among the league leaders in WAR. The following analysis breaks down his career trajectory across five key metrics: power production, plate discipline, exit velocity, defensive value, and overall wins above replacement. -it should be noted before viewing the data that the 2020 season was not played in full due to the pandemic-
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Agg')
import pandas as pd
import numpy as np
# Aaron Judge Career Data (2016-2025)
data = {
'Year': [2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025],
'HR': [4, 52, 27, 27, 9, 39, 62, 37, 58, 53],
'League_Avg_HR': [15, 18, 18, 21, 8, 20, 19, 20, 20, 20],
'K_Rate': [44.2, 30.7, 30.5, 31.5, 28.1, 25.0, 25.1, 28.4, 24.3, 23.6],
'BB_Rate': [9.5, 18.7, 15.3, 14.3, 8.8, 11.8, 15.9, 19.2, 18.9, 18.3],
'Avg_EV': [93.3, 94.9, 94.7, 95.9, 91.9, 95.8, 95.9, 97.6, 96.2, 96.0],
'DRS': [0, 9, 2, 19, 2, 11, 15, 3, 0, 0],
'WAR': [-0.3, 8.1, 6.0, 5.6, 0.9, 6.0, 10.6, 4.5, 10.8, 9.0]
}
df = pd.DataFrame(data)
# Visual Theme Colors
yankee_blue = '#003087'
yankee_gray = '#C4CED4'
mlb_red = '#E31937'
fig, ax = plt.subplots(figsize=(10, 6))
x = np.arange(len(df['Year']))
width = 0.35
ax.bar(x - width/2, df['HR'], width, label='Aaron Judge', color=yankee_blue)
ax.bar(x + width/2, df['League_Avg_HR'], width, label='League Avg Starter', color=yankee_gray)
ax.set_ylabel('Home Runs')
ax.set_title('The Power Gap: Aaron Judge vs League Average Outfielders')
ax.set_xticks(x)
ax.set_xticklabels(df['Year'])
ax.legend()
plt.tight_layout()
plt.show()
Judge has consistently dwarfed the league average in home runs, with his record-breaking 62 HR season in 2022 standing as a defining career moment.
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(df['Year'], df['K_Rate'], label='Strikeout Rate (K%)', marker='o', color=mlb_red, linewidth=3)
ax.plot(df['Year'], df['BB_Rate'], label='Walk Rate (BB%)', marker='o', color=yankee_blue, linewidth=3)
ax.set_ylabel('Percentage (%)')
ax.set_title('Mastering the Zone: The Narrowing Gap of K% vs BB%')
ax.set_xticks(df['Year'])
ax.grid(True, linestyle='--', alpha=0.6)
ax.legend()
plt.tight_layout()
plt.show()
Judge’s strikeout rate has dropped significantly since his rookie year (44.2% → 23.6%), while his walk rate has surged — a sign of elite plate discipline development.
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(df['Year'], df['Avg_EV'], label='Judge Avg Exit Velo', marker='s', color=yankee_blue, linewidth=4)
ax.axhline(y=88.4, color=mlb_red, linestyle='--', label='MLB Average (88.4 MPH)')
ax.fill_between(df['Year'], 88.4, df['Avg_EV'], color=yankee_blue, alpha=0.1)
ax.set_ylabel('Miles Per Hour (MPH)')
ax.set_title("Hard Hit King: Judge's Exit Velocity vs. The Field")
ax.set_xticks(df['Year'])
ax.set_ylim(85, 100)
## (85.0, 100.0)
ax.legend()
plt.tight_layout()
plt.show()
Judge’s average exit velocity has consistently exceeded the MLB average by 7–9 MPH, peaking at 97.6 MPH in 2023.
fig, ax = plt.subplots(figsize=(10, 6))
ax.bar(df['Year'], df['DRS'], color=yankee_blue, alpha=0.8)
ax.set_ylabel('Defensive Runs Saved (DRS)')
ax.set_title('More Than Just a Bat: Career Defensive Runs Saved')
ax.set_xticks(df['Year'])
ax.axhline(0, color='black', linewidth=1)
plt.tight_layout()
plt.show()
Judge’s best defensive seasons came in 2019 (+19 DRS) and 2022 (+15 DRS), reinforcing his status as a complete player, not just a slugger.
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(df['Year'], df['WAR'], marker='D', color=yankee_blue, markersize=8, linewidth=3)
ax.axhline(y=8.0, color='gold', linestyle=':', label='MVP Caliber (8.0+ WAR)')
ax.set_ylabel('Wins Above Replacement (WAR)')
ax.set_title('The Modern Legend: Aaron Judge Career WAR Path')
ax.set_xticks(df['Year'])
ax.fill_between(df['Year'], df['WAR'], color=yankee_blue, alpha=0.2)
ax.legend()
plt.tight_layout()
plt.show()
Judge has reached MVP-caliber WAR (8.0+) in four seasons, with back-to-back elite campaigns in 2022 (10.6) and 2024 (10.8).
Aaron Judge is one of the most dominant players in modern baseball history — a rare combination of elite power, plate discipline, and defensive value.