NuroPicks NBA Fantasy Launch Plan
Season: 2026-27 NBA season Public launch: October 15, 2026 Opening tip-off: October 22, 2026 Owner: Product + Fantasy Engineering Status: Planned
1. Strategic rationale
Per wave-4 retention research:
- Single-sport (NFL only) fantasy managers retain at ~30% year-over-year.
- Multi-sport managers retain at ~40%.
- The Feb-Aug gap is the single largest retention hole for NFL-first platforms.
NBA fantasy runs October through June (regular season + playoffs), with playoff bracket pools extending engagement into late June. This plugs the exact gap NFL leaves open and converts the platform from seasonal to year-round.
Not a replacement for NFL. NFL remains the volume anchor. NBA is the retention + LTV multiplier.
2. Scope, what launches Oct 15
Must-have (Day 1)
- NBA league creation via
/fantasy-nba-create-league - Four scoring modes: Points Roto (default), 9-Cat, 8-Cat, H2H Points
- Snake + auction + linear + best-ball draft formats (reuse NFL engine)
- NBA player database seeded from
nba_api(workers/nba_data/seed_players.py) - Live box-score polling during game windows (poll_stats.py, ~15 min cadence)
- Trade advisor with categorical awareness (nba-trade-advisor.ts)
- Sport switcher component across all /fantasy routes
/fantasy/nbalanding page with waitlist- Escrow + wallet reuse, no new deposit flow
- Injury feed (ESPN + RotoWire NBA)
Nice-to-have (fast-follow by Nov 15)
- Dynasty league format (keeper rosters that persist across seasons)
- Head-to-head categorical format (vs roto-accumulation 9-cat)
- Playoff bracket pool, April-June extension product
- NBA-aware sleeper alerts (load-management vs true injury)
- Daily fantasy (DFS) single-slate contests
Out of scope for 2026-27
- WNBA fantasy (separate evaluation for 2027)
- NBA Summer League content, engagement too low
- Custom scoring rule editor UI (use presets only at launch)
3. Timeline (working backward from Oct 22 tip-off)
August 2026: foundation
- Aug 1: Merge
db/migrations/0014-nba-fantasy.sql+0015-nba-stats.sqlto staging. - Aug 8: First
seed_players.pyrun against stats.nba.com, sanity-check rosters. - Aug 15:
nba-scoring-engine.tsandpoll_stats.pyscoring unit tests green. - Aug 22: End-to-end test, create league, draft 5 players, settle a mock week.
- Aug 31: Internal alpha with 10 testers (David + MGT circle + NFL alpha users).
September 2026: content ramp + mocks
- Sep 1-7: Publish NBA preview content: sleepers, bust candidates, category rankings.
- Target platforms: X (@nuropicks), newsletter, blog.
- Tone: same as NFL. Explainable, numbers-first, no hype-bait.
- Sep 8: First public mock draft room opens, free-entry, no buy-in.
- Sep 15: Mock draft cadence increases to 2x/week.
- Sep 22-28: Run 5 paid mock drafts ($5 entry) to stress-test settlement flow under real escrow.
- Sep 30: Close internal alpha, open closed beta (~100 users from waitlist).
October 2026: public launch
- Oct 1: Re-run
seed_players.pyagainst final training-camp rosters (cuts are done). - Oct 5:
injury_feed.pypromoted to production cron; backfill preseason injury reports. - Oct 8: Preseason starts, stats poller dry-runs against preseason games.
- Oct 15: PUBLIC LAUNCH š
/fantasy/nbagoes live/fantasy-nba-create-leagueshipped in bot- Waitlist batch-emailed
- Launch thread on X + reference post on Reddit r/fantasybball
- First-week buy-in incentive: $5 credit to any user who creates an NBA league in the first 72 hours
- Oct 22: NBA opening tip-off. Public matchups begin. Monitor polling SLA.
- Oct 31: Halloween retrospective, what broke, what to patch before the season hits rhythm.
November 2026 to June 2027: operate
Monthly: Performance review, league signups, DAU, retention, payout accuracy.
Jan 15, 2027: Super Bowl overlap, cross-promote NFL payouts funneling into NBA trade deadlines.
Feb 19, 2027: NBA trade deadline, expect spike in trade-advisor usage. Pre-scale cron.
Apr 13, 2027: Regular season ends. Playoff bracket pool opens.
Jun 2027: Finals bracket wraps. Season closes.
4. Engineering owners
| Component | Owner | File |
|---|---|---|
| Schema migrations | DB | db/migrations/0014-nba-fantasy.sql, 0015-nba-stats.sql |
| NBA data worker | Backend | workers/nba_data/ |
| Scoring engine (TS) | Fantasy | src/services/ai/nba-scoring-engine.ts |
| Trade advisor | AI | src/services/ai/nba-trade-advisor.ts |
| Discord command | Bot | src/bot/commands/fantasy/fantasy-nba-create-league.js |
| Landing page + switcher | Web | web/src/app/fantasy/nba/page.tsx, SportSwitcher.tsx |
| Injury feed | Data | workers/nba_data/injury_feed.py |
| Alerting + observability | SRE | reuse MGT Mission Control cron registry |
5. Code reuse breakdown
| System | Reused from NFL? | Notes |
|---|---|---|
| Leagues table | YES | +sport discriminator column |
| Teams, rosters, draft picks | YES | 100% sport-agnostic already |
| Draft engine | YES | Same snake/auction/linear logic |
| Waivers | YES | Same FAAB + priority stack |
| Trades envelope | YES | Same proposer/target/vote flow |
| Matchups | YES | Works for points mode; categorical uses resolveCategoricalMatchup |
| Escrow + wallets + ledger | YES | Fully sport-agnostic |
| KYC + RG + fraud | YES | Fully sport-agnostic |
| Scoring engine | NEW | NBA needs categorical mode that NFL never had |
| Stats tables | NEW | nba_games, nba_game_stats, nba_player_weekly |
| Data worker | NEW | Different API (nba_api), different cadence (nightly) |
| Injury feed | PARTIAL | Same pattern, new statuses + normaliser prompt |
| Landing page | NEW | Shares layout + components, new copy + visuals |
Estimated reuse: ~80% of the fantasy stack carries over unchanged. The 20% that's new is focused entirely on NBA-specific concerns: categorical scoring, box-score shape, and the data ingress pipeline.
6. Success metrics
30-day post-launch (Nov 22, 2026)
- ā„ 500 NBA leagues created
- ā„ 40% of existing NFL managers create at least one NBA league
- Stat polling SLA: box scores ingested within 15 min of final horn, 99% of games
- Trade advisor usage: ā„ 1,000 NBA trade analyses served
- Payout accuracy: 100%, zero stuck escrow rows
Season-end (Jun 2027)
- ā„ 25% of NFL managers created multiple NBA leagues (retention compound)
- Year-round DAU ā„ 60% of peak-NFL-week DAU (vs. current ~25%)
- NBA contribution to platform rake: ā„ 30% of total fantasy rake across the season
7. Risks + mitigations
| Risk | Mitigation |
|---|---|
nba_api rate limits or breaks silently |
Add sportsdata.io NBA free-tier fallback; alert on empty polls |
| NBA-specific injury vocabulary gaps | Manual normaliser prompt tuning; audit weekly during first month |
| Categorical scoring bugs in live matchups | Unit tests + shadow-mode (compute but don't display) for week 1 |
| Confusion between NFL and NBA leagues in UI | SportSwitcher in every /fantasy route; league names include sport |
| Managers expect DFS-style daily contests | Clear copy: season-long only at launch, DFS is Q1 2027 |
| Revenue dilution, NBA buy-ins cannibalize NFL | Track co-ownership rate; likely additive per retention data |
8. Content + marketing checklist (September)
- 10 sleeper articles (1/day for opening week)
- Bust candidates thread on X (pinned)
- Category-specific rankings: top-25 per category
- Categorical vs points explainer (blog + embedded in create-league flow)
- Partner mentions: 3 NBA fantasy podcast appearances booked
- Newsletter: weekly "NBA Week Ahead" starting Oct 6
- Discord announcement + @everyone ping on Oct 15 launch day
9. Post-launch review cadence
- Daily standups (product + engineering) for weeks 1-2
- Weekly retro through end of October
- Monthly retro through Jun 2027
- Full season-end post-mortem by Jul 15, 2027