Data Race

方法论

透明度是 Data Race 的核心理念。本页说明全球统计数据的收集、处理和展示方式。数据不会被修改、估算或添加主观评论——目标是尽可能忠实地呈现官方数据。

数据收集

所有数据均通过官方公开API和数据提供商以编程方式收集。每个数据集都是通过直接连接到提供者端点的Python脚本获取的,从而确保了可重复性和可追溯性。不涉及手动数据输入。

  1. 从官方API和数据提供商(世界银行公开数据、FAOSTAT、Yahoo Finance等)获取原始数据
  2. 验证响应完整性 — 检查预期字段、数据类型和完整性
  3. 将经过验证的数据以结构化表格格式存储,供处理管道使用
  4. 记录每个数据集的源URL、获取时间戳和记录数

数据处理

原始数据经过一个确定性的处理管道。每个步骤都是自动化的,并在给定相同输入的情况下产生相同的输出。插值或估算被有意避免 — 如果源数据中缺失某个数据点,那么它在数据集中也会保持缺失状态。

  1. 实体识别 — 国家使用ISO 3166-1 alpha-3代码(如:USA、JPN、DEU),公司使用股票代码(如:AAPL、MSFT)
  2. 排除缺失值 — 保留空白,绝不使用估算值填充
  3. 使用固定的映射将国家分配到13个地理区域,进行区域分类
  4. 计算每个时间段的排名 — 包括全球排名和区域内排名
  5. 输出为Apache Parquet格式,以便在浏览器中进行高效查询

排名计算

每个时间段的排名都是独立重新计算的。只有在该特定时期内有报告数据的国家才会被纳入排名。这意味着一个国家的排名发生变化,可能不仅是因为其数值发生了变化,还可能是因为其他国家开始或停止了报告。

  • 全球排名:在拥有该特定时期数据的所有国家中的位置
  • 区域排名:在分配给该国的地理区域内的位置
  • 排名变化:与上一时期排名位置的差异(正数 = 上升)
  • 同比增长:基础数值相较于上一时期的百分比变化
  • 排名类型:每个数据集被分类为 'best'(越高越好,如GDP)、'worst'(越高越差,如二氧化碳排放)或 'neutral'(无固有方向,如人口)

可视化

可视化完全在浏览器中运行,使用DuckDB-Wasm对Parquet文件进行SQL查询。没有数据被发送到服务器。这种架构确保了快速的加载时间、离线能力以及完全的数据隐私。

  • 条形图竞赛:动态展示国家排名随时间变化的动画
  • 折线图:包含交互式悬停提示的历史时间序列,用于显示详细数值
  • 饼图:比例份额分析,展示全球总量的分布情况
  • 世界地图:带有颜色编码比例尺的地理热力图,用于展示空间分布模式
  • 数据表:可排序的排名表,包含数值、排名变化和同比增长对比
  • 所有图表均支持区域筛选、国家置顶和时间范围选择

数据质量

我们将准确性和透明度置于完整性之上。我们只展示官方来源报告的数据,而不是用估算值填补空白。每个可视化图表都会链接回其原始数据源,以便用户核实底层数值。

  • 仅使用具有公开方法论的知名机构和数据提供商的数据
  • 完全按照报告保留原始数值 — 不进行四舍五入、调整或标准化
  • 缺失数据会被排除,而不是被估算或插值
  • 每个数据集页面都会显示数据来源组织以及指向原始数据的直接链接
  • 每个可视化图表上都会显示数据覆盖范围(国家数量和时间范围)

已知限制

没有完美的数据集。用户在解读这些可视化图表时应考虑以下限制:

  • 数据的可用性因国家和时期而异 — 某些国家拥有1960年以来的数据,而其他国家只有2000年代以来的数据
  • 来源组织可能会追溯修订历史数据,这意味着过去的值可能会在更新之间发生变化
  • 来源组织的方法论变化(例如,GDP计算方法的改变)可能会影响同比增长的可比性
  • 小国、地区和新独立国家通常数据不完整或缺失
  • 排名仅反映了在给定时期内报告数据的国家 — 未出现在排名中并不意味着数值为零