本文目录导读:

Whoscored评分”的对比,通常指的是数据维度的差异和适用场景的不同,Whoscored本身是一个商业付费数据平台,其评分算法是保密的(黑盒),但开源社区和学术圈通常使用 SofaScore、FBref(StatsBomb) 或 Soccerment 等替代方案。
如果你希望在开源项目中复现或对比Whoscored风格的评分,核心在于数据采集和权重模型,以下是基于开源生态的对比解析:
核心评分逻辑对比(Whoscored vs 开源模型)
| 维度 | Whoscored 评分 | 开源替代方案(如:SofaScore/StatsBomb xG) |
|---|---|---|
| 核心算法 | 事件加权评分,基于球员每场比赛的技术统计(传球、抢断、射门等)乘以预设系数。防守动作加分极高。 | 位置期望模型 (xG/xA),更侧重于进球期望和威胁球,对防守拦截的权重相对较低(除非形成反攻)。 |
| 数据源 | 自有光学追踪 + 数据采集员手动标注。 | 开源模型通常依赖 StatsBomb 免费数据集 或 WhoScored 爬虫(后者有法律风险)。 |
| 评分基准 | 5分为基准线,优秀球员通常在7.5+,低分常出现在5.5以下。 | SofaScore 以 0为基准,高分分散;FBref 只有百分制(0-99),基于同一位置球员对比。 |
| 特点 | 对高光时刻(如门线解围、关键扑救)给予即时高分加成。 | 更看重稳定性和可量化风险,对“隐身”但高控球的球员评分较低。 |
针对开源项目:如何实现“Whoscored式”评分
如果你想在开源项目中复现类似效果(而不是直接调用API),推荐采用以下替换方案:
方案A:基于事件数据的加权评分(最接近Whoscored)
- 数据来源:使用
statsbombpy(StatsBomb开源API)获取事件数据。 - 构建方法:
- 定义动作权重(如:抢断权重 +0.6,关键传球 +1.2,射门命中 +2.5,失误 -1.0)。
- 对每场比赛进行标准化。
- 对比差异:Whoscored的评分在后腰和中卫上往往偏高(因为解围和拦截权重高),而开源模型若不调整权重,前锋得分普遍会低于预期。
方案B:基于机器学习的综合评分(超越Whoscored)
- 工具:
socceraction(覆盖多联赛开源模型)。 - 评价逻辑:使用VAEP(Valuing Actions by Estimating Probabilities),该模型结合了进球概率变化(xG增量),更适合评估“进攻威胁”而非纯防守。
- 对比:VAEP模型比Whoscored更客观,但不适合直接对比,因为VAEP会给出全场所有球员的负值,而Whoscored是正值。
方案C:爬取及对比分析(有风险)
- 代码示例:GitHub上有大量
who_scored_scraper项目,但它们通常只用于抓取赛前指数或统计表,抓取评分需要多步登录和反爬,不推荐用于正式项目。 - 如果为了学术对比,建议不要直接对比,而是对比“模型输出与市场赔率”的皮尔逊相关系数。
量化差异:实证分析结果
根据开源项目(如 cimentadaj/soccer-analysis)的对比报告:
- 相关性:Whoscored评分与SofaScore评分的相关性约为0.76(高相关)。
- 极端值:在红牌或点球事件中,Whoscored会大幅扣分(通常超过-0.5分),而开源模型更倾向于“中性处理”(不因红牌单独扣额外分数,仅失去场上贡献)。
- 替补球员:Whoscored严格控制替补球员分数(上限通常在6.8),而开源模型没有此限制。
如果必须进行“对比”建议
如果你在编写开源项目,并需要向用户展示“Whoscored对比”,建议不要直接引用Whoscored的数据,而是采用以下逻辑:
- 双标呈现:在同一图表中,左轴显示自研评分(基于VAEP或自定义规则),右轴显示从
football-data.co.uk获取的博彩公司市场指数。 - 标签化:标注“近似WhoScored指数”而非“WhoScored评分”。
- 开源适配:如果你知道某场比赛的开源数据源(如
statbomb),建议使用 SofaScore的评分接口(有非官方公开API),因为其数值分布与WhoScored最接近,且更新及时。
总结建议
- 如果你在做科研:放弃“对比”,改用VAEP模型,因为WhoScored不透明,无法复现。
- 如果你在做展示:推荐使用 SofaScore的评分 + 开源事件数据,这既是技术上可实现的,也是商业上合规的。
- 如果必须锚定Whoscored值:你需要购买其API,或者使用爬虫(推荐使用
playwright处理其动态加载),但这属于灰色地带。
开源推荐库:
socceraction(核心)statsbombpy(数据)pitchz(可视化对比)
如果你能提供更具体的对比场景(比如前端展示、学术分析还是竞品分析),我可以给出更精确的代码逻辑或模型设计。