Skip to main content

Data Does Not Lie: Week Four 2026

· 9 min read
Scottie Enriquez
League Webmaster

New Series: Data Does Not Lie​

I’m old and tired now. Grad school and work make it almost impossible to write power rankings that shit on your team every week. Instead, I’m just going to let the data tell the full story here periodically. In case you missed it, I stole Callen’s idea to build a Sleeper lakehouse using Databricks Free Edition. All data comes from there, and you can easily run all code snippets below in a Databricks notebook. I’m happy to grant you access. Just share your email address. It’s time to let the hate flow.

Luck and Expected Wins​

When I previously analyzed luck in the league’s history, I found that wow_o, the number of teams that your score would beat on any given week, is arguably the best performance metric. This has been built into the lakehouse as expected_wins and falls into a range between 0 and 1 using min-max scaling. In short, if you get the highest score, your expected wins are 1. If you have the worst, then it’s 0. The same idea, but we can also quantify luck relative to actual wins. I’ll start by ranking everyone by expected wins:

season-summary.sql
with totals as (
select manager_display_name as Manager,
sum(points) as PF,
sum(opponent_points) as PA,
sum(expected_wins) as ExpectedWins,
sum(case result when 'win' then 1 when 'tie' then 0.5 else 0 end) as ActualWins
from sleeper.gold.weekly_scores
where season = 2026 and week < 5
group by manager_display_name
)
select Manager, round(PF, 2) as PF, round(PA, 2) as PA, round(ExpectedWins, 2) as ExpectedWins, ActualWins,
round(ActualWins - ExpectedWins, 2) as Luck
from totals
order by ExpectedWins desc

Let’s see how that looks:

ManagerPFPAExpected WinsActual WinsSchedule Luck
coolguytrav553.00448.173.823.0-0.82
exoentropy502.38402.213.004.01.00
lrich91469.87409.112.553.00.45
BigOleDoinks463.86445.022.452.0-0.45
novaprice455.56376.042.364.01.64
markhambone436.67491.192.182.0-0.18
mattkman415.84463.711.641.0-0.64
callentrail408.05457.931.641.0-0.64
almostwinning371.58367.441.182.00.82
cramseyio407.33436.971.181.0-0.18
jyarrow356.07450.181.091.0-0.09
acarlough362.43454.670.910.0-0.91

Tarv’s team is a country mile ahead of everyone in PF. His not being 4-0 is squarely due to bad luck. His one loss is the classic scenario of scoring second PF for the week while playing the top scorer. A sub-one-point loss on top of that is just brutal. This team is still the best, no question. On the flip side, Caleb is by far the largest beneficiary of luck. Standing in fifth in PF and 4-0 is only possible because of an extra 1.64 wins from pure luck. The most egregious example is last week, when his team finished third-to-last in points but happened to play one of the two teams with even fewer. This stat won’t capture it, but Caleb’s luck continues by playing me when my QB, RB1, and RB3 are all on bye. Yours truly is the other beneficiary of luck. While I’m second in PF by a comfortable margin, my luck came from playing Carlos during my only down week.

Keeper Value​

It’s obviously too early to analyze everyone’s draft decisions and strategies (e.g., a few high-end players, several mid-tier players, etc.). That said, we can review points per dollar on an ongoing basis:

keeper-value.sql
select player_name as Player, position as Position, nfl_team as Team,
manager_display_name as Manager, amount as Cost, points_for_drafting_team as PF,
round(points_per_dollar, 2) as PointsPerDollar
from sleeper.gold.draft_spend
where season = 2026 and is_keeper = true
order by PointsPerDollar desc;

Here’s the output:

PlayerPositionTeamManagerCostPFPoints per Dollar
Javonte WilliamsRBDALcoolguytrav1480.45.74
Chris OlaveWRNOmattkman2079.13.95
Kyren WilliamsRBLARnovaprice2076.73.84
Kenneth WalkerRBKCexoentropy29101.13.49
Emeka EgbukaWRTBexoentropy1440.12.86
Cam SkatteboRBNYGcallentrail1436.22.59
Amon-Ra St. BrownWRDETmarkhambone2972.32.49
Brock BowersTELValmostwinning1742.22.48
Chase BrownRBCINcoolguytrav1740.02.35
Tyler WarrenTEINDmattkman1429.52.11
Ladd McConkeyWRLACcramseyio1733.31.96
Drake MayeQBNEcallentrail1425.71.84
Rashee RiceWRKCcramseyio2030.01.50

Callen thought Javonte Williams was obviously the best keeper during the draft. This has held so far in terms of ROI. Kenneth Walker is the best keeper from a total PF perspective. Caleb continues to lean on Kyren Williams. Keepers clearly bolster the top teams on the leaderboard. Callen and Cramsey have not-so-great ROI. Drake Maye was already dropped, and Cam Skattebo continues to deal with injury issues while averaging 0.75 fumbles per game. Ladd McConkey and Rashee Rice are currently WR 39 and 43, respectively. Not terrible, but not worth the price tag.

Flyers​

We’ll look at the high-end players later, but I was curious whose one-dollar picks went the farthest. Yes, I know it’s an arbitrary cutoff. I also excluded QBs (not because I don’t want Patrick Mahomes on any of my lists, I swear) and defenses. We can tweak the query above:

flyers.sql
select player_name as Player, position as Position, nfl_team as Team,
manager_display_name as Manager, amount as Cost, points_for_drafting_team as PF,
round(points_per_dollar, 2) as PointsPerDollar
from sleeper.gold.draft_spend
where season = 2026 and amount = 1 and position not in ('QB', 'DEF') and points_for_drafting_team > 0
order by PointsPerDollar desc;

