Skip to content

Weekend Stream Classifier

🏒❄️ Distinguish desperation streams from genuine opportunities

The weekend stream classifier is one of ICE's most tactical tools - designed to help you make smart waiver decisions during critical weekend windows. It uses a binary decision tree and quantified upside scoring to separate legitimate pickups from panic moves.

Overview

Tool Name: analyze_weekend_streams

Chirp Style: desperate_or_legit

Time Horizon: 3-7 days (weekend tactical decisions)

What It Does

Analyzes free agents during weekend periods and classifies them into three categories:

  1. 🔥 Genuine Opportunities - Sustainable roles, >2 week hold value, independent catalysts
  2. ⚠️ Monitor Territory - Hot hands with risky matchups, 50/50 plays
  3. 🆘 Desperation Streams - Bye-week fillers, injury covers, <1 week value

The Problem It Solves

Not all weekend streams are created equal. Some are strategic adds with season-long value. Others are panic moves that fill a roster hole but don't improve your team. This tool helps you:

  • Avoid desperation moves driven by byes/injuries
  • Identify genuine breakouts hidden in the weekend waiver wire
  • Make data-driven decisions using quantified upside scores (0-100)
  • Optimize limited moves by focusing on high-value adds

Binary Classification Logic

DESPERATION if:
  ✗ Context-driven (bye/injury fill)
  ✗ Low floor (<0.4 FP/G projected)
  ✗ No role lock (TOI <12 min)

GENUINE if:
  ✓ Independent catalysts (PP1, line promotion)
  ✓ High ceiling (>0.6 FP/G projected)
  ✓ Sustainable (>14 day hold duration)

MONITOR if:
  ~ 50/50 territory
  ~ Hot hand but tough matchup
  ~ Role uncertainty

Upside Score Formula

Score = (0.30 × Proj FP/G × 10) + (0.30 × Opp TOI) + (0.20 × Schedule Ease) - (0.20 × Risk %)

Score Thresholds

  • >60 = Genuine opportunity
  • 40-60 = Monitor territory
  • <40 = Desperation stream

Scoring Factors

FactorWeightWhat It Measures
Projected FP/G30%Expected fantasy points per game (next 7 days)
Opportunity TOI30%Time on ice, PP role, line position
Schedule Ease20%Weekend games, opponent strength, matchup quality
Risk %-20%Injury status, role volatility, back-to-back fatigue

Seven Intelligence Layers

  1. Schedule Analysis - Weekend games, back-to-backs, opponent matchups
  2. Context Synthesis - Team byes, injuries, roster gaps
  3. Metrics Evaluation - Recent PPG, projected FP/G, TOI trends
  4. Risk Assessment - Injury probability, role volatility, matchup difficulty
  5. Binary Classification - Desperation vs Genuine vs Monitor
  6. Fit Optimization - Match to roster gaps, suggest drops
  7. Confidence Scoring - 0-100 upside score with thresholds

Usage

Basic Example

typescript
{
  "date_range": {
    "start": "2025-10-11",
    "end": "2025-10-13"
  }
}

With Position Filter

typescript
{
  "date_range": {
    "start": "2025-10-11",
    "end": "2025-10-13"
  },
  "position_filter": ["C", "RW"],
  "ownership_max": 40
}

With Team Needs

typescript
{
  "date_range": {
    "start": "2025-10-11",
    "end": "2025-10-13"
  },
  "team_needs": ["bye_fill", "C_depth"],
  "min_upside_score": 50
}

With Chirp Controls

typescript
{
  "date_range": {
    "start": "2025-10-11",
    "end": "2025-10-13"
  },
  "chirp_intensity": "ice_cold",
  "personality_mode": "roast_master",
  "max_results": 5
}

Parameters

Required

ParameterTypeDescription
date_rangeObjectWeekend dates to analyze
date_range.startStringStart date (YYYY-MM-DD, e.g., "2025-10-11")
date_range.endStringEnd date (YYYY-MM-DD, e.g., "2025-10-13")

Optional

ParameterTypeDefaultDescription
position_filterArrayAllFilter by positions: ["C", "LW", "RW", "D", "G"]
ownership_maxNumber50Maximum ownership % (players above excluded)
team_needsArrayNoneYour needs: ["bye_fill", "injury_cover", "G_volume"]
min_upside_scoreNumber0Minimum upside score to include (0-100)
max_resultsNumber10Maximum results per classification
chirp_intensityStringice_coldChirp intensity: gentle, standard, savage, ice_cold
personality_modeStringanalyticalChirp personality style
enable_chirpBooleantrueEnable/disable chirp intelligence

