Chapter 62 Intermediate ~45 min read

Position-Specific Analytics: Wings

Specialized evaluation frameworks for small forwards and versatile wing players.

The Modern Wing Role

Wings—small forwards and versatile combo forwards—have become the most valuable position in modern basketball. Players like LeBron James, Kevin Durant, and Kawhi Leonard demonstrate why: wings can guard multiple positions, score from anywhere, and facilitate offense without the ball-handling burden of a point guard. This chapter develops metrics that capture the unique value proposition of elite wing players.

Two-Way Impact Measurement

Elite wings provide value on both ends of the floor, making two-way metrics essential. Unlike guards who primarily defend guards or bigs who primarily protect the rim, wings face the most varied defensive assignments. Evaluating their defense requires tracking performance across different matchup types while recognizing that their offensive load may vary based on team construction.

import pandas as pd

def evaluate_wing_versatility(player_data, matchup_data):
    """Evaluate wing two-way versatility"""

    # Offensive versatility
    offensive = {
        "catch_shoot_3pct": player_data["catch_shoot_3pm"] / player_data["catch_shoot_3pa"],
        "pullup_efficiency": player_data["pullup_pts"] / player_data["pullup_poss"],
        "post_up_efficiency": player_data["post_pts"] / player_data["post_poss"],
        "iso_efficiency": player_data["iso_pts"] / player_data["iso_poss"],
        "transition_ppp": player_data["trans_pts"] / player_data["trans_poss"]
    }

    # Defensive versatility by matchup type
    defense_by_position = matchup_data.groupby("opp_position").agg({
        "pts_allowed": "sum",
        "possessions": "sum"
    })
    defense_by_position["ppp_allowed"] = (
        defense_by_position["pts_allowed"] / defense_by_position["possessions"]
    )

    # Switching ability score
    position_variance = defense_by_position["ppp_allowed"].std()
    switching_score = 1 / (1 + position_variance)  # Lower variance = better switching

    return {
        "offensive_versatility": offensive,
        "defensive_by_position": defense_by_position,
        "switching_score": switching_score
    }

wing_data = pd.read_csv("wing_player_data.csv")
matchups = pd.read_csv("wing_matchups.csv")
versatility = evaluate_wing_versatility(wing_data, matchups)

Spacing and Gravity

Wings who can shoot create spacing that unlocks the rest of the offense. Gravity metrics—how much defensive attention a player commands even without the ball—are particularly relevant for wings. We measure this through help defender proximity, closeout frequency, and teammate efficiency when the wing is on versus off the court.

# Wing spacing impact analysis
library(tidyverse)

analyze_wing_spacing <- function(lineup_data, player_id) {
  # Compare team metrics with player on vs off
  on_court <- lineup_data %>% filter(player_on == player_id)
  off_court <- lineup_data %>% filter(player_on != player_id)

  spacing_impact <- tibble(
    metric = c("Team 3PA Rate", "Rim Attempt Rate", "Paint Points", "eFG%"),
    with_player = c(
      mean(on_court$team_3pa_rate),
      mean(on_court$team_rim_rate),
      mean(on_court$paint_points),
      mean(on_court$team_efg)
    ),
    without_player = c(
      mean(off_court$team_3pa_rate),
      mean(off_court$team_rim_rate),
      mean(off_court$paint_points),
      mean(off_court$team_efg)
    )
  ) %>%
    mutate(differential = with_player - without_player)

  return(spacing_impact)
}

lineup_data <- read_csv("lineup_stats.csv")
spacing <- analyze_wing_spacing(lineup_data, player_id = 203954)
print(spacing)

Wing Defensive Assignment Value

Perhaps no metric better captures wing value than their ability to take the toughest defensive assignment. When a wing can guard the opponent's best perimeter player—whether that's a quick guard or a physical forward—it frees teammates and simplifies defensive schemes. We quantify this through matchup difficulty (opponent usage, scoring average) and defensive success rate.

Transition and Fast Break Contribution

Wings often function as the connective tissue in transition offense. Their length allows them to finish at the rim, their shooting threatens early threes, and their passing vision can find trailing teammates. Tracking data reveals how wings contribute to fast break efficiency through primary scoring, secondary assists, and defensive-to-offensive conversion speed.

Key Takeaways

  • Wings provide unique two-way value that requires specialized metrics
  • Defensive versatility—ability to guard multiple positions—is a key differentiator
  • Spacing and gravity create indirect value not captured in box scores
  • Elite wings take tough defensive assignments while maintaining offensive efficiency
  • Transition contribution adds another dimension to wing evaluation
Chapter Summary

You've completed Chapter 62: Position-Specific Analytics: Wings.