From arXiv to a Betting Edge

The full story: mining a 2026 matrix-completion paper into a validated NBA prop edge — the method, every dead end, and how to actually use the result.
4 validated markets out-of-sample, NY-legal prices ~135k of 5M credits used

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.
The one-sentence versionYou can't out-model a liquid closing line, but you can beat soft prop lines where the public over-bets counting stats — and the matrix method is a genuinely better selector for doing it.

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.
The lessonThe closing line is a crowd-sourced super-model. Power ratings (Elo, EPA, DVOA) are commoditized — the market has already priced them in. You cannot out-model a liquid close with public inputs. The one live thread — opening lines are soft (Elo got +68% CLV betting the open) — is real but capacity-limited (openers have tiny limits, books limit winners fast).

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:

  1. 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.
  2. 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)
Why this one is realSoft market (loose book model) + a genuine bias to lean on + a model that picks the most-overpriced unders. All three had to be true — and only here were they. Validated across two disjoint out-of-sample periods, p<0.0001.

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.

MarketBest 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 combosall 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.
Reality check on sizeThese are thin edges (+2 to +6% ROI on the volume markets). Real edges in beatable markets are thin — that's normal. It's a grind, not a money printer, and live results will be lower than backtest (see caveats).

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).

1
Pull tonight's lines for rebounds and threes across your 6 NY-legal books (the puller + parser already exist).
2
Run the completion projection for each player with ≥5 recent games. It outputs an expected rebounds / threes number per player-game.
3
Flag the unders where projection ≤ line − margin. Use margin ≈ 1.0 for rebounds and threes (the sweet spot; bigger margin = fewer but stronger bets).
4
Line-shop — take the best under price across the 6 books. This is not optional; the edge depends on it (median best price ≈ −110).
5
Bet flat and small. Thin edge = high variance. Flat units, no chasing. Track CLV (did you beat the closing number?) as your health metric — it tells you the edge is alive long before win/loss does.
6
Expect to get limited. Books limit prop winners fast. Spread action across books, don't hammer one line.

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.