Example Queries

"Analyze this weekend's streaming options"

Analyze weekend streams for Oct 11-13, 2025.
I need forwards to cover CAR bye week.
Classify desperation vs genuine opportunities.

The tool will:

  1. Identify free agents with weekend games
  2. Detect your CAR bye week gap
  3. Score each player (0-100 upside)
  4. Classify as Genuine/Monitor/Desperation
  5. Suggest drop candidates for genuine adds

"Find genuine opportunities only"

Analyze weekend streams Oct 11-13.
Only show me genuine opportunities with upside score >60.
I want sustainable adds, not desperation fills.

"Weekend goalies"

Analyze weekend goalie streams Oct 11-13.
Filter to G position only.
Show me who has back-to-backs vs genuine starter opportunities.

Response Structure

json
{
  "analysis_insights": {
    "streaming_targets": [...],
    "market_intelligence": {...}
  },
  "recommendations": [
    {
      "priority": "HIGH",
      "action": "pickup",
      "player": {
        "name": "Morgan Frost",
        "team": "PHI",
        "position": "C",
        "classification": "genuine",
        "upside_score": 72,
        "weekend_games": 3,
        "schedule_ease": 85,
        "matchup_quality": "favorable",
        "catalyst": "PP1 role lock - power play opportunity",
        "hold_duration": ">2 weeks",
        "fit_reason": "Fills C need"
      },
      "reasoning": "Genuine: Fills C need (Score: 72)"
    }
  ],
  "chirp_intelligence": {
    "analysis_chirp": "🔥 Found 3 genuine opportunities...",
    "ice_cold_truth": "These aren't streams, they're season savers..."
  },
  "metadata": {
    "classification_breakdown": {
      "genuine_count": 3,
      "desperation_count": 12,
      "monitor_count": 5
    },
    "weekend_summary": {
      "total_weekend_games": 45,
      "avg_games_per_player": 2.1,
      "back_to_back_situations": 8
    }
  }
}

Classification Examples

Genuine Opportunity

Player: Morgan Frost (PHI, C)
Classification: GENUINE
Upside Score: 72

Why Genuine:
✓ PP1 role lock (independent catalyst)
✓ 3 weekend games (volume opportunity)
✓ Projected 0.8 FP/G (high ceiling)
✓ 18 min TOI (role security)
✓ Not driven by user's byes/injuries

Hold Duration: >2 weeks
Chirp: "PP1 lock? Now we're talking genuine upside 🔥"

Desperation Stream

Player: Jujhar Khaira (VAN, C)
Classification: DESPERATION
Upside Score: 28

Why Desperation:
✗ Filling CAR bye week gap (context-driven)
✗ Bottom-6 role, 9 min TOI (no role lock)
✗ Projected 0.2 FP/G (low floor)
✗ Back-to-back fatigue risk

Hold Duration: <1 week
Chirp: "That's not a stream, that's a cry for help 🆘"

Monitor Territory

Player: Pavel Zacha (BOS, C)
Classification: MONITOR
Upside Score: 52

Why Monitor:
~ Hot streak (5 points in 3 games)
~ Tough matchup vs COL, FLA (risky)
~ Role on top line, but inconsistent
~ 50/50 territory

Hold Duration: 1-2 weeks
Chirp: "Hot hand but tough matchup - tread carefully ⚠️"

Chirp Style: desperate_or_legit

The weekend stream classifier uses a unique chirp style that:

  • Calls out desperation when you're making panic bye-week moves
  • Celebrates genuine opportunities with PP1 locks and sustainable roles
  • Warns about monitor territory for 50/50 hot hands with risky matchups

Sample Chirps

Desperation Detected:

"🆘 That's not a waiver wire, that's a cry for help. Pure desperation plays everywhere."

Genuine Opportunities Found:

"🔥 Found 3 genuine opportunities. PP1 locks, top-6 roles, sustainable upside. This is how you dominate."

Multiple Roster Gaps:

"⚠️ Multiple roster gaps detected. You're in triage mode - prioritize high-floor plays."

Mixed Bag:

"📊 Mixed bag this weekend. Some genuine plays, some desperation. Choose wisely."

When to Use This Tool

