Analyze performance
analyze_performanceCompute running performance from recorded activities with fixed rules (no AI): a metric such as 5K best time, tempo or Zone 2 average pace, long-run distance or interval count, over the last period_days and the window before it, for the connected account, one athlete or a group. Group scope ranks members and supports most-improved or top-K questions through trend_filter, sort_by and top_k. A coach with one group may omit group_id; with several, the result has status needs_group_choice with the group names and ids. Names in athlete_names that match no one or several members are reported while the rest are analysed.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "analyze_performance"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| zone | No | Keep runs whose average heart rate fell in this zone. | |
| scope | No | self: the connected account; athlete: athlete_id; group: group_id or the coach's group; auto: group when group_id is given, else athlete, else self. | self |
| top_k | No | Ranked rows to keep; 0 or omitted keeps all. | |
| measure | No | What to compute over the matching runs; default best_time. | |
| sort_by | No | Ranking order; a measure name sorts by current_value. | |
| group_id | No | A group id from get_team_overview; a coach with one group may omit it. | |
| athlete_id | No | Athlete scope: the athlete's user id (get_coach_athletes, find_athlete). | |
| metric_key | No | A preset metric; it sets the filters and measure. Omit to build one. | |
| metric_hint | No | The question in plain words, used when no metric_key fits. | |
| period_days | No | Trailing days analysed, 1-180. | |
| trend_filter | No | Keep only athletes whose trend has this direction (group scope). | |
| athlete_names | No | Group scope: only members with these names. | |
| member_filter | No | Group scope: only these member user ids. | |
| heart_rate_max | No | Average heart-rate bound in bpm. | |
| heart_rate_min | No | Average heart-rate bound in bpm. | |
| sort_direction | No | Ranking direction; the default follows the measure. | |
| pace_max_seconds | No | Pace bound in seconds per kilometre. | |
| pace_min_seconds | No | Pace bound in seconds per kilometre. | |
| activity_sub_types | No | Run types to include, for example easy_run, long_run, tempo, threshold, interval or recovery; related spellings are grouped. | |
| compare_to_previous | No | Also analyse the preceding window of the same length. | |
| distance_max_meters | No | Run distance bound in metres. | |
| distance_min_meters | No | Run distance bound in metres. | |
| min_current_samples | No | Leave out athletes with fewer runs in the window. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | ||
| scope | No | ||
| groups | No | ||
| metric | No | ||
| status | No | ||
| message | No | ||
| privacy | No | Present when the athlete's settings withhold data. | |
| summary | No | ||
| group_id | No | ||
| insights | No | ||
| warnings | No | ||
| next_step | No | What can be done next, for example after a failure. | |
| athlete_id | No | ||
| text_table | No | The member rows as a plain-text table. | |
| member_rows | No | ||
| next_cursor | No | Reads the next page; null on the last page. | |
| reason_code | No | ||
| total_weeks | No | ||
| user_content | No | Fields in this result that people wrote. | |
| data_coverage | No | ||
| subject_label | No | The athlete or group analysed. | |
| weeks_returned | No | ||
| ambiguous_names | No | ||
| applied_filters | No | ||
| truncated_fields | No | Lists cut to fit one response: rows returned and total. | |
| unresolved_names | No | ||
| comparison_window | No | ||
| generated_content | No | Fields in this result that NexRex's AI wrote. | |
| invalid_athlete_ids | No | ||
| session_definitions | No | Sessions that several rows of this result share by session_ref. | |
| content_block_fields | No | Column names of every content_blocks row, nested blocks rows included. |