🏀 Tip-OffNotre Dame vs VillanovaNov 1 · 6:30 AM PT--
🔔
NOTIFICATIONS
☀ LIGHT
TODAY
RATINGS
SECEXP W / ML
Loading...
BIG TENEXP W / ML
Loading...
BIG 12EXP W / ML
Loading...
ACCEXP W / ML
Loading...
BIG EASTEXP W / ML
Loading...
TOP 25 POWER RATINGS
LIVE
#
TEAM
PR
STAT LEADERS
DAILY PULLS
TOP GAMES BY COMBINED PR
GOLD = STRENGTH
MATCHUP
COMB
SPREAD
FAV ML
DOG ML
Team Spread Calc
Home Team
Away Team
Neutral?
--
TODAY'S ATS ANGLES & RESULTS
BEST EDGES + COVERS
TOP ATS ANGLES TODAY
Loading angles...
TODAY'S RESULTS
No graded games today yet
USEFUL LINKS
MODEL ACCURACY
Power Ratings
#
TEAM
POWER RTG
HC
W-L / CONF
PRE SZN
HIGH
LOW
UPDATED
Projected Records
CLICK A HEADER TO SORT
#
TEAM
CONF
POWER RTG
PROJ W
PROJ L
WIN%
CONF W
CONF L
CONF%
GP
Loading...
Projected records sum each game’s model win probability across the full schedule. PROJ W/L covers every game on the slate; CONF W/L covers league games only (games flagged as non-conference are excluded). Completed games count as actual results.
Select a team above to view their profile
Pick any team to see its power rating and efficiency-adjusted PR, full schedule with model spreads and clickable game previews, projected conference and overall win totals, active roster, injuries, and a complete player-stats breakdown with scouting radars.
Power RatingSchedule & SpreadsWin TotalsRoster & InjuriesPlayer StatsScouting Radar
TOTALS ALERTS
CHECKED EVERY 90s · BELL, TOP RIGHT
Fires when a game that had no play becomes one, when a play upgrades to STRONG, and when the total
drifts away from your side so a better price is on offer, and when the market moves onto your
number and agrees with you. Spread alerts live on the Model ATS tab.
Final scores is off by default — turn it on and every game that goes final also raises a desktop popup,
which on a full slate is a lot of them.
Alerts stay in the bell until you dismiss them.
DAILY RATINGS
Drop the EvanMiya or Bart Torvik CSV here
Auto-detected from the file — EvanMiya needs obpr and dbpr, Torvik's export is headerless
💥 CRASHOUT LOADING…
TOTAL GURUS
TORCH · FEAZ · CRAIG
FLAG
ROT
TIP
MATCHUP
OPEN
CURR
MOVE
TORCH
FEAZ
CRAIG
AVG
CONSENSUS
STATE
PLAY
STRONG — all three models agree on an over with a real edge. Backtested 57.2% on 421 plays.
PLAY — Torch and Feaz both on the over, edge past the threshold.
LEAN — Torch and Feaz agree on an under, or Feaz has no number yet.
AVOID — Torch and Feaz on opposite sides (48.7%), edge past 10 points (50.2%), or a consensus under (46.2%).
Nothing is flagged as a play unless Torch and Feaz agree. A split between them blocks the game outright rather than averaging the two away.
Each model cell shows its projection with its edge against the current number. Thresholds live in torch_settings.
Click a matchup for the model breakdown and line history. PLAY records it as an official bet at the number showing now.
TOTAL GURUS RESULTS
group byfiltermin edge
Every model's call on every graded game. The line at the top is all of them combined;
group by Model to split Torch, Feaz, Craig, the average and the consensus side apart.
Because each game contributes one row per model, grouping by anything else pools them —
filter to a single model first if you want that cut clean.
Breakeven at −110 is 52.38%.
AVG CLV is how far the number moved away from your side after you were shown it — positive means you beat the close,
which is the better long-run test than win rate on a small sample.
OPEN GAMES
RESULTS
HIDE
Injury Report
PLAYER
POS
TEAM
CONF
INJURY
STATUS
UPDATED
Loading...
Pulled from the Rotowire college basketball injury report twice a day and matched to your teams.
ADD writes the player into that team's injury list with a point impact, exactly as if you had added
it from the team profile — it is the impact number, not the report, that moves the power rating.
Players that drop off the report are marked CLEARED rather than deleted.
NCAA TOURNAMENT — 76 TEAMS — 200,000 SIMS
Overround:
Region Names
LEFT TOP
LEFT BOTTOM
RIGHT TOP
RIGHT BOTTOM
Final Four Matchups
SF1:vsSF2:vs
Click AUTO SEED + RUN SIM to generate bracket and odds
EDIT SEEDING — swap any team from all 364
Gold rows = play-in slots — assign 2 teams per play-in seed per region
Book
CHAMPION / RUNNER-UP
#
CHAMPION
RUNNER-UP
TRUE%
FRAC
ML
BOTH FINALISTS
#
MATCHUP
TRUE%
FRAC
ML
OPENING ROUND — PLAY-IN GAMES
BRACKET
SIMULATION ODDS
CHAMPION
#
TEAM
SEED
PR
FREQ
TRUE%
ML
FINALIST
#
TEAM
SEED
PR
FREQ
TRUE%
ML
FINAL FOUR
#
TEAM
SEED
PR
FREQ
TRUE%
ML
ELITE EIGHT
#
TEAM
SEED
PR
FREQ
TRUE%
ML
SWEET 16
#
TEAM
SEED
PR
FREQ
TRUE%
ML
Schedule grouped by round with spread, moneyline, and pick status. The right panel prices a top-scorer market for the selected round using the leading-scorer model (PPG, usage, minutes).
ROUND TOP SCORER
OverroundFlatten
Tournament futures & props, priced from your uploaded title odds (de-vigged) and the bracket advancement model. Upload or edit each team's title odds, then price all markets.
OverroundFlatten
FIELD & TITLE ODDS
1 — SET THE FIELD
No field loaded.
2 — TITLE ODDS
No odds loaded.
Or paste to override — one line per team: Team, Odds. Tab or comma separated, so a two-column paste straight out of Excel works. Seeds, regions and states come from the field above.
Pull, re-scrape, paste, price and export all work here. Pricing is saved to the shared book, so what you post updates the board for everyone — the most recent pricing wins.
Enter title odds, then click PRICE ALL MARKETS to generate every prop.
BOOKCAPSIGMARUNS
LIVE BOOK ODDS
CZRDKFDMGMBOLBR
#
TEAM
CZR
DK
FD
MGM
BOL
BR
BEST
OPEN
MY PR
Click PULL ODDS to fetch live book odds (uses one API request)
Overround
▾ ALL CONFERENCE FORMATS
Seeding — editable
CHAMPION
#
TEAM
SD
PR
TRUE%
ML
FINALIST
#
TEAM
SD
PR
TRUE%
ML
Book
CHAMPION / RUNNER-UP ordered
#
CHAMPION
RUNNER-UP
TRUE%
FRAC
ML
BOTH FINALISTS either order
#
MATCHUP
TRUE%
FRAC
ML
Schedule with spread, moneyline, and pick status. The right panel prices a top-scorer market for the selected round.
ROUND TOP SCORER
OverroundFlatten
PLAYERS ERA FESTIVAL — 16-TEAM
Overround
Team Slots
ROUND TOP SCORER
OverroundFlatten
CHAMPION
#
TEAM
PR
TRUE%
ML
FINALIST
#
TEAM
PR
TRUE%
ML
PR POWER INDEX
Teams ranked by tier — updates live as PRs change
Loading...
UPSET ALERTS
Favored team lost by 7+ points vs model spread
No upsets recorded yet this season
PR UPDATE DASHBOARD
Mark games final as they finish, enter scores, approve PR adjustments
Total:0
Needs Grading:0
Approved:0
Skipped:0
Scheduled:0
ADD GAME
Date
Neutral Site?
Away Team
Home Team
Select a date and click LOAD GAMES
ADMIN ONLY — Drop your roster Excel file to bulk load all teams
UP
Drop your roster Excel file here
One tab per conference — reads all teams automatically
SPREAD ALERTS
CHECKED EVERY 90s · BELL, TOP RIGHT
FLAGGED PLAY RESULTS
group by
Every game that flagged is captured with the line at that moment and graded when it finishes.
Stars tests whether the significance marker actually predicts anything;
Individual angle shows which categories are earning their place and which to drop.
ADMIN ONLY — Upload Bart Torvik player stats
Drop your roster workbook (the one with the BT CSV STATS sheet). Reads that sheet starting at row 3. Replaces all existing player stats. Run your Torvik query in Excel each morning, then upload here to keep specials pricing current.
Pick a game. Loads the top 7 scorers per team and prices who leads the game.
Pick a date. Loads the top 25 scorers among allowed teams playing that day (Power 5 + your 12 mid-majors). Uncheck to trim the field.
Pick a game and it auto-generates ~30 player props across points, rebounds, assists, threes, 1st-half, combines, each-to, or, and win-parlays. Uncheck any you don't want, then export.
Which player scores the first 3-point field goal. Players listed by PPG; top 5 per team checked as starters — adjust to match the real lineups. Odds from 3PM + 3PA per game and minutes.
Which player scores first (any points, free throws count). Players listed by PPG; top 5 per team checked as starters — adjust to match the real lineups. Odds from PPG, usage, FT rate and minutes.
Backtested on 5,336 games of play-by-play joined to your stored closing lines. Pick a market, then how you want the spread grouped.
Prices every market for one game and writes them to a single CSV. Daily Top 25 is excluded, being a slate market rather than a game market.
Six-way market: each team by two-point field goal, three-point field goal or free throw. Priced from net efficiency (who scores first) and each team's own shot profile (how).
overround
Fixed game specials — pick a game and the team names fill in automatically. Default odds are -10000; edit each one, uncheck any you don't want, then export.
total
OVERROUND (HOLD) — 1.20
1.03 (low)1.50 (heavy)
FLATTEN — 0.85
0.70 (flat)1.00 (raw)
MATCHUPat
vs
Odds Converter
Decimal: — · Fraction: — · Implied: —
Fraction Converter
American: — · Decimal: — · Implied: —
Vig Calculator
Vig: --
PR to Spread
Spread: --
PR Adjustment Simulator
HOME SCORE
AWAY SCORE
HOME PR
HOME HC
AWAY PR
LINE SHEET
Daily worklist: our number, confidence flag and state restrictions. Print for a one-page PDF.
LINE MOVEMENT
Moving the Number
when to move, where to stop, and why juice is not a substitute · measured on 5,544 games
THE POSITION
When money comes in one-sided, move the number. Do not sit still and raise the juice.
But move in steps, and land on the whole numbers rather than stepping over them — a whole number is
free insurance against losing both sides of the same game.
Try it on a real position
Set the line the early money came in at, where you think the number really belongs, and how much of the
handle is already committed. Everything below recalculates.
The same choice, priced as juice instead
The usual objection to moving is “leave the number alone and just raise the juice.” Both versions of
that are priced below — a light touch to −115, which puts the dog at −105, and a heavier −120,
which puts the dog at +100.
The case, in four parts
1
Juice hands away the margin on the side you actually write
Raising the favourite to −120 pushes the dog to +100. A dog at +100 carries zero margin — we keep
nothing on it, win or lose. And the dog is the side we are trying to attract: the recreational money that arrives
after the early money is already down, typically 80 to 95 percent of everything we write on the game.
So the trade is this. We collect extra juice on the small slice that is already in, most of which was written
before we juiced, and in exchange we write the overwhelming majority of our handle at no margin at all.
Move the number instead and both sides sit at −110, and we keep 4.55% of every dollar that comes in.
Even the light version leaks. Going to −115 puts the dog at −105, where we keep 2.38% instead of
4.55% — we have halved the margin on the majority of the handle to add a point and a bit to the minority.
At a 15/85 split, moving holds 4.55 per hundred. Juicing to −115 holds 3.00.
Juicing to −120 holds 1.25.
2
Juice does not change what we are rooting for
This is the part that gets missed. Juice is a charge on the next customer. It does not touch the position
we already hold. If we are long the favourite, we are long the favourite at −110 and we are still long the
favourite at −120 — identical exposure, we have simply made the bet more expensive for someone who
was never our problem.
Moving the number changes what we need to happen for us to win. That is the job. Juice is a pricing tool;
the number is the position.
3
A whole number stops us losing both sides
Say the early money took the favourite at −5.5 and we now need dog money. If we write it at +6 and the
game lands on exactly 6, the favourite ticket wins and the dog ticket pushes — we pay one side.
If we write it at +6.5 instead, both tickets win and we pay both. Same game, same number, twice the damage.
That is a middle, and a middle costs roughly 2.1× an ordinary losing side because we pay two winners
and keep nothing. Games land exactly on a whole number 3.83% of the time. Stopping on the number takes
that risk to zero; stepping over it accepts it in full, for nothing in return.
Whole numbers keep working as you go. +7 is no worse than +6.5, because the 7 pushes and
stops the window again.
Which is why the rule is to walk rather than jump. Writing at +6, then +6.5, then +7 spreads the exposure
across three prices, and only the tickets at +6.5 and beyond can be middled at all. Jumping straight from
−5.5 to −7 puts every dog ticket inside the same window.
4
So there is no excuse for freezing
The instinct against moving is fear of getting caught on the wrong number. The data does not support the fear.
Decided within 1 point of the close
8.4%
Within 2 points
15.2%
Within 3 points
22.5%
Never in play — decided by more than 3 points
77.5%
Three games in four are settled nowhere near our number. Refusing to move protects us against a three percent
event while leaving us carrying a one-sided position that is certain. The exposure we are avoiding is small and
occasional; the exposure we are accepting is large and guaranteed.
Objections, answered
“Moving just invites the sharp to bet us again at −110.”
They can fire again, but never at a better number. Moving away from them makes their side more expensive
every single step. Say the number really belongs at 7 and they opened us up at −5.5:
THEY LAY
THEIR EDGE
WORTH TO THEM
−5.5
1.5 pts
+5.47%
−6.0
1.0 pts
+2.30%
−6.5
0.5 pts
−1.20%
−7.0
none
−4.39%
Each bite is worth less than half the one before it, and by −6.5 they are betting into a losing price
even though we are still short of the true number. The vig does that work for us as we climb.
Standing still is the version that hands them everything. If we never move they do not need to bet again —
they already hold the −5.5 ticket at +5.47%, the best price we will ever show, and we have simply decided
to live with it.
And if they do come back at −6, that is a free read: it tells us we are still short and we should keep
walking. If they go quiet, we have found the number. Juice would never have told us either way.
“Juice is instant and reversible. Moving the number is sticky.”
True, and worth conceding plainly. Small juice adjustments are a legitimate tool for fine-tuning, and for buying
a few minutes when we genuinely do not know yet. The argument is not that juice is never right. It is that juice
is not a substitute for moving when we are actually one-sided — used that way it costs three to five
times the hold and leaves the position untouched.
“If three in four games are not close to the number, the half-point cannot matter much either.”
The sharpest version of the pushback, and the answer is asymmetry. Correct, the half-point rarely decides anything
— which is precisely why moving is cheap and freezing is indefensible. But landing on the whole number is
free. It costs nothing to stop there on the way past. We take a free option even when it only pays three
percent of the time, because the alternative is not a better outcome — it is the same outcome without the
protection.
“What if we move and the other side never shows up?”
Modelled it. Move, and fill only 40% of the dog money we expected: we hold 7.51% of written handle.
Juice, same partial fill: 5.86%. Moving still wins, because the price we write the dog at drives the result
far more than how much of it we get.
“We got bet −5 −110 with the market. Why not repost −5.5 −105 / +5.5 −115 instead of −5.5 −110?”
Because the split is a quarter-point answer to a full-point signal. The bettor at −5 banked the push value
of the 5 — about 4.5 cents. The full move takes all of it back; −5.5 −105 hands 2.5 cents of it
straight back through the price. If the number really belongs at 5.5 or 6, we are still cheap — we have just
made it a nickel harder to prove.
The prices also face the wrong way. We just wrote favorite money, so the side we need next is the dog. The split
discounts the side that beat us and taxes the side that balances us — a price structure built to attract more
of the bet that hurt us.
And steam continues: the direction of a move beat the opener 55% of the time last season, 59% on
moves of 3+. The moment fair drifts past 5.5, everyone else is −5.5 −110 and we are the best favorite
price on the screen — the first stop for every follower and every scalp, in exchange for the five cents we
“saved.” Squares do not bet more favorites at −105. Sharps do.
There is nothing to protect between 5 and 5.5 — no landing mass, ordinary push rate — so the full move
costs no square handle. The split has one legitimate use: a positional or square bet we are nudging for balance, not
repricing. “With the market” is information. We paid for it by taking the bet. Reposting the same side at
a discount is selling it back at a loss.
Where the numbers come from
5,544 games from the 2025-26 season, each matched to its sportsbook opening and closing line. One corrupt
record was found and removed — a closing line of −158 against an opener of +2, which is a moneyline
that landed in the spread column.
The 3.83% push rate is measured on the 2,663 games that closed on a whole number. Anyone computing it
across all games will get 1.84% instead, but that figure is diluted by the 52% of closes that are half-points,
where landing on the number is impossible by construction. 3.83% is the correct conditional.
The calculator models final margin as normally distributed around the true number with a standard
deviation of 11.37, fitted on those same games. It predicts a 3.51% chance of landing exactly on the number
against 3.83% observed, so if anything it understates the cost of stepping over one.
Hold figures assume both sides priced at the stated odds and a fair number, so each side is a coin flip.
The favourite covered 47.8% of the time against the closing line last season, and the average miss was 9.14 points
when the favourite covered against 9.19 when it did not — as symmetric as a market gets.
COMPLIANCE
Which games cannot be offered in which states, because a participant is based there.