About the Project

LineupOptimization

A novel statistical framework for baseball lineup optimization, built on inter-player synergy rather than individual talent alone.

Permutations evaluated362,880batting orders · 9 players
Batting Orders Evaluated
Max RPC Improvement
Player Lineup Model
Run Value Engine
Most baseball stats evaluate players in isolation.
But baseball isn’t played in isolation.

The BRP Framework — SARG, Johns Hopkins

07 sections
01/Overview

TL;DR

Most baseball stats evaluate players in isolation, but baseball isn’t played in isolation. We created BRP (Baserunner-Dependent Run Production), a metric that evaluates how groups of four consecutive hitters interact to generate runs — capturing lineup dynamics far better than traditional metrics.

By modeling every possible batting order — all 362,880 permutations — we identify the most effective lineup based on expected runs per cycle. The result: 3–25% more expected runs per cycle, purely from reordering the same nine players.

02/Model

The BRP Method

For each 4-player sequence, we compute joint outcome probabilities by multiplying each batter’s stat-based results with preceding batter outcomes. Every result is weighted by its RE24 run impact and summed to produce that group’s BRP.

A power hitter batting behind high-OBP players is worth more than the same hitter leading off empty bases. BRP captures exactly this.

03/Special Cases

Leadoff Adjustments

Leadoff hitters always start with empty bases. We define Leadoff BRP, Second At-Bat BRP, and Third At-Bat BRP to account for first-inning constraints.

We apply position weightings: 8/9ths for the leadoff hitter, 7/9ths for second, down to 1/9th for the ninth batter.

04/Metric

RPC

Net RPC (Runs Per Cycle) aggregates all BRP values across the 9-player lineup. Positive RPC signals synergy and efficient sequencing; negative RPC signals inefficiency relative to a league-average baseline.

05/Components

GOB + PUDI

Each player’s BRP splits into GOB (Get On Base) — the value of keeping the inning alive — and PUDI (Push Up/Drive In) — the value of advancing runners and driving them home. By construction, GOB + PUDI = BRP.

06/Results

Key Findings

Traditional lineups put contact hitters first and sluggers third or fourth. Our optimizer often inverts this, placing the highest producers early and creating a “valley” in spots 5–7 to minimize strand risk.

Counterintuitively, the 8th and 9th batters frequently serve as on-base threats — a runway for the top of the order. This structure consistently produces more runs per cycle than conventional wisdom would suggest.

07/Team

Credits

AuthorsNeil Patel, Shayan Haque, Kiran Shay, Ben Buman, Andy Nguyen, Chenzhuo Li
MentorDr. Dahbura
AffiliationSports Analytics Research Group, Johns Hopkins University