ARCHIVE / 25 SEASONS

二十五个赛季,一份逐轮累积的赛程档案

BET365赛事自 2000 年起持续整理与发布赛事数据,起点只是把每轮对阵、比分与基础战绩按统一格式记下来。 二十五个赛季之后,这项工作沉淀为一套覆盖 30 余项联赛与杯赛的归档体系,统计口径也逐步收敛到每 90 分钟, 并继续细分到定位球主罚与替补登场时段。

起始年份
2000
已归档赛季
25 个赛季
覆盖联赛与杯赛
30 余项
比赛记录
68,000

01 / 阶段演进

五个阶段,五次把问题重新问一遍

每一次方法上的调整,都不是为了把页面做得更好看,而是因为在当时的归档方式下,有些问题根本回答不了: 赛程对不上、口径不一致、平均值掩盖了角色差异、筛选粒度太粗。下面按赛季周期先后展开。

深色背景上横向排布的五个阶段色带与刻度线,标注阶段序号与年份区间跨度
  1. 01 起步期 首个十年

    最早的归档方式接近手抄:逐轮记录对阵、主客标识与比分,赛季结束后装订成册。 当时没有统一的中文索引,同一个联赛在不同资料里的译名互不相同,翻查上一赛季的结果往往要来回比对好几份底稿。

    这一阶段真正留下的不是数据量,而是习惯——每场比赛都必须挂在某个赛季节点下, 球队与球员的标识一旦确定就不再随意更换,避免同一个人被拆成两条记录。

    本阶段确立的基础术语
    • 赛季编号:以跨年周期为单位,8 月至次年 5 月为一个完整主赛季。
    • 轮次:联赛内按比赛日顺序排列的序号,次级赛事与欧战各自独立编号。
    • 主客标识:每场比赛必须记录承办方,用于后续拆分主客场样本。
    • 底稿留档:原始记录不得覆盖,修正以追加方式记录。
  2. 02 赛程双轴成形期 第二个十年

    当联赛条目越攒越多,按单一列表翻查的方式开始失效:想看某个联赛近几轮的密度,会翻到别的赛事里; 想比较同一轮不同联赛的排期,又要另起一份清单。

    于是赛程被重新组织成两个轴——每场比赛同时挂在赛季节点与联赛节点之下。 覆盖范围也从欧洲五大联赛逐步扩展到次级赛事与欧战,合计 30 余项联赛与杯赛, 赛程密度、射手榜追踪、次级联赛这些栏目才第一次有了稳定的组织方式。

    • 赛季 × 联赛双轴
    • 次级赛事纳入
    • 欧战独立编号
    双轴带来的结构变化
    • 赛季节点:同一赛季内所有赛事共享的时间骨架,用于跨联赛对齐轮次。
    • 联赛节点:同一赛事跨赛季的连续序列,用于观察长周期走势。
    • 赛事类型:联赛、杯赛、欧战三类,决定统计口径是否可比。
    • 赛程密度:以周为单位统计同一支球队的比赛间隔,用于判断轮换压力。
  3. 03 口径标准化期 近十二个赛季

    有了完整的赛程骨架之后,第二个问题浮出来:球员数据该怎么比。 一场比赛里有人踢满全场,有人只上场十几分钟,如果直接按累计值排名,长时间首发天然占优, 短时间登场的高效样本则被彻底淹没。

    解决办法是把所有球员统计统一换算成每 90 分钟的值,并且规定任何数字出现时必须同时标注样本量。 约 140 万条球员单场统计成为这层换算的底料,换算之后,不同登场时长的样本才第一次能放进同一张表里。

    为什么选每 90 分钟作为统一单位
    • 与比赛长度对齐:正常比赛时长约 90 分钟,换算结果接近观众对「一场球」的直觉。
    • 保留小样本:替补球员的十几分钟表现不会被直接丢弃,而是按比例折算后参与比较。
    • 可回溯:历史赛季的单场统计可以按同一公式重新换算,不会因口径变更而断裂。
    • 样本量强制标注:换算值必须跟出场时间总量一起呈现,避免误读。
  4. 04 时段细分期 近八个赛季

    统一到每 90 分钟解决了单位问题,却没有解决角色问题。 一名球员的跑动强度会被他的位置与战术职责主导,把这些结构差异平均掉之后,数字反而失去了说明力。

    因此统计被进一步切成独立时段:定位球主罚单独成组,替补登场时段单独成组。 定位球主罚关注角球、任意球与点球的执行者及其直接产出;替补登场时段则把第 60 分钟以后登场的样本单独归拢, 用于观察换人前后球队节奏的变化。

    • 定位球主罚
    • 替补登场时段
    • 3,200 余名球员每 90 分钟样本
    两个时段切片各自回答什么
    • 定位球主罚:只统计实际执行定位球的球员,量化其在角球与任意球中的直接贡献。
    • 替补登场时段:按登场时间切分样本,观察换人后跑动与节奏的即时变化。
    • 切片独立性:两个切片互不覆盖,一名球员可以同时出现在两组里。
    • 样本量下限:时段样本过小时不单独出结论,只作为对照参考。
  5. 05 对照与筛选期 近四个赛季

    单独一组数字很难判断差异是否真实。近四个赛季的做法是同时提供两组样本, 让读者自己选参照系:同位置对照、同赛事跨赛季对照、主力与替补对照。

    筛选维度目前涵盖球队、球员、时段与赛事类型,赛程双轴视图与指标筛选可以叠加使用, 结果一直落到具体轮次。数据终端的 v1 到 v4 四个系列,对应的正是这条从赛程表到多层级对照的路径。

    对照与筛选的使用约定
    • 两组样本:同时最多并列两组,避免多重对比导致的结论稀释。
    • 口径一致:两组样本必须使用同一口径与同一赛事类型,否则不生成对照结果。
    • 轮次落点:所有筛选结果都可回溯到具体轮次,便于逐场复核。
    • 赛季节奏:主赛季集中在 8 月至次年 5 月,6 月至 7 月为休赛期归档与年度对照。

