From arXiv to a Betting Edge
Contents
00Overview / TL;DR
This started as an experiment to mine fresh arXiv preprints for buildable ideas, landed on a 2026 graph-regularized matrix-completion paper, and turned into a systematic hunt for a real sports-betting edge. The punchline:
- Efficient markets, killed: NFL point spreads and NBA points/combos props cannot be beaten with a model — the closing line already is the best model. Proven multiple ways.
- Soft markets, found: NBA single counting-stat unders — rebounds, threes, blocks, steals — carry a real, persistent public over-bias that books price loosely.
- The payoff: a GR-RTRMC completion model that selects the most-overpriced unders beats the vig out-of-sample at NY-legal prices: rebounds +5.8%, threes +12.6% ROI at the biggest disagreements.
01Where this started
The arxiv-scrape project mines recent preprints for ideas worth building. One run surfaced
Graph-Regularized Low-Rank Matrix Completion by Variable Projection (arXiv 2607.09546) — a method
for filling a sparse matrix using low-rank structure plus a "similarity graph" that ties related rows/columns
together. The pitch that looked exciting: use it to build better early-season sports power ratings,
where the who-beat-whom matrix is almost empty.
That framing set up the whole investigation. Rather than assume it would work, we built the cheapest possible test at each stage — and followed the evidence, even when it killed the original idea twice before it paid off somewhere unexpected.
02The methodology — the discipline
Every result below rests on the same rules. They're the reason we trust the wins and didn't get fooled by the (several) mirages.
1. Falsify at the cheapest stage
Never build the big model first. Prove the market is beatable — and the data even exists — before writing a line of the fancy model. This killed multiple ideas in an afternoon each instead of after weeks.
2. Out-of-sample is the only truth
Everything is split: fit / tune on one window, test on a disjoint one. A backtest that looks great on the data you built it on means nothing. Assists and turnovers both looked like +6% edges in-sample and were dead (−2.6%) out-of-sample — without the holdout we'd have shipped two losers.
3. Placebo tests
Test the method where there should be no edge. NFL late-season closing lines came back at exactly 50.0% — proving the backtest harness was sound, so the null results were real and not a bug.
4. CLV thinking
Closing-line value — do you beat the number the market settles on? — is the pro standard, lower-variance than win/loss. We use "beats the closing line" as the bar, which is stricter than positive CLV.
5. Realistic prices only
You're in New York, so line-shopping is restricted to the 6 NY-legal books (DraftKings, FanDuel, BetRivers, BetMGM, Caesars, Fanatics). Offshore books (Bovada, BetOnline) are excluded — they're illegal in NY and quietly inflate backtested edges. Removing them cost ~0.3–0.5% ROI; the edges survived.
03Act 1 — NFL sides are efficient
We built the completion idea for NFL early-season ratings first. It failed, and the failure taught us how efficient a liquid market really is.
- The graph didn't help. The division-similarity Laplacian subtracted ~1.4 pts of ATS cover in every slice — the core premise, falsified.
- Completion ≈ Elo. No difference against the closing line.
- The edge itself wasn't real. Over 24 seasons, Elo covered 52.5% in weeks 1–6 — dead on the 52.4% breakeven (p=0.49). A promising 54.5% on a recent window evaporated on the full history. Placebo (late season) = 50.0%.
- A better model didn't help. An EPA-based power rating — genuinely more predictive — still hit 48% against the close. More model, no edge.
04Act 2 — NBA points props, same wall
If liquid sides are efficient, maybe props — thinner, less-modeled — are softer. So we pivoted the whole pipeline to NBA player props. First test: player points, the most popular prop.
Same wall. A real projection model (points-per-minute × projected minutes × opponent defense) had a mean absolute error of 5.08 points; the book's line had 4.82. The line is a better points projection than the model. Betting the model's disagreements didn't beat the vig. Points props — and every combo market (points+rebounds+assists, etc.) — are efficiently priced, for the same reason as NFL: books run exactly these models, plus injury/rest/minutes intel.
05Act 3 — the first real edge
The breakthrough came from testing the softest markets. On rebounds, two things were true that weren't true for points:
- The book models it loosely. Model vs line MAE gap shrank to 0.08 (it was 0.26 on points) — a simple model is nearly as accurate as the rebounds line.
- A real, persistent under-bias exists. Over 18,274 rebounds props across a full season, unders hit 52.3% (p<0.0001). The public over-bets "did my guy get his boards," books shade the lines up, and unders are underpriced.
Blanket-betting every under is right at breakeven (−0.1%). The edge comes from selection — bet only the unders where a model also projects under. That converts the breakeven bias into profit, out-of-sample:
Rebounds unders, model-selected, NY best price, OUT-OF-SAMPLE:
bet where projection <= line - 1.0: 55.8% win, +2.0% ROI (simple model)
57.3% win, +5.8% ROI (GR-RTRMC completion)
06Act 4 — the full cross-market board
With the method proven on rebounds, we pulled a complete season (2024-25): 1,238 games, 311k props across 11 markets, NY-legal closing lines. Then ran the completion model on every market with in-season out-of-sample validation. The edges cluster exactly where theory predicts — single, over-bet counting stats — and the discipline killed two mirages.
| Market | Best OOS edge (completion) | Verdict |
|---|---|---|
| Rebounds | +5.8% (n=1648) | ✅ Core — edge + volume |
| Threes | +12.6% big-gap / +1.4% (n=1783) | ✅ Core — edge at big gaps |
| Blocks | +5.9% (n=309) | ✅ Real, but thin / low-limit |
| Steals | +2.8% (n=683) | ✅ Real, thin (completion-only) |
| Points | −2.2% | ❌ Efficient |
| PRA / PR / PA combos | all negative | ❌ Efficient (well-modeled) |
| Assists | +6.2% in-samp → −2.6% OOS | 💀 Mirage, killed by OOS |
| Turnovers | +6.0% in-samp → −2.6% OOS | 💀 Mirage, killed by OOS |
Bread-and-butter = rebounds + threes (real edge and the volume/limits to bet it). Blocks and steals are legit but low-line, low-limit garnish. Points and combos: don't fight them.
07How the two models work
Both are walk-forward — they only ever use games before the one being predicted, so there's no look-ahead leak.
The simple projection (baseline)
For a stat (say rebounds): projected = trailing rate (stat per minute) × projected minutes ×
opponent factor. It separates the two real drivers — how fast you produce the stat, and how long you
play — then scales by how much the opponent gives up. A solid, honest baseline.
The GR-RTRMC completion (the paper's method)
Build a sparse matrix: rows = players, columns = opponent teams, each cell = that player's stat-per-minute vs that specific opponent. Most cells are empty (you face each team ~1–3× a season). Complete it with:
- Low-rank structure — assume the matrix is explained by a few latent factors.
- A player-similarity graph — connect statistically similar players so a sparse cell borrows from comparable players (the "graph regularization" from the paper).
- A prior anchor — pull unobserved cells toward the player's overall rate.
The completed cell gives a player-vs-specific-opponent rate the simple model can't see. Multiply by projected minutes → the projection. It beats the simple model on every edge market — the matrix method's actual value, validated in the right setting after being useless in the wrong one (NFL).
08Outcomes — what's validated
Everything is out-of-sample, at NY-legal best prices, selective (bet only the model's disagreements):
- Rebounds — completion, bet under where projection ≤ line − 1.0: 57.3% win, +5.8% ROI (n=1648, p<0.0001). The workhorse.
- Threes — completion, big gaps: 66.4% win, +12.6% ROI (n=357); at the wider margin-0.5 net: +1.4% (n=1783). Under-juice is heavy, so the edge lives at the big disagreements.
- Blocks +5.9% and Steals +2.8% — real OOS but low-line, low-limit; bonus volume, not the core.
- The completion beats the simple model on the edge markets — the GR-RTRMC layer is a genuine, general value-add as a selector.
09How to use it
The workflow, once wired into your terminal. Everything below is one sport (NBA), one side (unders), a few markets (rebounds & threes first).
projection ≤ line −
margin. Use margin ≈ 1.0 for rebounds and threes (the sweet spot; bigger margin = fewer
but stronger bets).Priority order: rebounds first (best edge-to-volume), then threes (great edge at big gaps), then blocks/steals if you want extra volume and can stomach low limits. Ignore points, assists, turnovers, and combos.
10Honest caveats & risks
- The edge is thin. +2 to +6% ROI. It compounds over volume but a bad month is expected.
- Line-shopping is load-bearing. Without best-price execution across NY books, the edge shrinks toward breakeven.
- Book-limiting. Prop markets limit sharp action quickly; live ROI will trail the backtest.
- One season of prop data. The edge held across two out-of-sample windows within 2024-25, but that's still one season. Forward paper-trading is the real proof.
- Hyperparameters not yet nested-CV'd. The completion's settings (rank, graph strength, etc.) were set by judgment, not rigorously tuned on held-out data — a mild risk the completion's margin over the simple model is flattered. Worth locking down before scaling stakes.
- Blocks/steals are fragile — low lines mean one made play flips the result; treat as speculative.
11What's next
- Nested-CV the completion hyperparameters — the one thing left to fully trust the edge size. Free (uses existing data).
- Forward paper-trade the live rebounds/threes lines this season — the honest final test.
- Terminal view — a daily ranked list: tonight's flagged unders, edge size, best NY price.
- Refine the model — positional defense, rest / back-to-backs, blowout-risk minutes.