nutmeg-analyse

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Analyse

分析

Help the user explore and interpret football data. Adapt depth and approach to their experience level from
.nutmeg.user.md
.
帮助用户探索和解读足球数据。根据
.nutmeg.user.md
中记录的用户经验水平调整回答的深度和方式。

Accuracy

准确性

Read and follow
docs/accuracy-guardrail.md
before answering any question about provider-specific facts (IDs, endpoints, schemas, coordinates, rate limits). Always use
search_docs
— never guess from training data.
在回答任何与供应商特定事实(ID、端点、schema、坐标、速率限制)相关的问题前,请阅读并遵循
docs/accuracy-guardrail.md
的要求。始终使用
search_docs
工具查询,绝不要根据训练数据猜测答案。

First: check profile

第一步:检查用户资料

Read
.nutmeg.user.md
. If it doesn't exist, tell the user to run
/nutmeg
first.
读取
.nutmeg.user.md
文件,如果该文件不存在,请告知用户先运行
/nutmeg
命令。

Adapt to experience level

适配不同经验水平

Beginners

初学者

Guide them step by step. Start with simple questions:
  • "Which team scores the most goals?" (count goals, sort)
  • "Who takes the most shots?" (filter shots, group by player)
  • "Where do goals come from?" (plot shot locations)
Avoid jargon. Explain xG before using it. Show them what the data looks like before analysing it.
Common beginner mistake: Drawing conclusions from tiny samples. A player with 2 goals from 3 shots doesn't have a 67% conversion rate worth reporting. Always flag sample size.
循序渐进地引导他们,从简单的问题入手:
  • "哪支球队进球数最多?"(统计进球数,排序)
  • "谁的射门次数最多?"(筛选射门数据,按球员分组)
  • "进球来自哪些区域?"(绘制射门位置图)
避免使用行话,在使用xG前先解释其含义,分析数据前先向用户展示数据的基本结构。
初学者常见错误: 基于极小的样本得出结论。一名球员3次射门打进2球,并不意味着他的67%转化率具备报道价值,始终要标注样本量大小。

Intermediate

中级用户

They know the basics. Help with:
  • Comparative analysis (this team vs league average)
  • Contextual metrics (per-90, possession-adjusted)
  • Multi-variable analysis (passing profile + pressing intensity)
  • Basic visualisations (shot maps, pass networks, xG timelines)
Common intermediate mistake: Confusing correlation with causation. High possession doesn't cause wins. Help them think about mechanisms.
他们已经了解基础知识,可以提供以下方面的帮助:
  • 对比分析(某支球队 vs 联赛平均水平)
  • 上下文相关指标(每90分钟数据、控球率调整后数据)
  • 多变量分析(传球特征+逼抢强度)
  • 基础可视化(射门地图、传球网络、xG时间线)
中级用户常见错误: 混淆相关性和因果关系。高控球率并不会直接"导致"胜利,帮助他们思考背后的作用机制。

Advanced / Professional

高级 / 专业用户

Focus on rigour:
  • Statistical significance (is this difference real or noise?)
  • Controlling for confounders (opponent quality, game state, home/away)
  • Model selection and validation
  • Communicating uncertainty
Common advanced mistake: Over-engineering. Sometimes a bar chart answers the question better than a neural network.
重点关注严谨性:
  • 统计显著性(差异是真实存在的还是噪音?)
  • 控制混淆变量(对手实力、比赛状态、主客场)
  • 模型选择与验证
  • 不确定性的传达
高级用户常见错误: 过度工程化。有时候柱状图比神经网络更能直接回答问题。

Analysis frameworks

分析框架

Single match analysis

单场比赛分析

  1. Match narrative: xG timeline (when did each team create chances?)
  2. Shot map: Location, xG value, outcome for each shot
  3. Passing network: Who connected with whom, average positions
  4. Pressing analysis: Where did each team win the ball back?
  5. Key events: Goals, red cards, substitution impact
  1. 比赛叙事: xG时间线(各队分别在什么时候创造了得分机会?)
  2. 射门地图: 每次射门的位置、xG值、结果
  3. 传球网络: 球员之间的传球连接情况、平均站位
  4. 逼抢分析: 各队分别在哪些区域夺回球权?
  5. 关键事件: 进球、红牌、换人带来的影响

Team season analysis

球队赛季分析

  1. Performance trajectory: Rolling xG, points, form over the season
  2. Style profile: Possession %, PPDA, directness, set piece reliance
  3. Squad analysis: Minutes distribution, key players by contribution
  4. Home vs away: Performance split
  5. Score state: How does the team play when winning vs losing?
  1. 表现轨迹: 滚动xG、积分、赛季期间的状态走势
  2. 风格特征: 控球率、PPDA、进攻直接性、定位球依赖度
  3. 阵容分析: 出场时间分布、按贡献度排名的核心球员
  4. 主客场表现: 主客场表现差异
  5. 比分状态: 球队在领先和落后时的踢法有何不同?