✅ Perfect For

  • Friday/Saturday waiver decisions - Weekend streaming windows
  • Bye week planning - Distinguish filling gaps vs genuine adds
  • Injury coverage - Avoid desperation, find opportunity
  • Limited roster moves - Maximize each pickup's value
  • Short-term tactical decisions - 3-7 day holds

❌ Not Ideal For

  • Season-long breakouts - Use analyze_breakout_players instead
  • Mid-week streaming - Designed for weekend windows
  • Keeper/dynasty decisions - Too short-term focused
  • Playoff stashing - Not designed for long-term holds

Comparison: Weekend Streams vs Breakout Analysis

FeatureWeekend StreamsBreakout Analysis
Time Horizon3-7 daysMulti-week to season
ClassificationDesperation/Genuine/MonitorMust-add/Strong/Monitor/Sleeper
FocusTactical weekend decisionsStrategic season-long adds
Upside FormulaSchedule + Context heavyPerformance + Projections heavy
Context AwarenessByes, injuries, roster gapsAge, trending, opportunity
Best ForWeekend waivers, bye fillsFree agent pickups, breakouts

Tips for Maximum Value

  1. Run on Fridays - Get ahead of Saturday waivers
  2. Specify team_needs - Helps classification accuracy
  3. Set min_upside_score - Filter noise, focus on quality
  4. Check hold_duration - Genuine = >2 weeks, Desperation = <1 week
  5. Trust the scores - >60 = genuine, <40 = desperation
  6. Act fast on genuine plays - Other managers catch on quickly
  7. Avoid back-to-backs for goalies - Usually desperation plays
  8. PP1 locks are golden - Independent catalyst = genuine
  9. Context-driven = caution - If only reason is your bye, it's desperation
  10. Monitor != skip - 50/50 plays can pay off with good matchups

Advanced Strategies

Weekend-Only Holds

Set strict criteria to find pure weekend streams:

  • "min_upside_score": 35
  • "team_needs": ["bye_fill"]
  • Target players with 2-3 weekend games

Genuine Opportunity Hunting

Find sustainable adds hidden in weekend waivers:

  • "min_upside_score": 60
  • "position_filter": ["C", "RW"] (highest opportunity)
  • Look for "PP1 role lock" catalyst

Bye Week Triage

When multiple roster gaps exist:

  • Specify all team_needs
  • Lower min_upside_score to 30
  • Prioritize high-floor (low risk%) over ceiling
  • Accept some desperation to fill gaps

Goalie Streaming

Specialized goalie strategy:

  • "position_filter": ["G"]
  • "ownership_max": 30
  • Avoid back-to-backs (risk penalty)
  • Focus on matchup_quality = "elite" or "favorable"

Troubleshooting

"Too many desperation streams, not enough genuine"

This is normal! Most weekend waivers are desperation. Strategies:

  1. Lower min_upside_score to see more options
  2. Increase ownership_max to 60-70%
  3. Run analysis earlier in week (more time = more options)
  4. Accept monitor territory (scores 40-60) as acceptable

"All players show context_driven = true"

This means you have significant roster gaps (byes/injuries). The tool is correctly identifying that your streaming is driven by necessity. Focus on:

  • Highest upside scores within desperation category
  • Lowest risk percentages
  • Best matchup_quality

"Upside scores seem low overall"

Weekend waiver pools are typically lower quality than full free agent pools. Compare relatively:

  • Top desperation (score 35-40) vs bottom desperation (score 15-20)
  • Use classification more than absolute scores
  • Remember: 40+ is monitor territory, anything viable

"Classification disagrees with my gut"

The tool is conservative and data-driven. Common reasons:

  • Player name recognition - Famous player ≠ current opportunity
  • Recent hot streak - Already priced into projections
  • Your roster needs - Tool flags context-driven accurately
  • Trust the process: genuine opportunities have independent catalysts

Next Steps

After running weekend stream analysis:

  1. Act on HIGH priority genuines - Immediate pickups
  2. Watch MEDIUM monitor targets - Check game results
  3. Avoid desperation unless necessary - Only if filling critical gap
  4. Run analyze_breakout_players - Find multi-week adds
  5. Use ice for comprehensive - Full roster optimization
  • analyze_breakout_players - Season-long free agent analysis
  • get_streaming_recommendations - Full-week streaming strategy
  • get_games_in_hand - Schedule advantage analysis
  • ice - Comprehensive roster optimization with all insights

"That's not a stream, that's a cry for help." - ICE, when detecting pure desperation

🏒❄️ When you call this tool, you're not guessing. You're activating the cormorant's tactical weekend intelligence.