Weighted Opportunity Rating (WOPR) is an analytics metric that combines target share and air yard share to estimate a player's personal volume within a team's passing environment.
OPE-WOPR expands traditional WOPR to provide deeper context of the workload and better align with the needs of PPR fantasy managers.
-
Opportunity Score (
$O$ ) — 65% Weight Traditional WOPR with heavier target weighting to reflect PPR scoring dynamics:
-
Efficiency Score (
$E$ ) — 25% Weight Measures target quality and distance covered per target attempt:
-
Pace Score (
$P$ ) — 10% Weight Scales player volume against the team passing environment to account for overall attempt volume:
- Uses the nflreadpy library to collect player and team statistics, filtering for positions (WR & TE) and a minimum number of targets (
$\ge 20$ targets). - Calculates each sub-score: Opportunity (
$O$ ), Efficiency ($E$ ), and Pace ($P$ ). - Combines sub-scores using their respective weights (
$0.65$ ,$0.25$ ,$0.10$ ) into a single OPE-WOPR rating. - Sorts players by their OPE-WOPR score in descending order.
- Exports a structured CSV file containing OPE-WOPR scores, sub-scores, and other metrics directly to the working directory.
- Python 3.11+
Execute the following commands in your terminal to set up the environment and run the pipeline:
git clone https://github.com/regoeric5/OPE-WOPR.git
cd OPE-WOPR
# Create the virtual environment
python3.11 -m venv venv
# Activate the virtual environment
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the engine
python main.py