📊 第7章 大数据的活用
📄 一句话概括

可视化不是画得好看,是选对分组。同一份数据,按人群画和按渠道画,结论完全相反。 演示辛普森悖论:A 渠道在新用户里 93.1% 对 86.7%、老用户里 73.0% 对 68.8%,两段都赢。 可整体一算,A 是 78.0%、B 是 82.6%,A 反而输 4.6 个百分点。

📝 本章和前面几章的关系

教材 7.4、7.5 节:数据可视化、数据应用程序。 这一篇是第 7 章的收尾:数据终于到了人眼前。 也是全书最容易被低估的一篇——图会骗人,而且往往不是故意的。

一、可视化本质上是有损压缩

一张图能替代一屏数字。人眼判断位置和长度,比逐行读数字快得多。 但压缩是有损的:图丢掉了细节,只留下你选择强调的那个维度。 所以做图的第一件事不是「用什么图表类型」,而是「按什么分组」。

这一篇演示的,就是分组选错时的反面教材。

二、四个数字,两个相反的结论

演示有四组数据:新用户里 A 渠道 87 访 81 成(93.1%),B 渠道 270 访 234 成(86.7%); 老用户里 A 渠道 263 访 192 成(73.0%),B 渠道 80 访 55 成(68.8%)。 按人群分开看:A 在两个人群里都赢。 那是不是该把预算都给 A? 合起来算:A 共 350 访 273 成,78.0%;B 共 350 访 289 成,82.6%。

A 反而输了 4.6 个百分点。 同一份数据、同一种指标、两种分组方式,得出两个相反的结论。这不是算错了。

三、藏起来的那个人群构成

看构成:A 的访问里老用户占 75%,B 的访问里老用户只占 23%。 而老用户的转化率本来就低(73% 对 93%)。A 的样本里老用户多,整体就被拉低了。 这叫辛普森悖论:分组比较和整体比较得出相反结论,原因是有个隐藏变量在干扰。 这里的隐藏变量就是人群构成。

它不是数学游戏。投广告、看病、评估员工,都可能栽在这儿。 判断方法只有一句:看到「分组都赢、整体输」,第一件事是找隐藏变量,而不是怀疑算错了。

四、那到底该看哪个数

取决于你要回答什么。是「A 是不是更会转化」,还是「预算给谁能多赚钱」。 前者看分人群的转化率:A 强。后者看整体转化率乘能拿到的流量:要看流量结构。 如果 A 只能在老用户里投,那它的整体表现就是会差——这不是 A 的错,是流量结构决定的。

所以「哪个数才是对的」这个问题本身没有答案。得先有一个明确的问题,数才有对错。 这也解释了为什么分析师总要先问「你想拿这个结论干什么」——不是绕弯子,是不问就没法选口径。

五、默认视图就是大多数人的结论

演示最后画了四个条形:新用户 A 93.1%、B 86.7%;老用户 A 73.0%、B 68.8%。 图上 A 的两根都比 B 长。但把两个人群的宽度按访问数加权,A 就短了。 同一份数据,按人群画和按渠道画,结论完全相反。所以选对分组比画得漂亮重要得多。

教材 7.5 节讲数据应用程序,道理一样。一个看板把哪个维度放在第一眼,就决定了老板会得出什么结论。 做应用的人要负责任:你选的默认视图,就是大多数人的结论。他们不会去翻第二个页面。

六、动手 Demo:分开看都赢,合起来却输

四个分组的数据:新老用户 × A、B 两个渠道。 先按人群算转化率,再按渠道算整体转化率。 最后把四根条形画出来,看结论为什么相反。

data = [('新用户', 'A', 87, 81), ('新用户', 'B', 270, 234),
        ('老用户', 'A', 263, 192), ('老用户', 'B', 80, 55)]

# 分组看:每个格子的转化率
for seg, ch, n, c in data:
    print(seg, ch, '%.1f%%' % (100.0 * c / n))

# 合起来看:按渠道汇总
for ch in ('A', 'B'):
    n = sum(x[2] for x in data if x[1] == ch)
    c = sum(x[3] for x in data if x[1] == ch)
    print(ch, '整体 %.1f%%' % (100.0 * c / n))

实跑输出:

--------------------------------------------------------------------
分开看都赢,合起来却输
--------------------------------------------------------------------

  ① 两个渠道,两个人群
  --------------------------------------------------------------------

