只需要利用鸟叫足球API的「联赛赛程」接口,就能轻松制作基础泊松模型。近期收到不少小伙伴发来私信,他们用鸟叫的足球API已经制作了五花八门的产品出来了,并且已经收获了自己的粉丝受众。
例如生成这样一份 Excel:

也可以生成这样的页面:

数据是死的人是活的,一切就看你怎么运用。基础独立泊松进球模型是足球数据分析中常见的模型。它的制作方法并不神秘,这篇文章教大家用鸟叫足球API制作泊松进球模型。
你不需要懂任何编程技术,只需要与AI对话就能一键生成,并且自动化更新。这篇教程先把 “比赛数据 → 泊松模型 → Excel” 的完整思路讲清楚,后面再给你一段可以直接发给 AI 的制作提示词。
本文使用内置演示数据帮助新手熟悉流程,不代表当前真实赛程,也不代表确定的比赛结果。
这份模型示例能做什么

按本文方案搭建后,程序会自动整理比赛记录,计算球队的主客场进攻、防守表现。以其他小伙伴制作的EXCEL为例,生成五张工作表:
- 研究看板:先看模型观察、关键依据、进球图景、样本和风险提示。
- 比赛概率:查看主胜、平局、客胜概率和双方预期进球。
- 球队参数:查看各队主客场进攻、防守系数及样本数。
- 数据检查:查看程序实际使用了多少场比赛,是否存在重复或样本不足。
- 模型说明:查看本次计算使用的数据范围和基本方法。
接入 API 后,每次运行都会重新完成数据读取、整理、计算和 Excel 导出。
这是什么模型,为什么足球分析经常提到它

