nutmeg-analyse
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAnalyse
分析
Help the user explore and interpret football data. Adapt depth and approach to their experience level from .
.nutmeg.user.md帮助用户探索和解读足球数据。根据中记录的用户经验水平调整回答的深度和方式。
.nutmeg.user.mdAccuracy
准确性
Read and follow before answering any question about provider-specific facts (IDs, endpoints, schemas, coordinates, rate limits). Always use — never guess from training data.
docs/accuracy-guardrail.mdsearch_docs在回答任何与供应商特定事实(ID、端点、schema、坐标、速率限制)相关的问题前,请阅读并遵循的要求。始终使用工具查询,绝不要根据训练数据猜测答案。
docs/accuracy-guardrail.mdsearch_docsFirst: check profile
第一步:检查用户资料
Read . If it doesn't exist, tell the user to run first.
.nutmeg.user.md/nutmeg读取文件,如果该文件不存在,请告知用户先运行命令。
.nutmeg.user.md/nutmegAdapt 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
单场比赛分析
- Match narrative: xG timeline (when did each team create chances?)
- Shot map: Location, xG value, outcome for each shot
- Passing network: Who connected with whom, average positions
- Pressing analysis: Where did each team win the ball back?
- Key events: Goals, red cards, substitution impact
- 比赛叙事: xG时间线(各队分别在什么时候创造了得分机会?)
- 射门地图: 每次射门的位置、xG值、结果
- 传球网络: 球员之间的传球连接情况、平均站位
- 逼抢分析: 各队分别在哪些区域夺回球权?
- 关键事件: 进球、红牌、换人带来的影响
Team season analysis
球队赛季分析
- Performance trajectory: Rolling xG, points, form over the season
- Style profile: Possession %, PPDA, directness, set piece reliance
- Squad analysis: Minutes distribution, key players by contribution
- Home vs away: Performance split
- Score state: How does the team play when winning vs losing?
- 表现轨迹: 滚动xG、积分、赛季期间的状态走势
- 风格特征: 控球率、PPDA、进攻直接性、定位球依赖度
- 阵容分析: 出场时间分布、按贡献度排名的核心球员
- 主客场表现: 主客场表现差异
- 比分状态: 球队在领先和落后时的踢法有何不同?
Player analysis
球员分析
- Per-90 stats: Normalise by minutes, not matches
- Percentile ranks: Where does this player rank among peers (same position, same league)?
- Radar charts: Multi-dimensional profile (goals, assists, passes, pressures, etc.)
- Progressive actions: Passes, carries, and runs that move the ball significantly forward
- Minimum minutes filter: 900 minutes (10 full matches) is a common threshold
- 每90分钟数据: 按出场时间而非比赛场数标准化数据
- 百分位排名: 该球员在同位置、同联赛的同行中排名多少?
- 雷达图: 多维度特征(进球、助攻、传球、逼抢等)
- 推进动作: 能显著推动球向前移动的传球、带球和跑动
- 最低出场时间过滤: 通常采用900分钟(10场完整比赛)作为阈值
Comparison analysis
对比分析
- Define the question first. "Is Player A better than Player B?" is too vague. Better: "Who creates more high-quality chances from open play?"
- Control for context. Per-90 stats, adjust for team quality, league quality.
- Use appropriate baselines. Compare to positional averages, not all players.
- Acknowledge limitations. Different roles, different teammates, different systems.
- 首先明确问题。 "球员A是否比球员B更优秀?"这个问题太模糊,更好的问题是:"谁在运动战中能创造更多高质量机会?"
- 控制上下文变量。 每90分钟数据,根据球队实力、联赛水平调整。
- 使用合适的基线。 和同位置平均水平对比,而非所有球员。
- 承认局限性。 角色不同、队友不同、战术体系不同都会带来差异。
Visualisation guidance
可视化指南
| Chart type | Best for | Football use case |
|---|---|---|
| Shot map | Spatial data on pitch | Where shots were taken, sized by xG |
| Pass network | Relationships | Who passes to whom, team shape |
| xG timeline | Match narrative | Running xG through a match |
| Radar chart | Multi-dimensional comparison | Player or team profiles |
| Bar chart | Ranking / comparison | League tables, top scorers |
| Heatmap | Density / frequency | Player touch maps, action zones |
| Scatter plot | Two-variable relationship | xG vs actual goals, creativity vs volume |
| Beeswarm | Distribution | Player 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:
- State your question before looking at the data. Don't go fishing for interesting patterns.
- Report null results. "We found no significant difference" is a valid finding.
- Show the raw numbers alongside fancy metrics. xG is meaningless without goals for context.
- Be specific about what you're measuring. "Pressing intensity" measured how? Over what period?
- Acknowledge what the data can't tell you. Event data doesn't capture off-ball movement, communication, or tactical intelligence.
足球数据可以被解读出任何你想要的结论,要防范这种情况:
- 查看数据前先明确问题。 不要刻意寻找有趣的模式。
- 汇报阴性结果。 "我们未发现显著差异"是有效的结论。
- 在复杂指标旁边展示原始数据。 没有实际进球作为上下文的xG是没有意义的。
- 明确说明你测量的维度。 "逼抢强度"是怎么测量的?测量的时间范围是?
- 承认数据的局限性。 事件数据无法捕捉无球跑动、沟通交流或战术智慧。