Agent Skills
返回列表
MLB Statcast 高级棒球数据

MLB Statcast 高级棒球数据

数据分析 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-mlb-statcast。

技能介绍

要解决什么问题

当你想知道 Aaron Judge 2025 赛季击球初速的第 95 百分位是多少,或者 Paul Skenes 的滑球挥空率是否高于联盟平均时,传统 box score 完全给不出答案。这类问题需要逐球级别的 Statcast 数据、投手武器库细分统计、预期表现与实际结果的偏差分析,以及联盟百分位排名。公开的 Baseball Savant / FanGraphs API 虽然免费,但调用繁琐:需要手动处理 MLBAM ID 映射、日期范围截断、批量查询优化,以及投手/击球手歧义消解。

核心能力与工作流程

这个技能封装了 statcast-mcp 服务器,暴露 24 个工具,覆盖从身份解析到高级指标的完整链路:

  • 身份解析:player_lookup 获取 MLBAM ID 及 FanGraphs、Baseball-Reference、Retro 等备用标识符
  • 逐球数据:statcast_search / statcast_batter / statcast_pitcher 按日期范围或球员拉取投球序列
  • 赛季统计:season_batting_stats / season_pitching_stats 及自定义窗口版本
  • 预期值:statcast_batter_expected_stats / statcast_pitcher_expected_stats 提供 xBA、xSLG、xwOBA;expected_stats_batch 支持批量查询
  • 武器库:statcast_pitcher_arsenal_stats 按球种拆分 BA/SLG/wOBA/Whiff%/K%/Hard-Hit%
  • 击球质量与百分位:statcast_batter_exitvelo_barrels、batter_percentile_ranks、outs_above_average 等

推荐的工作流程是:先用 player_lookup 确认 MLBAM ID 和活跃年份,再优先使用 expected_stats_batch 等批量工具,逐球查询保持 1–5 天的短窗口(长窗口可能耗时 30 秒以上)。数据源为 pybaseball 封装的公共端点,无需 API key。

适用边界与注意点

  • 仅覆盖 MLB,不含小联盟、大学棒球或国际赛事
  • Statcast 历史数据始于 2008 年
  • 不提供实时比分、play-by-play 或赔率数据
  • 常见名字(如 "Joe Green")会返回多个候选,需根据 mlb_played_first / mlb_played_last 年份消歧
  • player_lookup 用姓氏子串匹配,下游工具(如 batter_percentile_ranks)要求全名,两者输入格式不同
  • 投手/击球手歧义时,可用 "Last, First" 全名格式强制指定

使用场景

  • 赛后复盘投手某种球路的挥空率与好球带边缘分布
  • 对比某球员当季实际打击数据与xBA/xSLG预期值的偏差
  • 检索某时段内全联盟击球初速前10%的打者名单
  • 分析中外野手本季OAA与方向性防守贡献的排名

适合人员

  • 棒球迷:想用Statcast指标替代box score做深度分析
  • 数据分析师:为球队报告拉取逐球数据与赛季级别统计
  • 体育内容作者:写球员前瞻时需要对比实际与预期表现
  • R&D工程师:构建棒球数据产品时需要验证Statcast指标口径