How StreamCaddy Works
StreamCaddy resolves watchability per game, per market, and per subscriber — giving you a definitive answer about whether you can watch a specific live sports event with your current streaming subscriptions.
Rights Resolution
StreamCaddy determines watchability by resolving each game's broadcast rights against your location and streaming subscriptions. The engine evaluates local RSN coverage, national broadcasts, streaming exclusives, out-of-market packages, and over-the-air availability in your specific market.
The result is a definitive answer — watchable or blocked — with a specific reason code explaining why.
Reason Codes
Every watchability decision includes one or more reason codes — machine-readable labels explaining the outcome. These codes are deterministic: the same inputs always produce the same codes.
| Code | Meaning |
|---|---|
| WATCHABLE | Game is available to watch live with the viewer's current subscriptions in their DMA. |
| BLACKED_OUT | Regional blackout restriction applies. The game is carried by a service the viewer has, but blacked out in their DMA due to local rights exclusivity. |
| NOT_IN_PACKAGE | The game airs on a network the viewer's service carries, but their subscription tier does not include it. |
| NO_LEGAL_PATH | No streaming subscription available in the US market can unlock this game in the viewer's DMA. |
| OUT_OF_MARKET | The game is only available in the team's home market DMA; the viewer is outside that area. |
| CARRIAGE_DISPUTED | The channel carrying this game is temporarily unavailable on the viewer's service due to a carriage/retransmission dispute. |
| RIGHTS_NOT_MODELED | StreamCaddy has not yet ingested the broadcast rights data for this specific game. Typically resolves within 24-48 hours of the game. |
| RIGHTS_STALE | Rights data exists but has not been refreshed within the expected window. May not reflect recent schedule changes. |
| PACKAGE_UNKNOWN | The viewer's exact subscription tier could not be confirmed. Watchability is uncertain. |
| NO_ACTIVE_RIGHTS | No active broadcast rights are registered for this event at all (off-season, cancelled, or TBD broadcast). |
| REPLAY_ONLY | The event is available only as a replay/on-demand after it concludes, not as a live stream. |
| TRAVEL_RESTRICTED | The viewer's streaming service restricts live viewing when detected outside their registered home area. |
Each reason code has a dedicated reference page at /methodology/[code] with detailed causes, examples, and resolution steps.
Blackout Handling
Blackouts are the most complex aspect of US sports streaming rights. StreamCaddy models two distinct blackout categories:
In-Market Blackouts
When a game airs on a local RSN, national streaming services (e.g., MLB.TV, ESPN+ for out-of-market games) are blacked out in the team's home DMA. The viewer must watch on the local RSN or a service carrying that RSN (e.g., a live TV streaming service with the RSN in its channel lineup for that DMA).
Out-of-Market Streaming
Services like MLB.TV and NBA League Pass provide access to games outside the team's home DMA. These services are only valid in DMAs where the game is not locally broadcast. StreamCaddy correctly marks these services as valid only in out-of-market DMAs.
Blackout Confidence
Not all blackout rules are published with explicit DMA lists. StreamCaddy assigns a confidence level to each blackout determination:
- High — Blackout territories explicitly published by the league or service.
- Medium — Inferred from historical patterns and known RSN footprints.
- Low — Extrapolated from limited data; may not be accurate for edge-case DMAs.
Optimizer Algorithm
StreamCaddy's optimizer evaluates streaming options available in your market and recommends configurations that maximize game coverage for your followed teams. It considers your current subscriptions, budget preferences, and local channel availability to find the most cost-effective setup.
The optimizer produces actionable recommendations: services to add that would unlock blocked games, and alternatives that could reduce cost while maintaining coverage.
DMA Coverage Model
StreamCaddy maintains a coverage model for each of the 210 US Designated Market Areas, tracking service availability, channel lineups, RSN carriage, and over-the-air affiliates.
Your ZIP code maps to a specific DMA, which determines exactly which services and channels are available to you. This is why the same streaming service can cover 98% of one team's games in one city and only 6% in another — it depends on which channels that service carries in your local market.
Data Sources and Freshness
StreamCaddy's accuracy depends on current broadcast data. Schedules, broadcast assignments, and channel lineups are updated regularly from league and provider sources.
When broadcast data has not been ingested for a game, StreamCaddy returns the reason code RIGHTS_NOT_MODELED rather than guessing. This ensures that gaps in data are surfaced honestly rather than producing incorrect watchability decisions.
Accuracy Commitment
StreamCaddy targets the following accuracy levels, validated against actual broadcast outcomes:
- Watchable determination — 95%+ accuracy for games with complete rights data (correctly identifying whether a game is watchable or blocked, and the correct blocking reason).
- Blackout accuracy — 90%+ for known blackout territories; lower for edge-case DMAs with unpublished blackout rules.
- Coverage percentage — Within 5 percentage points of true coverage for any given team, service, and market combination.
When accuracy cannot be verified for a specific game or market, StreamCaddy surfaces this uncertainty through confidence indicators rather than presenting unverified data as fact.