| 人群 | 渠道 | 访问数 | 成交数 | 转化率 |
|---|---:|---:|---:|---:|
| 新用户 | A 渠道 | 87 | 81 | 93.1% |
| 新用户 | B 渠道 | 270 | 234 | 86.7% |
| 老用户 | A 渠道 | 263 | 192 | 73.0% |
| 老用户 | B 渠道 | 80 | 55 | 68.8% |

  看两组:新用户里 A 是 93.1%、B 是 86.7%;老用户里 A 是 73.0%、B 是 68.8%。
  A 在两个人群里都赢。 那是不是该把预算都给 A?

  ② 合起来算一遍
  --------------------------------------------------------------------

| 渠道 | 总访问 | 总成交 | 整体转化率 |
|---|---:|---:|---:|
| A 渠道 | 350 | 273 | 78.0% |
| B 渠道 | 350 | 289 | 82.6% |

  A 整体 78.0%,B 整体 82.6%。A 反而输了 4.6 个百分点。

  ③ 为什么会出现这种事
  --------------------------------------------------------------------
  A 的访问里,老用户占 75%
  B 的访问里,老用户占 23%
  老用户的转化率本来就低(73% 对 93%)。A 的样本里老用户多,被拉低了。
  这叫辛普森悖论:分组比较和整体比较得出相反结论。原因是有个「隐藏变量」(人群构成)在干扰。
  它不是数学游戏,是真实工作中最常见的误判。投广告、看病、评估员工,都可能栽在这儿。

  ④ 那到底该给谁预算
  --------------------------------------------------------------------

  答案取决于问题:你要问「A 是不是更会转化」,还是「把预算给谁能多赚钱」。

| 问题 | 看哪个数 | 结论 |
|---|---|---|
| A 的转化能力强不强 | 分人群的转化率 | A 强 |
| 预算给谁能多成交 | 整体转化率 × 能拿到的流量 | 要看流量结构 |

  如果 A 只能在老用户里投,那它的整体表现就是会差——这不是 A 的错,是流量结构决定的。
  所以看到「分组都赢、整体输」的时候,第一件事是找隐藏变量,而不是怀疑算错了。

  ⑤ 画出来更容易看出来
  --------------------------------------------------------------------
  新用户 A 渠道  93.1%  ##############################################
  新用户 B 渠道  86.7%  ###########################################
  老用户 A 渠道  73.0%  ####################################
  老用户 B 渠道  68.8%  ##################################
  图上四个条形,A 的两根都比 B 长。但把两个人群的宽度按访问数加权,A 就短了。
  所以可视化不只是「画得好看」,选对分组比画得漂亮重要得多。
  同一份数据,按人群画和按渠道画,结论完全相反。

第一段那四个格子是精心挑过的:每一个格子里 A 都赢,但两组的样本量差得很多(87 对 263, 270 对 80)。 第二段是同一个事实的另一种算法。 注意它没有算错——合并后的分子分母都是对的,只是合并这件事本身改变了问题的含义。 第三段那个 75% 对 23% 就是隐藏变量。找到它,悖论就不神秘了:A 拿到的流量里难转化的人本来就多。 第五段那排条形图很直观:四根条,A 的两根都长。图没有撒谎,它只是没告诉你每组的人数不一样。

30 秒实验

  1. 把 B 的新用户访问数从 270 改成 87,看整体结论会不会翻过来。
  2. 加第三个人群(比如「沉默用户」),试出让 A 整体反超的最小样本量。
  3. 找一份你看过的报表,问一句:它按什么分的组?有没有可能藏着一个变量?

常见误区

  1. 「数据不会骗人。」数据不骗人,分组会。同一批数换个切法,结论就能反过来。
  2. 「整体转化率高就是渠道好。」可能是它拿到的流量结构更好,而不是它更会转化。
  3. 「图画得越漂亮越有说服力。」漂亮只影响别人信不信,分组才影响结论对不对。
自测三问(点开对答案) 1. 辛普森悖论说的是什么? —— 分组比较和整体比较得出相反结论,原因是有个隐藏变量改变了各组的权重。 演示里的隐藏变量是人群构成。 2. 看到「分组都赢、整体输」该先做什么? —— 先找隐藏变量——各组的人数、构成、时间分布是否不同。不要先怀疑算错,因为两边往往都没算错。 3. 为什么说「默认视图就是大多数人的结论」? —— 因为大多数人只看第一眼。你把哪个维度放在默认视图里,他们就会沿着那个维度下结论。

下一篇进第 8 章:数据用起来了,怎么保证「这个数」一直说得清——元数据管理。

相关笔记