Get Match Rotation Breakdown (P1-P6)
get_rotation_breakdownAnalyze team sideout, point-scoring, and first-ball sideout efficiencies by setter rotation P1–P6 for a match to identify rotations leaking points or generating scoring runs.
Instructions
Fetch team tactical sideout, point-scoring, and first-ball sideout (FBSO) efficiencies broken down across setter rotations P1 through P6 for a match, unlike get_match_player_stats (individual player box scores) or get_game_actions (event-level rally touches).
When to Use
Diagnose which setter rotation (
P1throughP6) is leaking sideout points or generating service scoring runs.Compare Sideout Percentage (
Sideout%), First-Ball Sideout Percentage (FBSO%), Point Scoring Percentage (Point Score%), and Setter Distribution tendencies (Left/OH,Middle,Right/Opp,Pipe/Backrow) by rotation.
When NOT to Use
Do NOT use for individual athlete kill/dig/pass totals; call
get_match_player_statsinstead.Do NOT use to inspect which specific player committed reception or attack errors inside a weak rotation; call
get_game_actionsafter identifying the rotation here.
Behavioral Guarantees & Caching
Execution Contract: Strictly read-only, idempotent query.
Domain Conventions:
P1–P6denote the setter's starting court zone (P1= Zone 1 right-back,P6= Zone 6 middle-back,P5= Zone 5 left-back,P4= Zone 4 front-left,P3= Zone 3 front-center,P2= Zone 2 front-right).Caching Policy: Cached on local disk for 7 days (
604800s).Rate Limiting: Client token bucket (
2 req/s, burst4) with automatic retry.
Parameter & Workflow Semantics
Typical coaching workflow: call
get_rotation_breakdownfirst to find any rotation withSideout% < 50%, then callget_game_actions(match_id=..., action_type='receive', quality='error')to pinpoint the exact breakdown cause.
Returns & Error States
'markdown': Table with columnsRotation,SO Opp,SO Pts,Sideout%,FBSO%,Srv Opp,Srv Pts,Point Score%, andSetter Distribution.'compact': JSON object{"match_id": str, "rotations": [{"rot": str, "so_opp": int, "so_pts": int, "so_pct": float, "fbso_pct": float, "ps_opp": int, "ps_pts": int, "ps_pct": float, "dist": dict}]}.Returns validation error if
match_idis empty, or⚠️ Authentication Erroron HTTP401/403.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | No | Optional Volleymetrics team ID (from get_user_teams) to filter P1-P6 rotation analytics to a specific squad. When omitted, analyzes the default primary team in the match. | |
| match_id | Yes | Unique Volleymetrics match identifier obtained from list_volleyball_matches. | |
| force_refresh | No | When True, bypasses the 7-day local disk cache and recalculates rotation metrics from live Volleymetrics data. | |
| output_format | No | Response representation format: 'markdown' renders a P1-P6 tactical efficiency table; 'compact' returns a token-efficient JSON object. | markdown |