泊松分布原本用来计算一段固定时间内,某件事发生几次的概率。足球比赛的进球数正好也是一个计数:一支球队可能进 0 球、1 球、2 球或更多球。因此,人们可以先估计一支球队本场的平均进球数,再用泊松分布计算它进不同球数的概率。
这条思路在足球统计研究中并不新鲜。1982 年,M. J. Maher 在论文中把球队的进攻强度和防守强度加入进球模型,并发现独立泊松模型虽然存在一些系统误差,但能够较合理地描述足球比分分布。查看 Maher 1982 年原论文
1997 年,Dixon 和 Coles 又在泊松回归基础上继续改进,重点处理球队实力随时间变化以及部分低比分的偏差。这套方法后来通常被称为 Dixon-Coles 模型。查看 Dixon 与 Coles 1997 年原论文
直到今天,泊松模型仍然经常被用作足球比分建模的基础方案。2022 年一项针对欧洲杯的研究仍将双泊松模型称为常用选择,同时也专门分析了它的优点和局限。查看 PLOS One 研究
鸟叫这个示例采用的是 Maher 同类的基础攻防泊松思路,不是完整复刻论文,也暂时没有加入 Dixon-Coles 修正。它的意义是结构简单、容易看懂,适合用来展示 API 数据怎样进入一个真实存在的经典模型框架。
这份泊松模型具体用了鸟叫 API 的哪些接口
先说一个容易误解的地方:这份示例不是调用「概率数据」接口拿到一组现成概率,再把它放进 Excel。它读取鸟叫 API 提供的联赛、赛季、历史赛果和未来赛程,然后由本地程序重新计算球队参数与比赛概率。
整个数据流程只有三步:
联赛列表 → 比赛列表 → 联赛赛程 → 泊松模型
1. 联赛列表:找到联赛和可用赛季
接口路径:/v1/league/list
这个接口会返回联赛名称、联赛 ID、赛事类型,以及该联赛目前可查询的赛季。每个赛季都有独立的 seasonId,后面读取比赛时会用到它。
例如,程序可以先按中文名称找到“英超”,再自动取得它的 leagueId 和各赛季的 seasonId。不需要自己在网页中寻找或记录这些编号。
截至 2026 年 9 月,鸟叫 API 的英超数据可查询 6 个赛季:从 2021/22 到 2026/27,包括当前赛季和此前 5 个完整赛季。后续我们会增加更多的历史数据。不同赛事的起止赛季可能不同,应以联赛列表接口的实际返回为准。教程示例默认只读取最近两个赛季,是为了让第一次运行更快,并不代表接口只能读取两个赛季。
2. 比赛列表:取得建立模型所需的历史赛果
接口路径:/v1/match/list
这是基础泊松模型最核心的接口。传入一个 seasonId,程序便可以分页读取该赛季的比赛记录。以 2025/26 英超为例,实测可取得完整的 380 场比赛。
实际请求的形式如下,三个接口都是 GET 请求,返回结果都是 JSON:
https://api.njstats.cn/api/v1/match/list?apikey=你的APIKEY&seasonId=赛季ID&page=1&pageSize=100
一条比赛记录中包含的主要数据有:
数据 | 接口字段 | 在模型中的作用 |
|---|
比赛与赛季 | matchId、leagueId、seasonId、roundId、roundLabel
| 识别比赛、去重并划分赛季 |
比赛时间 | matchTimeStr
| 按时间整理历史比赛,避免混入未来数据 |
比赛状态 | status、realStatus
| 只保留真正完赛的记录,排除未赛、延期或中断比赛 |
主客队 | homeId、homeName、awayId、awayName
| 区分主客场并计算每支球队的攻防参数 |
全场比分 | homeCount、awayCount
| 计算主客队平均进球和失球 |
其他赛果数据 | homeHalfCount、awayHalfCount,以及角球、黄牌、红牌
| 基础模型暂不使用,但可用于后续扩展 |
这里有三个细节很重要。
第一,模板只把 realStatus = -10 的完赛记录送进模型,不会把延期比赛或尚未开赛时的 0:0 当成真实比分。
第二,程序使用球队 ID 进行计算,球队名称只负责展示,因此不会因为简称或译名变化而把同一支球队当成两队。
第三,接口同时返回总场数、当前页和总页数,程序可以自动翻页,不需要人工逐页复制。
基础泊松模型真正必需的输入其实不多:谁主场、谁客场、什么时候比赛、是否完赛、最终进了几球。
3. 联赛赛程:找到接下来要分析的比赛
接口路径:/v1/league/match
历史赛果负责让模型认识各队,未来赛程负责告诉模型接下来谁和谁比赛。程序通过当前赛季的 seasonId 读取联赛赛程,再筛选尚未开赛的比赛,把双方球队代入已经算好的攻防参数。
因此,一次完整运行是:
读取历史完赛比分 → 计算球队参数 → 读取未来赛程 → 生成待比赛事的模型结果
以后如果想继续研究近期状态、预期进球、射门、阵容或伤停,可以沿用同一套 matchId、teamId 和 seasonId 接入鸟叫的其他数据接口,不需要重新搭建整套数据关系。
这个泊松模型是怎么算的
先从历史比分中计算联赛主场和客场的平均进球,再计算每支球队的主客场进攻、防守系数。
主队本场预期进球的计算思路是:
联赛主场平均进球 × 主队主场进攻系数 × 客队客场防守系数
客队本场预期进球的计算思路是:
联赛客场平均进球 × 客队客场进攻系数 × 主队主场防守系数
算出的预期进球通常用希腊字母 λ(读作“兰姆达”)表示。假设主队的 λ 是 1.60,模型就会用下面的泊松公式,分别计算主队进 0 球、1 球、2 球等情况的概率:
进 k 球的概率 = e^(-λ) × λ^k ÷ k!
接入鸟叫API,程序会把主队与客队 0 至 10 球的概率两两组合,形成一张比分概率表,然后自动汇总:
- 主队进球多于客队,计入主胜概率。
- 双方进球相同,计入平局概率。
- 主队进球少于客队,计入客胜概率。
- 同一张比分表还可以汇总总进球、双方进球和常见比分。
示例还加入了 5 场联赛均值作为平滑。说白了就是球队样本较少时,不让一两场异常比分把进攻或防守系数拉得过高。
基础泊松模型通常假设双方进球相互独立,而且一场比赛中的进球能力保持稳定。但真实比赛会受到红牌、比分变化、阵容、战术和比赛阶段影响,双方进球也不一定完全独立。当前示例还没有加入 Dixon-Coles 低比分修正模型,也就是所谓的双变量泊松模型,大家不要被名字吓到,现在有了AI,再接入鸟叫API的数据,一键生成。后期大家还可以在模型中自己加入更多的数据权重,比如近期比赛权重、预期进球权重、阵容权重、指数权重等等。
真正接入鸟叫 API 后,有什么变化
模型公式并不是最费时间的部分。真正反复消耗精力的是获取比赛数据、统一球队和赛季、处理分页、排除未完赛记录,并在新比赛到来后继续更新。
本文开头的 Excel 使用演示数据,是为了让你先看懂最终结果。真正接入鸟叫 API 后,数据来源会换成真实接口,同一套程序便可以按联赛和赛季自动更新:
持续读取鸟叫数据 → 自动检查和整理 → 交给模型计算 → 输出自己的研究结果
API 的价值是一套可以按自己思路重复调用的数据来源,它简洁、省心、高效。
无需懂技术,AI 能帮你做什么
打开一个能够创建文件和运行代码的 AI 编程工具,如CODEX、腾讯WORKBUDDY把下面这段话发给它即可:
请根据鸟叫 API 文档(https://www.njstats.cn/data-api/docs/),帮我制作一个本地运行的基础足球泊松模型。我不懂编程,请直接创建并运行项目,不要只给代码片段。先调用 /v1/league/list 查找联赛和最近两个赛季,再用 /v1/match/list 分页读取历史比赛,只把 realStatus = -10 且比分完整的记录用于建模;然后用 /v1/league/match 读取未来赛程。请按主客场分别计算球队进攻、防守系数,用独立泊松分布生成预期进球、胜平负概率和三个最可能比分,最后导出包含“研究看板、比赛概率、球队参数、数据检查、模型说明”的 Excel。API Key 必须从本地环境变量读取,不能写进代码、日志或 Excel。遇到缺少环境或依赖时,请直接帮我处理,并用中文告诉我结果文件在哪里。
鸟叫 API 文档地址喂给AI:https://www.njstats.cn/data-api/docs/。AI 会自动执行任务,不需要你自己逐行编写代码。
API Key 不要发在公开聊天、评论区或截图中,也不要让 AI 把它直接写进代码,这些你可以直接告诉AI。
跑通以后还能研究什么
这份基础模型只是一个起点。接入鸟叫 API 后,还可以继续尝试:
- 比较赛季总体表现与最近 8 场状态。
- 分开计算球队总体、主场和客场数据。
- 加入预期进球、射门、危险进攻等统计指标。
- 调整近期比赛与早期比赛的权重。
- 把每天更新的结果制作成自己的表格或数据看板。
不要一口气把几十项数据都放进模型。一次增加一个因素,再比较前后的变化,更容易判断这项数据到底有没有价值。
常见问题
这是一个可以直接判断比赛结果的模型吗?
它是一个基础统计模型示例,用来展示鸟叫 API 数据如何进入计算流程。模型输出会随数据范围、样本数量和参数设置发生变化。
为什么不直接给出一套固定结论?
API 的价值不是替所有用户得出同一个结论,而是让每个人可以按自己的思路选择数据、加减权重、调整方法并反复验证。
下一步
先查看鸟叫 API 文档,确认所需接口。取得 API Key 后,把上面的制作要求发给你常用的 AI 编程工具,让它按照你的电脑环境完成第一次运行。