1. The history. Every NBA and NFL box score from last season and this one, straight from ESPN. Recent games count most; last season fills in early on.
2. Opportunity first. Minutes, shot attempts, targets and carries are steadier than results. Points and threes are projected from attempts Ć the player's long-run accuracy, receiving yards from targets Ć yards per target, touchdowns from touches Ć a long-run scoring rate. A cold shooting week doesn't sink the number, and a lucky one doesn't inflate it.
3. The matchup. What tonight's defense allows to the player's position (guards, forwards, centers; QBs, backs, receivers, tight ends) compared with the league, trusted more as the season goes on and capped at ±12%.
3b. Tonight's opponent, specifically. His own history against this team (last two seasons), trusted lightly, and a few extra rebounds and assists when the other side is missing a regular at his position. Each player page also shows his likely matchup and the two teams' head-to-head.
4. Who's out. ESPN's injury report. If a regular teammate (24+ minutes) is out, everyone else gets a small bump, and a player with 4+ past games without him also gets his own with/without split, capped at ±10%. A backup who filled in doesn't count as a key absence.
5. The odds. A full range of outcomes, not a single number, so the chance of clearing any line (or alt line) can be worked out. It's compared with the book's price after removing the book's margin.
Grades. A, B or C need both a gap between the model and the market and solid inputs (enough games, steady minutes, no injury question). Big gaps get a warning: often it's news the model can't see.
How it tested
Replaying the 2025-26 NBA season (about 150,000 lines) and the 2025 NFL season (about 34,000), using only what was known before each game, the model's chances beat the last-10 and season hit rates on every stat. When it said 60%, the over hit about 60% of the time.
Not available for free
Also studied: usage rate, shots per 36, offensive vs defensive boards, opponents' missed shots and assist conversion. They're on every player page and in the reasons. Tested against the replay, opponents' missed shots added nothing beyond the position-defense numbers, so they're context, not a nudge.
The NBA's tracking numbers (potential assists, touches, rebound chances) aren't public, so the app estimates chances from box scores: every rebound in the game while a player is on the floor, and teammates' baskets while he's out there. They show on each player and in the reasons. In the replay they didn't sharpen the projection beyond minutes, so the number itself doesn't lean on them yet. Snap counts, routes run and air yards aren't in free data at all.
Track record
When you open the research in the 6 hours before a game, the lines your phone sees are sent to the server, priced there, and graded after the final. Every priced line counts, not just the good-looking ones.