Learn / Pikkit vs NuroPicks AI Picks SHAP
Pikkit tracks bets. NuroPicks generates them and shows the math.
What Pikkit actually ships, why it does not produce AI picks, and how NuroPicks closes the explainability gap with per-pick SHAP attributions at $29.99 Pro.
Plain-English answer
Pikkit is a sportsbook-sync tracker plus social layer. The app connects 30+ books (DraftKings, FanDuel, BetMGM, Caesars, ESPN BET, Fanatics, Hard Rock, BetRivers, Pinnacle, etc.), reads your placed bets, computes closing-line value and ROI per book, and surfaces a copy-betting feed where users tail other Pikkit accounts. Pikkit does NOT generate AI picks. There is no model output, no pick recommendation surface, no per-bet feature attribution. The product positioning is tracker plus community plus arbitrage scanner. NuroPicks publishes the same surface differently. NuroPicks generates picks via an XGBoost model, then ships every pick with a SHAP top-features payload (picks.shap_top JSONB) that breaks the model's edge into ranked signed contributions: rest advantage +280bp, injury +140bp against, line movement +120bp for. The values render inside Discord embeds, on the per-pick permalink at /record/[id], and in the explanation chip rows on /record. The schema is canonical (one explainer module, one TS twin), and the picks row is immutable past insertion via a Postgres trigger added in migration 0017. Closing-line value is captured automatically by a 2-minute tick that compares posted odds to the book's closing number when the game starts. The contrast is Pikkit tracks bets you choose, NuroPicks generates the bet AND shows the receipt. Pro tier matches at $29.99 per month. NuroPicks adds a Free tier (1 pick per night) and an Elite tier at $79.99 with line-move trackers and capper rev-share.
What a SHAP block looks like in a real NuroPicks embed
A NuroPicks pick embed includes a single SHAP line at the bottom of the why-edge block. The string is generated by one canonical module (src/bot/services/pick-shap-explainer.js) and reads like this on a real Lakers minus 3.5 example: plus 280 basis points rest advantage, minus 140 basis points injury report, plus 120 basis points line movement. The same values render in the chip rows on /record and on the per-pick permalink at /record/[id]. The TypeScript twin at web/src/lib/pick-shap-explainer.ts is parity-tested against the bot module so the web page and the Discord embed cannot drift. The data comes from the picks.shap_top JSONB column populated at insertion time. Migration 0017 ships the picks_immutable_guard trigger that rejects UPDATE and DELETE on the picks table, so the SHAP payload you read tonight is the exact one the bot wrote when the pick posted.
Pikkit's surface is the placed-bet history: which book, which game, what odds, computed CLV after the fact. There is no model output to attribute. The user picks the bet, Pikkit measures whether it beat the close. NuroPicks ships the model output and the receipt the model produced.
Pikkit vs SHAP, line by line
Where to read the explainer documentation
- /learn/shap-betting walks through the SHAP block end-to-end: what each feature means, how basis points are signed, and how to read the chip rows on /record without a stats background.
- /compare/pikkit covers the full feature comparison: pricing, surfaces, AI picks vs tracking, copy-betting, refund policy, capper marketplace.
- /record is the public per-pick track record where the SHAP chip rows render alongside CLV and the result badge.
- /glossary ships 461 sports-betting terms, including SHAP, edge percent, closing-line value, Kelly fraction, and rest advantage.
Not financial advice. 21+ only. Bet within your bankroll. If gambling stops being fun, call 1-800-GAMBLER.
Must be 21+. Gambling problem? Call 1-800-GAMBLER. NJ/PA: 1-800-GAMBLER · MI: 1-800-270-7117 · VA: 1-888-532-3500 · CO: 1-800-522-4700 · NY: 877-846-7369 (HOPENY).
NuroPicks LLC · 30 N Gould St Ste R, Sheridan, WY 82801