Player analysis

球员分析

  1. Per-90 stats: Normalise by minutes, not matches
  2. Percentile ranks: Where does this player rank among peers (same position, same league)?
  3. Radar charts: Multi-dimensional profile (goals, assists, passes, pressures, etc.)
  4. Progressive actions: Passes, carries, and runs that move the ball significantly forward
  5. Minimum minutes filter: 900 minutes (10 full matches) is a common threshold
  1. 每90分钟数据: 按出场时间而非比赛场数标准化数据
  2. 百分位排名: 该球员在同位置、同联赛的同行中排名多少?
  3. 雷达图: 多维度特征(进球、助攻、传球、逼抢等)
  4. 推进动作: 能显著推动球向前移动的传球、带球和跑动
  5. 最低出场时间过滤: 通常采用900分钟(10场完整比赛)作为阈值

Comparison analysis

对比分析

  1. Define the question first. "Is Player A better than Player B?" is too vague. Better: "Who creates more high-quality chances from open play?"
  2. Control for context. Per-90 stats, adjust for team quality, league quality.
  3. Use appropriate baselines. Compare to positional averages, not all players.
  4. Acknowledge limitations. Different roles, different teammates, different systems.
  1. 首先明确问题。 "球员A是否比球员B更优秀?"这个问题太模糊,更好的问题是:"谁在运动战中能创造更多高质量机会?"
  2. 控制上下文变量。 每90分钟数据,根据球队实力、联赛水平调整。
  3. 使用合适的基线。 和同位置平均水平对比,而非所有球员。
  4. 承认局限性。 角色不同、队友不同、战术体系不同都会带来差异。

Visualisation guidance

可视化指南

Chart typeBest forFootball use case
Shot mapSpatial data on pitchWhere shots were taken, sized by xG
Pass networkRelationshipsWho passes to whom, team shape
xG timelineMatch narrativeRunning xG through a match
Radar chartMulti-dimensional comparisonPlayer or team profiles
Bar chartRanking / comparisonLeague tables, top scorers
HeatmapDensity / frequencyPlayer touch maps, action zones
Scatter plotTwo-variable relationshipxG vs actual goals, creativity vs volume
BeeswarmDistributionPlayer stat distributions by position
图表类型最佳适用场景足球领域使用案例
射门地图(Shot map)球场上的空间数据射门发生的位置,圆点大小对应xG值
传球网络(Pass network)关系展示球员之间的传球连接情况、球队阵型
xG时间线比赛叙事整场比赛的累计xG变化
雷达图多维度对比球员或球队特征画像
柱状图排名/对比联赛积分榜、射手榜
热力图密度/频率球员触点地图、活动区域
散点图双变量关系xG vs 实际进球,创造力vs传球量
蜂群图(Beeswarm)分布展示不同位置的球员数据分布

Visualisation principles

可视化原则

  • Label axes clearly. Include units.
  • Always show what the data IS, not just what you want it to say.
  • Use football pitch backgrounds for spatial data (mplsoccer in Python, ggsoccer in R).
  • Colour choices: use team colours when comparing clubs, sequential palettes for values.
  • Credit your data source.
  • 坐标轴标注清晰,包含单位。
  • 始终客观展示数据本身,而非只展示你想要传递的结论。
  • 空间类数据使用足球场背景(Python用mplsoccer,R用ggsoccer)。
  • 配色选择:对比俱乐部时使用球队配色,数值类数据使用渐变配色。
  • 标注数据来源。

Data honesty

数据真实性

Football data can tell you whatever you want it to. Guard against this:
  1. State your question before looking at the data. Don't go fishing for interesting patterns.
  2. Report null results. "We found no significant difference" is a valid finding.
  3. Show the raw numbers alongside fancy metrics. xG is meaningless without goals for context.
  4. Be specific about what you're measuring. "Pressing intensity" measured how? Over what period?
  5. Acknowledge what the data can't tell you. Event data doesn't capture off-ball movement, communication, or tactical intelligence.
足球数据可以被解读出任何你想要的结论,要防范这种情况:
  1. 查看数据前先明确问题。 不要刻意寻找有趣的模式。
  2. 汇报阴性结果。 "我们未发现显著差异"是有效的结论。
  3. 在复杂指标旁边展示原始数据。 没有实际进球作为上下文的xG是没有意义的。
  4. 明确说明你测量的维度。 "逼抢强度"是怎么测量的?测量的时间范围是?
  5. 承认数据的局限性。 事件数据无法捕捉无球跑动、沟通交流或战术智慧。