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:
- 🔥 Genuine Opportunities - Sustainable roles, >2 week hold value, independent catalysts
- ⚠️ Monitor Territory - Hot hands with risky matchups, 50/50 plays
- 🆘 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
Factor | Weight | What It Measures |
---|---|---|
Projected FP/G | 30% | Expected fantasy points per game (next 7 days) |
Opportunity TOI | 30% | Time on ice, PP role, line position |
Schedule Ease | 20% | Weekend games, opponent strength, matchup quality |
Risk % | -20% | Injury status, role volatility, back-to-back fatigue |
Seven Intelligence Layers
- Schedule Analysis - Weekend games, back-to-backs, opponent matchups
- Context Synthesis - Team byes, injuries, roster gaps
- Metrics Evaluation - Recent PPG, projected FP/G, TOI trends
- Risk Assessment - Injury probability, role volatility, matchup difficulty
- Binary Classification - Desperation vs Genuine vs Monitor
- Fit Optimization - Match to roster gaps, suggest drops
- Confidence Scoring - 0-100 upside score with thresholds
Usage
Basic Example
{
"date_range": {
"start": "2025-10-11",
"end": "2025-10-13"
}
}
With Position Filter
{
"date_range": {
"start": "2025-10-11",
"end": "2025-10-13"
},
"position_filter": ["C", "RW"],
"ownership_max": 40
}
With Team Needs
{
"date_range": {
"start": "2025-10-11",
"end": "2025-10-13"
},
"team_needs": ["bye_fill", "C_depth"],
"min_upside_score": 50
}
With Chirp Controls
{
"date_range": {
"start": "2025-10-11",
"end": "2025-10-13"
},
"chirp_intensity": "ice_cold",
"personality_mode": "roast_master",
"max_results": 5
}
Parameters
Required
Parameter | Type | Description |
---|---|---|
date_range | Object | Weekend dates to analyze |
date_range.start | String | Start date (YYYY-MM-DD, e.g., "2025-10-11") |
date_range.end | String | End date (YYYY-MM-DD, e.g., "2025-10-13") |
Optional
Parameter | Type | Default | Description |
---|---|---|---|
position_filter | Array | All | Filter by positions: ["C", "LW", "RW", "D", "G"] |
ownership_max | Number | 50 | Maximum ownership % (players above excluded) |
team_needs | Array | None | Your needs: ["bye_fill", "injury_cover", "G_volume"] |
min_upside_score | Number | 0 | Minimum upside score to include (0-100) |
max_results | Number | 10 | Maximum results per classification |
chirp_intensity | String | ice_cold | Chirp intensity: gentle , standard , savage , ice_cold |
personality_mode | String | analytical | Chirp personality style |
enable_chirp | Boolean | true | Enable/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:
- Identify free agents with weekend games
- Detect your CAR bye week gap
- Score each player (0-100 upside)
- Classify as Genuine/Monitor/Desperation
- 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
{
"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
Feature | Weekend Streams | Breakout Analysis |
---|---|---|
Time Horizon | 3-7 days | Multi-week to season |
Classification | Desperation/Genuine/Monitor | Must-add/Strong/Monitor/Sleeper |
Focus | Tactical weekend decisions | Strategic season-long adds |
Upside Formula | Schedule + Context heavy | Performance + Projections heavy |
Context Awareness | Byes, injuries, roster gaps | Age, trending, opportunity |
Best For | Weekend waivers, bye fills | Free agent pickups, breakouts |
Tips for Maximum Value
- Run on Fridays - Get ahead of Saturday waivers
- Specify team_needs - Helps classification accuracy
- Set min_upside_score - Filter noise, focus on quality
- Check hold_duration - Genuine = >2 weeks, Desperation = <1 week
- Trust the scores - >60 = genuine, <40 = desperation
- Act fast on genuine plays - Other managers catch on quickly
- Avoid back-to-backs for goalies - Usually desperation plays
- PP1 locks are golden - Independent catalyst = genuine
- Context-driven = caution - If only reason is your bye, it's desperation
- 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:
- Lower
min_upside_score
to see more options - Increase
ownership_max
to 60-70% - Run analysis earlier in week (more time = more options)
- 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:
- Act on HIGH priority genuines - Immediate pickups
- Watch MEDIUM monitor targets - Check game results
- Avoid desperation unless necessary - Only if filling critical gap
- Run
analyze_breakout_players
- Find multi-week adds - Use
ice
for comprehensive - Full roster optimization
Related Tools
analyze_breakout_players
- Season-long free agent analysisget_streaming_recommendations
- Full-week streaming strategyget_games_in_hand
- Schedule advantage analysisice
- 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.