get_benchmarks
Retrieve percentile-based benchmark stats for any Dota 2 hero to compare player performance against average, good, and exceptional thresholds across key metrics like GPM, XPM, and KDA.
Instructions
Get statistical benchmarks for a hero (average performance metrics across all skill levels).
Use this when users ask:
"What are the average stats for [hero]?"
"What's a good GPM/XPM for [hero]?"
"Show me benchmark stats for [hero]"
"What's the typical performance for [hero]?"
"How do I compare to other [hero] players?"
Returns percentile-based benchmarks showing what constitutes below-average, average, good, and exceptional performance for various metrics on this hero. Useful for comparing a player's performance to the general population.
Supports both hero IDs and natural language hero names.
Args: hero_id: Hero to get benchmarks for. Accepts: - Integer: Hero ID (e.g., 86 for Rubick) - String: Hero name (e.g., "Rubick", "Anti-Mage")
Returns: Dictionary containing benchmark statistics organized by metric. Each metric shows percentile breakdowns (e.g., 0.1, 0.25, 0.5, 0.75, 0.9) representing the 10th, 25th, 50th (median), 75th, and 90th percentiles.
Common metrics included:
- gold_per_min: GPM benchmarks by percentile
- xp_per_min: XPM benchmarks by percentile
- kills_per_min, deaths_per_min, assists_per_min: KDA-related benchmarks
- last_hits_per_min: Farming efficiency benchmarks
- hero_damage_per_min: Combat effectiveness benchmarks
- hero_healing_per_min: Support/healing benchmarks
- tower_damage: Objective damage benchmarks
- stuns_per_min: Crowd control benchmarks
- And many more...Common queries: - General benchmarks: get_benchmarks("Rubick") - Compare player stats: First get player stats with get_player_totals(), then compare to benchmarks from this function
Example: get_benchmarks("Rubick") -> { "gold_per_min": { "0.1": 250.5, # 10th percentile - below average "0.25": 310.2, # 25th percentile - low average "0.5": 380.7, # 50th percentile (median) - average "0.75": 450.3, # 75th percentile - above average "0.9": 520.8 # 90th percentile - excellent }, "kills_per_min": { "0.1": 0.15, "0.5": 0.35, "0.9": 0.65 }, ... }
Interpretation: If a player has 460 GPM on Rubick, they're performing around the 75th percentile (better than 75% of Rubick players).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hero_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||