02 / 口径方法

一个单位,两种切片

每 90 分钟解决的是「怎么把不同出场时长放在一起」, 定位球主罚与替补登场时段解决的是「放一起之后,差异到底来自哪里」。

多层半透明矩形层叠示意,表现赛季档案逐年累积的厚度关系
赛季档案以叠加而非替换的方式增长:旧赛季的底稿保留,新赛季的换算结果追加在上一层。

每 90 分钟并不是一个新鲜的统计单位,选择它是因为它同时满足三个条件:换算结果贴近观众对一场比赛的直觉, 历史数据可以按同一公式回溯重算,并且不会把出场时间很短的样本直接剔除。

定位球主罚被拆成独立切片,是因为这类场景的执行者相对固定,与运动战中的角色分布差异很大。 把角球、任意球与点球的执行者单独归拢之后,才能看清一名球员在定位球上的实际承担量, 而不是让这部分产出混在总体数据里被稀释。

替补登场时段则处理另一类偏差。第 60 分钟以后登场的球员,面对的往往是体能下降的对手与已经成型的比赛节奏, 把他们的表现与首发球员放在同一平均值里并不公平。单独归拢之后,换人前后的节奏变化才可被观察。

这三层结构在数据终端里并行存在,可以叠加筛选,也可以只取其中一层。 具体的换算细则、样本量下限与筛选规则,整理在 支持中心 的口径说明里,随口径调整同步更新。

需要留意:时段切片的样本量天然小于整体样本。当某位球员在某个切片中的出场时间不足以支撑结论时, 页面会保留数字但标注样本量,不做趋势性解读。

03 / 团队分工

三支小组,共用一套术语表

赛程组、指标组、内容组合计 30 余人,工作时间为工作日 9:00–18:00。 三组的职责边界清晰,但共用同一份术语定义,避免同一指标在不同栏目里被解释成两回事。

抽象节点与连线构成的协作网络,表现三支小组之间的数据流转关系
01

赛程组

负责对阵、轮次与赛程变更的核对,确认每一场比赛正确挂在赛季与联赛两个节点之下。 赛后 30 分钟内完成基础统计入库,是后续所有换算的起点。

02

指标组

负责每 90 分钟口径的换算、定位球主罚与替补登场时段的切片,以及样本量的标注与复核。 次日 09:00 前完成口径复盘,口径调整必须同时更新术语表。

03

内容组

负责把数据整理成可连续阅读的观察报告,每一轮联赛结束后 12 小时内发布该轮报告, 并统一各栏目中的术语写法与图表标注方式。

三组的衔接点固定在两处:一处是赛程入库,指标组据此开始换算;另一处是口径发布,内容组据此开始撰写。 任何一次口径变更都会同步到三组共用术语表,旧赛季的历史数据不重写,只追加换算说明。 赛事观察 里的每一轮报告,都能追溯到对应的口径版本。

05 / 协作与投稿

与外部写作者一起维护同一套口径

二十五个赛季的档案不可能只靠一个团队读完。我们与外部写作者、数据爱好者保持长期的内容协作, 方式有内容转载与引用、专题共建、长期供稿,以及教学与研究场景下的数据支持四类。

投稿的硬性要求只有一条:所用数据必须注明赛季范围与样本量,涉及对照的两组样本必须口径一致。 这一条不接受协商——口径不一致的对照,结论无论看起来多合理都不能发布。

署名与内容审核的方式、转载时的标注规范、专题共建的分工安排,整理在 商务合作 页面。研究与教学场景如果只需要一组稳定的历史数据, 也可以直接通过该页面的联系方式说明用途。

数据终端各模块的清单与版本差异,见 数据终端 页面。