Project Overview
In fantasy baseball, the waiver wire is where leagues are won. But how do you know if you’re making the right moves?
I conducted a rigorous audit of my 2025 roster management for Team PJR. Using Python and time-series analysis, I evaluated every roster spot against the available free agent pool to answer two questions:
- Who shouldn’t have been on my team? (Dead Spots)
- Who should I have picked up? (Missed Opportunities)
View League-Wide Analysis & Optimal Strategy >
Methodology
- Data Source: Daily player stats for the entire 2025 MLB season.
- Value Metric: A custom Z-Score model weighted for standard fantasy categories.
- Evaluation Window: 42-Day Trailing Value. (See League Analysis for why this window was chosen).
Key Findings
1. Dead Roster Spots
The most painful insight was the number of roster spots I held that contributed zero or negative value. These “zombie” players (often injured or benched) dragged down the team’s cumulative score.
Frequent Offenders:
- Carson Kelly: Effectively zero production from April through August.
- Trent Grisham: Held for long stretches with no value.
- Matthew Boyd: Held during rehab without production.
Action Item: Be more aggressive. A replacement-level streamer is infinitely better than a zero.
2. The One That Got Away: Trevor Story
My analysis flagged Trevor Story as a massive missed opportunity. In July, my utility spots were occupied by slumping stars, while Story was putting up 1st-round value on the waiver wire.
| Date | My Drop Candidate | My Value | Better Option (Value) |
|---|---|---|---|
| 2025-07-07 | Bryce Harper (Slump) | -0.32 | Trevor Story (+1.46) |
| 2025-07-07 | Willi Castro | +0.36 | Trevor Story (+1.46) |
Note: The model boldly suggested dropping a slumping Harper. While I wouldn’t cut a keeper, this screams “Bench Harper, Pick up Story”.
3. Weekly Audit Results
I ran the model as a “Weekly Checkpoint” simulation. Here is a sample of the missed opportunities it identified:
| Week of | Drop Candidate | Missed Pickup | Value Swing |
|---|---|---|---|
| May 26 | George Kirby (-0.14) | Carlos Santana (+0.91) | +1.05 |
| July 07 | Willi Castro (+0.36) | Trevor Story (+1.46) | +1.10 |
| Aug 25 | Brandon Nimmo (-0.26) | Lourdes Gurriel Jr. (+1.61) | +1.87 |
Conclusion
The data confirms that I was too passive. Using a 42-Day Trailing Value metric as a weekly “cut bait” signal would have unearthed massive value from the waiver wire. Next season, I will implement an automated weekly audit to force these tough decisions.
TODO
- Initial Analysis
- Data Processing
- Write-up
- Automate weekly alerts for 2026
Last Updated: 2026-02-16