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.

CodeMeaning
WATCHABLEGame is available to watch live with the viewer's current subscriptions in their DMA.
BLACKED_OUTRegional 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_PACKAGEThe game airs on a network the viewer's service carries, but their subscription tier does not include it.
NO_LEGAL_PATHNo streaming subscription available in the US market can unlock this game in the viewer's DMA.
OUT_OF_MARKETThe game is only available in the team's home market DMA; the viewer is outside that area.
CARRIAGE_DISPUTEDThe channel carrying this game is temporarily unavailable on the viewer's service due to a carriage/retransmission dispute.
RIGHTS_NOT_MODELEDStreamCaddy has not yet ingested the broadcast rights data for this specific game. Typically resolves within 24-48 hours of the game.
RIGHTS_STALERights data exists but has not been refreshed within the expected window. May not reflect recent schedule changes.
PACKAGE_UNKNOWNThe viewer's exact subscription tier could not be confirmed. Watchability is uncertain.
NO_ACTIVE_RIGHTSNo active broadcast rights are registered for this event at all (off-season, cancelled, or TBD broadcast).
REPLAY_ONLYThe event is available only as a replay/on-demand after it concludes, not as a live stream.
TRAVEL_RESTRICTEDThe 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.