Look at that! We’ve got a Longhorn legend at the top:

PlayerPositionTeamManagerCostPFPoints per Dollar
Matthew GoldenWRGBnovaprice151.051.00
Deebo SamuelWRSFlrich91145.945.90
Isaiah LikelyTENYGnovaprice141.041.00
Jakobi MeyersWRJAXalmostwinning136.736.70
Wan’Dale RobinsonWRTENjyarrow132.432.40
Josh DownsWRINDalmostwinning132.232.20
Jordan AddisonWRMINacarlough128.228.20
Alvin KamaraRBNOlrich91125.125.10
Keaton MitchellRBLACmarkhambone123.823.80
Juwan JohnsonTENOBigOleDoinks122.322.30
Rachaad WhiteRBWASjyarrow122.122.10
Romeo DoubsWRNEnovaprice117.517.50
Rashid ShaheedWRSEAlrich91117.017.00
Jonah ColemanRBDENnovaprice111.811.80
Tyler AllgeierRBARIacarlough110.810.80

Caleb clearly shines here. Trondheim also has some good value picks. Mark and John probably planned on being higher on this list, given the top dollar they spent on their core.

Top-Dollar Talent​

Next, I wanted to know more about the premium picks. Before diving in, I first defined what ‘premium’ means using some simple Spark code.

statistics.py
df = spark.table('sleeper.gold.draft_spend').where('season = 2026')
display(df.select('amount', 'points_for_drafting_team', 'points_per_dollar').summary())

Statisticians rejoice.

SummaryAmountPoints for Drafting TeamPoints per Dollar
Count156144144
Mean15.3737.109.04
Standard Deviation19.8126.1214.38
Minimum1-0.60-0.60
25th Percentile117.501.37
Median634.303.23
75th Percentile2147.808.08
Maximum88116.3691.78

Great! Let’s use that 75th percentile to define premium:

high-end.sql
select player_name as Player, position as Position, nfl_team as Team,
manager_display_name as Manager, amount as Cost, points_for_drafting_team as PF,
round(points_per_dollar, 2) as PointsPerDollar
from sleeper.gold.draft_spend
where season = 2026 and amount >= 21
order by PointsPerDollar desc
limit 15;

I was on the fence about whether to include QBs here. I ultimately kept it because Josh Allen is the top player overall by fantasy points. For the record, I think Jalen Hurts is only on here because of intrinsic position value.

PlayerPositionTeamManagerCostPFPoints per Dollar
Josh AllenQBBUFBigOleDoinks32116.363.64
Kenneth WalkerRBKCexoentropy29101.103.49
Jalen HurtsQBPHIlrich912372.823.17
Tee HigginsWRCINcoolguytrav2165.103.10
Amon-Ra St. BrownWRDETmarkhambone2972.302.49
Tetairoa McMillanWRCARalmostwinning2762.502.31
Zay FlowersWRBALcoolguytrav2861.202.19
Bucky IrvingRBTBlrich912963.002.17
Garrett WilsonWRNYJnovaprice2651.001.96
CeeDee LambWRDALlrich9158100.101.73
Jaxon Smith-NjigbaWRSEAcoolguytrav64103.761.62
Derrick HenryRBBALexoentropy5485.801.59
Quinshon JudkinsRBCLEcramseyio2638.301.47
DeVonta SmithWRPHIacarlough2738.501.43
David MontgomeryRBHOUmattkman2838.401.37

There’s an argument to be made (at least so far) that Kenneth Walker is the best pick in the draft. The highest flex player by points per dollar in the top quartile. But what about the very top by spend? Let’s check that out too:

top.sql
select player_name as Player, position as Position, nfl_team as Team,
manager_display_name as Manager, amount as Cost, points_for_drafting_team as PF,
round(points_per_dollar, 2) as PointsPerDollar
from sleeper.gold.draft_spend
where season = 2026 and amount >= 21
order by amount desc
limit 15;

The results are a bit surprising:

PlayerPositionTeamManagerCostPFPoints per Dollar
Jahmyr GibbsRBDETBigOleDoinks88102.001.16
Bijan RobinsonRBATLmarkhambone8791.401.05
Jonathan TaylorRBINDcramseyio7179.201.12
Ja’Marr ChaseWRCINjyarrow7047.200.67
James CookRBBUFnovaprice6661.500.93
Puka NacuaWRLARmattkman6533.100.51
Jaxon Smith-NjigbaWRSEAcoolguytrav64103.761.62
Christian McCaffreyRBSFBigOleDoinks6165.001.07
Saquon BarkleyRBPHIjyarrow6119.000.31
De’Von AchaneRBMIAalmostwinning5919.600.33
CeeDee LambWRDALlrich9158100.101.73
Justin JeffersonWRMINjyarrow5837.900.65
Derrick HenryRBBALexoentropy5485.801.59
Omarion HamptonRBLACnovaprice5341.700.79
Ashton JeantyRBLVlrich915159.901.17

This is far from a perfect metric, but I’m shocked that points per dollar hovers around 1 for the top picks. There are obviously benefits not captured here (e.g., positional scarcity, week-to-week consistency, etc.), but this illustrates the premium paid in the draft for top-end dudes.

Closing Thoughts​

I’m starting to like auction draft more and more as the season goes on. Being able to track ROI and efficiency against a dollar amount you specified (rather than an arbitrary position order) unlocks a lot of fascinating analytical potential. I feel like I’ve only scratched the surface of the statistical shit-talking this data unlocks. It’s beautiful.

Tarv is the team to beat this year and resides in his own tier. The only teams that I’m writing off are Carlos and Trond. Everyone else is in the hunt.

Until next time, tryhards.