这一讲要回答四个问题:

  1. 一个人买得起什么?有限的钱,怎么用一条线画出来?
  2. 在买得起的东西里,他怎么选?“最优"到底意味着什么?
  3. 需求曲线是怎么从这些选择里推出来的?
  4. 价格涨了,他买得少,其中有多少是因为"这东西变贵了”,有多少是因为"我变穷了"?

第 5 讲,我们说过:价格越高,需求量越少,理由有三个:边际收益递减、替代、收入效应。当时我们只给了直觉,并且说"第 10 讲会把替代和收入的区别严格地讲清楚"。这一讲,就是那个承诺。

这是 Unit 3 的第一讲。前两个 Unit 里,我们站在"市场"的高度,看买家和卖家。从这一讲起,我们往下走一层:看买家和卖家各自背后,是怎么做决定的。 先看买家。

一、一个月的零食预算

这个月,你有 120 元,专门用来买两样东西:奶茶(10 元一杯)和面包(5 元一个)。

你会怎么分配这 120 元?

你可以全买奶茶:12 杯,没有面包。也可以全买面包:24 个,没有奶茶。更可能的是,两样都买一些:比如 4 杯奶茶(40 元)加 16 个面包(80 元),刚好 120 元。

先猜一猜。 你会买几杯奶茶、几个面包?你的答案,大概取决于两件事:你有多想要这两样东西,以及它们各自多贵。我们这一讲,就是要把这两件事说清楚,然后看,能不能算出一个"最好的"买法。

先想一个答案,再往下看。

二、预算线:你买得起的所有组合

2.1 一条线,画出所有买得起的组合

你的钱是有限的,所以不是所有组合你都买得起。我们先把"买得起"画出来。

设你买 x 杯奶茶、y 个面包。花的钱是:

10 × x  +  5 × y  =  120

这是一条直线。我们把它画出来:横轴是奶茶的杯数,纵轴是面包的个数。

预算线

蓝色的线叫预算线。线上的每个点,都是一种"把 120 元刚好花光"的买法:

  • 左上角:全买面包,24 个。
  • 右下角:全买奶茶,12 杯。
  • 中间的任何点,比如 (4, 16):4 杯奶茶加 16 个面包。

线里面(蓝色三角形里),是"买得起但没花光"的组合;线外面,是"买不起"的组合。

为了简单,我们先假设你会把钱花光(多一点总比少一点好)。如果你想存钱,可以把"面包"理解成"其他所有东西,包括存起来的钱",这个模型照样成立。

2.2 斜率的含义:市场的换算率

这条线有一个重要的性质:它的斜率是 −2。意思是:在预算线上,每多买 1 杯奶茶,就要少买 2 个面包。 为什么是 2?因为奶茶 10 元,面包 5 元,一杯奶茶的钱,正好够买两个面包。

预算线的斜率 = −(奶茶价格 ÷ 面包价格)

这个比值叫价格比,它是市场替你定好的换算率:在这个市场上,1 杯奶茶,换 2 个面包。

2.3 收入变了,价格变了,预算线怎么动

  • 收入增加(比如 120 元变成 240 元):整条预算线平行地向外移(图中绿色虚线)。你买得起的东西变多了,但价格比没变,所以斜率不变。
  • 一种东西涨价(比如奶茶从 10 元涨到 20 元):预算线绕着不变的那一端旋转(图中红色虚线)。面包的价格没变,所以全买面包的那个点(纵轴上的 24 个)不变;但奶茶变贵了,全买奶茶只能买 6 杯(原来是 12 杯)。斜率也变陡了:现在 1 杯奶茶,要换 4 个面包。

记住这两个动作,后面会反复用到:收入变,平移;价格变,转动。

小结: 预算线画出了你买得起的所有组合。斜率是价格比(市场的换算率)。收入变,预算线平移;一种商品的价格变,预算线绕着另一端转动。

三、满足感:你想要什么

预算线只告诉你"买得起什么"。要选,还得知道"你想要什么"。

3.1 满足感,和它没有"绝对大小"

经济学里,一个人从一堆东西里得到的满足程度,叫效用(utility)。为了方便,我们把它叫"满足感"。

你可能会想:满足感怎么量?这是一个很好的问题,我们先给出一个很重要的回答:

满足感的"绝对大小"没有意义,只有"排序"有意义。

什么意思?如果你说"组合 A 的满足感是 72,组合 B 是 64",真正重要的信息只有一条:你更喜欢 A。至于 72 和 64 具体是多少、差多少,没有意义。你完全可以把所有数字都开平方、都乘以 10,只要排序不变,就代表着同样的偏好。

这个看法,叫序数(只看顺序)的效用观。后面代码里,我们会亲手验证:换一种数字标度,最优选择完全不变。

为了能手算,我们这一讲用一个简单的"玩具"满足感:

满足感 = 奶茶杯数 × 面包个数

这个玩具的意思是:两样都想要,而且互相搭配。只有奶茶没有面包,满足感是 0;只有面包没有奶茶,也是 0。再强调一次:这只是一个计算用的玩具,不是在说"真实的人就是这么算的"。

3.2 无差异曲线:同样满足的组合

有了满足感,我们可以问:哪些组合让你一样满足? 把它们连成一条线,叫无差异曲线(你对线上的每个组合"无所谓选哪个")。

在我们的玩具里,满足感 = 72 的组合有:

奶茶(杯) 3 4 6 8 9 12
面包(个) 24 18 12 9 8 6

(3 × 24 = 72,4 × 18 = 72,6 × 12 = 72……)

这些组合在你心里是"一样好"的。你可以想:从"3 杯奶茶加 24 个面包",换成"4 杯奶茶加 18 个面包",你多了 1 杯奶茶,但少了 6 个面包,你觉得没吃亏也没占便宜。

3.3 边际替代率:你愿意换多少

上面这张表里藏着一个很重要的量:为了多一杯奶茶,你愿意放弃多少个面包? 这叫边际替代率(MRS):

从 → 到 多得到的奶茶 愿意放弃的面包 每杯奶茶愿意换
(3, 24) → (4, 18) 1 杯 6 个 6 个面包
(4, 18) → (6, 12) 2 杯 6 个 3 个面包
(6, 12) → (8, 9) 2 杯 3 个 1.5 个面包
(8, 9) → (9, 8) 1 杯 1 个 1 个面包
(9, 8) → (12, 6) 3 杯 2 个 0.67 个面包

你看:奶茶越多,你为了再多一杯愿意放弃的面包越少。 这就是你在第 2、5 讲见过的"边际收益递减",在"两样东西搭配"的世界里的样子。你手里已经有很多杯奶茶、很少面包的时候,多一杯奶茶对你没那么重要,而一个面包对你很宝贵。

这使得无差异曲线弯向原点(凸的),形状是这样的:

无差异曲线和最优选择

图中紫色、灰色的曲线,是满足感分别为 72、36、108 的无差异曲线。越远离原点的曲线,满足感越高。 你的目标很清楚:在买得起的范围里,去最远的那条无差异曲线。

小结: 满足感(效用)只有排序有意义,绝对大小没有意义。无差异曲线连起了"同样满足"的组合,越远离原点越好。边际替代率是你愿意用多少个面包换 1 杯奶茶,它随着奶茶增多而递减,所以无差异曲线弯向原点。

四、最优选择:刚好相切

4.1 看图

回到上图。蓝色的预算线,是你买得起的所有组合。你要找的,是预算线上满足感最高的那个点。

  • 满足感 108 的那条曲线,整条都在预算线的外面:买不起。
  • 满足感 36 的那条曲线,和预算线有交点,但它离原点太近,满足感太低:你可以往更远的曲线走。
  • 满足感 72 的那条曲线,刚好碰到预算线一个点,也就是 (6, 12)。往哪边走,都会掉到满足感更低的曲线上。

比如,(4, 16) 和 (8, 8) 也在预算线上,它们的满足感都是 4 × 16 = 8 × 8 = 64,比 72 低。

最优选择:6 杯奶茶加 12 个面包,满足感 72。 它的特点是:预算线和无差异曲线刚好相切。

4.2 为什么"相切"是最优

相切意味着:在这一点,无差异曲线的斜率 = 预算线的斜率。翻译成人话:

你愿意换的比例(边际替代率)= 市场允许你换的比例(价格比)。

在 (6, 12) 这一点:你愿意用 12 ÷ 6 = 2 个面包换 1 杯奶茶;市场的换算率也是 10 ÷ 5 = 2。两者相等。这时,你已经没有"通过换一换变得更好"的空间了。

如果两者不相等呢? 假设你在 (4, 16):你愿意用 16 ÷ 4 = 4 个面包换 1 杯奶茶;可是市场只要你放弃 2 个面包,就能换到 1 杯奶茶。这是一笔"赚了"的交易:你愿意付 4 个面包,实际只需要付 2 个。你会多买奶茶、少买面包:走到 (5, 14)(花费 50 + 70 = 120,满足感 70),再走到 (6, 12)(满足感 72),直到愿意换的和市场的换算率相等为止。

4.3 另一个说法:每一块钱,花在哪里都一样值

这个条件,还有一个等价的说法,你在第 2 讲的"边际"里见过它的影子。

在 (6, 12),再多买 1 杯奶茶,满足感增加多少?在我们的玩具里,多 1 杯奶茶增加的满足感是 12(等于面包的个数);多 1 个面包增加的满足感是 6(等于奶茶的杯数)。

每一块钱买奶茶,换来的满足感是 12 ÷ 10 = 1.2;每一块钱买面包,换来的满足感是 6 ÷ 5 = 1.2。一样多。

这就是消费者选择里最重要的一条原则(经济学管它叫"边际效用均等"):

最优时,花在每样东西上的最后一块钱,带来的满足感一样多。

如果不一样多,比如面包的"每块钱满足感"更高,你就应该把钱从奶茶挪给面包,直到两者相等。(这里每一杯、每一个带来的满足感的具体数值,会随着你选的数字标度而变;但"两者相等"这件事,不依赖标度,因为只要把两边的数字同时放大或缩小,等式照样成立。)

4.4 手算最优解

对我们的玩具满足感,可以直接算出答案:设预算为 I,奶茶价格 p_x,面包价格 p_y。最优选择是:

奶茶杯数 = I ÷ (2 × p_x)         面包个数 = I ÷ (2 × p_y)

意思是:把预算对半分,一半买奶茶,一半买面包。 代入 I = 120,p_x = 10,p_y = 5:奶茶 = 120 ÷ 20 = 6,面包 = 120 ÷ 10 = 12,和图里看到的一致。

注意,“对半分"是这个玩具满足感的特点,不是一般规律:对别的偏好,你可能把更大的一部分钱花在奶茶上。

小结: 最优选择在预算线与无差异曲线相切的地方:你愿意换的比例 = 市场的换算率。等价地说:花在每样东西上的最后一块钱,带来的满足感一样多。

五、需求曲线是怎么来的

5.1 改变价格,看最优选择怎么变

现在我们可以回答最初的问题:需求曲线从哪里来?

很简单:让奶茶的价格变一变,每次都重新找最优选择,把"价格—最优杯数"画出来,就是需求曲线。

用对半分的公式:奶茶杯数 = 120 ÷ (2 × 价格):

奶茶价格 最优杯数 最优面包数
5 元 12 12
10 元 6 12
20 元 3 12

画出来:

需求曲线

红点是每个价格下的最优选择,把它们连起来,是一条向右下倾斜的曲线。这就是这个人对奶茶的需求曲线。 把很多人的这条曲线水平加总(第 5 讲),就是市场需求。

你在第 5 讲看到的"价格越高、需求量越少”,在这里有了一个推导:它来自"在预算有限的情况下,追求最高的满足感"。

5.2 一个细节:面包的数量一直是 12

你可能注意到,不管奶茶多少钱,面包始终是 12 个。这是因为我们的玩具满足感有一个特点:花在每样东西上的钱,永远是预算的一半。奶茶涨价,你买得少了,但花在奶茶上的钱仍是 60 元,面包的钱也不变。这只是玩具的特点,一般情况下,奶茶涨价,面包的购买量会变(比如变多,因为你需要替代品,也可能变少)。

5.3 回到第 5 讲:愿付价是什么

第 5 讲里,我们把"愿付价"当成一个直接给定的数:你为第 1 杯奶茶愿付 20 元,第 2 杯 14 元。这里的新理解是:愿付价,是"多一杯奶茶"带来的边际满足感,折算成钱。

不过,“折算成钱"有一个前提:一块钱对你的意义不能随着你买了多少奶茶而变化太多。 如果某样东西占你的预算很小(比如奶茶),这个前提近似成立,这时候,愿付价就可以当作边际满足感折成钱,需求曲线就是边际满足感的曲线,第 5 讲里的消费者剩余也有清晰的含义。如果某样东西占你的预算很大(比如房租),这个近似就不好了:房租涨价会让你"实际变穷”,影响你对其他一切的选择。这正是下面要讲的收入效应。

小结: 需求曲线 = 让价格变化,每次重新找最优选择,把"价格—最优数量"画出来。需求向下,是"预算有限 + 追求满足感"的推论。第 5 讲的愿付价,是边际满足感折成钱,在预算占比小的商品上近似成立。

六、收入变了,会怎样

预算线平移时,最优选择怎么变?

我们让预算变成 60 元、120 元、240 元,价格不变(奶茶 10 元、面包 5 元):

预算 最优杯数 最优面包数
60 3 6
120 6 12
240 12 24

预算翻倍,两样东西的购买量都翻倍。这样的商品,经济学叫正常品:收入增加,买得更多。 按第 8 讲的说法,它们的收入弹性是正的(这里正好是 1)。

有一类商品相反:收入增加,反而买得少,叫低档品(第 8 讲提到过,收入弹性为负)。比如,对一部分人来说,收入提高以后,会少吃一些方便面。我们这个玩具满足感里没有低档品,要有低档品,需要不同的偏好。但是你应该记住它,因为下面要讲的替代效应和收入效应,对低档品有一个很不一样的结果。

七、让代码替你算一遍

我们把手算的东西全部交给代码:在所有"把钱花光"的组合里,暴力地找满足感最高的那个,核对公式。同时验证:换一种满足感的数字标度,选择是否不变。

import numpy as np

# 你有 120 元,买奶茶(x 杯)和面包(y 个)。满足感(效用):杯数 × 个数。
def utility(x, y): return x * y

def best_bundle(income, px, py, u=utility, step=0.01):
    """在所有"把钱花光"买得起的组合里,找满足感最高的那一个。"""
    xs = np.arange(0, income / px + step, step)
    ys = (income - px * xs) / py
    values = u(xs, ys)
    i = int(np.argmax(values))
    return xs[i], ys[i], values[i]

x, y, u0 = best_bundle(120, 10, 5)
print(f"最优选择:{x:.2f} 杯奶茶 + {y:.2f} 个面包,满足感 {u0:.1f}")
print(f"每块钱买奶茶的边际效用 = {y / 10:.2f};每块钱买面包的边际效用 = {x / 5:.2f}")
print(f"你愿意用多少个面包换 1 杯奶茶(边际替代率)= {y / x:.2f};市场的换算率(价格比)= {10 / 5:.2f}")

# 满足感只看排序:换一种数字标度,选择不变
print("\n换几种'满足感'的算法,最优选择会变吗?")
for name, f in [("杯数 × 个数",              lambda a, b: a * b),
                ("(杯数 × 个数) 开平方",     lambda a, b: np.sqrt(a * b)),
                ("(杯数 × 个数) 的三次方",   lambda a, b: (a * b) ** 3),
                ("ln(杯数) + ln(个数)",      lambda a, b: np.log(np.maximum(a, 1e-9)) + np.log(np.maximum(b, 1e-9)))]:
    xx, yy, _ = best_bundle(120, 10, 5, u=f)
    print(f"  {name}:{xx:.2f} 杯 + {yy:.2f} 个")

# 需求曲线:改变奶茶价格,看最优选择怎么变(面包价格不变)
print("\n奶茶价格  最优杯数  最优面包数")
for px in [5, 10, 20]:
    x, y, _ = best_bundle(120, px, 5)
    print(f"{px:6d}  {x:8.2f}  {y:8.2f}")

# 收入变了:奶茶价格 10、面包价格 5 不变
print("\n预算   最优杯数  最优面包数")
for income in [60, 120, 240]:
    x, y, _ = best_bundle(income, 10, 5)
    print(f"{income:4d}  {x:8.2f}  {y:8.2f}")

输出:

最优选择:6.00 杯奶茶 + 12.00 个面包,满足感 72.0
每块钱买奶茶的边际效用 = 1.20;每块钱买面包的边际效用 = 1.20
你愿意用多少个面包换 1 杯奶茶(边际替代率)= 2.00;市场的换算率(价格比)= 2.00

换几种'满足感'的算法,最优选择会变吗?
  杯数 × 个数:6.00 杯 + 12.00 个
  (杯数 × 个数) 开平方:6.00 杯 + 12.00 个
  (杯数 × 个数) 的三次方:6.00 杯 + 12.00 个
  ln(杯数) + ln(个数):6.00 杯 + 12.00 个

奶茶价格  最优杯数  最优面包数
     5     12.00     12.00
    10      6.00     12.00
    20      3.00     12.00

预算   最优杯数  最优面包数
  60      3.00      6.00
 120      6.00     12.00
 240     12.00     24.00

对一对:

  • 暴力搜索找到的最优选择是 (6, 12),和公式、和图一致;
  • 在最优点,每块钱买奶茶和买面包的边际效用都是 1.20;边际替代率 2.00 等于价格比 2.00,和第四节说的"相切"一致;
  • 换成满足感开平方、三次方、取对数相加,最优选择一模一样,这验证了:满足感只有排序有意义,绝对数字没有意义;
  • 需求表和预算表,和手算一致。

八、替代效应和收入效应

8.1 涨价,其实发生了两件事

终于到了第 5 讲欠下的那笔账。奶茶从 10 元涨到 20 元,你买的杯数从 6 降到 3,总共少了 3 杯。这 3 杯,是怎么少的?

涨价,同时发生了两件事:

  1. 奶茶变得相对更贵了:现在 1 杯奶茶要换 4 个面包(原来是 2 个)。这会让你想少买奶茶,多买面包,这叫替代效应。
  2. 你变得更穷了:同样的 120 元,现在能买到的东西少了。你的"实际购买力"下降了。这叫收入效应。

我们想把这两件事拆开。怎么拆?一个聪明的想法是:先假装只发生了第一件事。

8.2 一个思想实验

想象这样一个"补偿":奶茶涨价到 20 元以后,我们额外给你一笔钱,多到刚好让你在新价格下,依然能达到涨价前的满足感(72)。这样,你"没有变穷",剩下的只是"奶茶变贵了"这一件事。

在这笔补偿之后,你会怎么选? 你会在新价格下,选一个满足感还是 72、但花钱最少的组合。我们用代码找一下:

import numpy as np

def best_bundle(income, px, py, step=0.01):
    xs = np.arange(0, income / px + step, step)
    ys = (income - px * xs) / py
    i = int(np.argmax(xs * ys))
    return xs[i], ys[i], xs[i] * ys[i]

px0, px1, py, income = 10, 20, 5, 120                     # 奶茶从 10 元涨到 20 元,面包 5 元,预算 120 元
x0, y0, u0 = best_bundle(income, px0, py)                 # 涨价前的最优选择
x1, y1, u1 = best_bundle(income, px1, py)                 # 涨价后的最优选择(总效应)
print(f"涨价前:{x0:.2f} 杯奶茶 + {y0:.2f} 个面包(满足感 {u0:.0f})")
print(f"涨价后:{x1:.2f} 杯奶茶 + {y1:.2f} 个面包(满足感 {u1:.0f})")

# 替代效应:假想给你一笔补偿,让你在新价格下刚好和涨价前一样满足(满足感仍是 u0),
# 并且你会选最省钱的那个组合。
xs = np.arange(0.5, 40, 0.001)
ys = u0 / xs                                              # 满足感刚好等于 u0 的所有组合
cost = px1 * xs + py * ys                                 # 在新价格下,买它们要多少钱
i = int(np.argmin(cost))
xc, yc, need = xs[i], ys[i], cost[i]
print(f"\n补偿后(新价格、刚好和原来一样满足、最省钱):{xc:.2f} 杯奶茶 + {yc:.2f} 个面包,需要 {need:.1f} 元(比预算多 {need - income:.1f} 元)")
x2, _, _ = best_bundle(need, px1, py)
print(f"核对:给你 {need:.1f} 元,在新价格下自己去选,会买 {x2:.2f} 杯奶茶(和上一行一样)")

total, subst, inc = x1 - x0, xc - x0, x1 - xc
print(f"\n奶茶杯数的变化:总效应 {total:+.2f} = 替代效应 {subst:+.2f} + 收入效应 {inc:+.2f}")

输出:

涨价前:6.00 杯奶茶 + 12.00 个面包(满足感 72)
涨价后:3.00 杯奶茶 + 12.00 个面包(满足感 36)

补偿后(新价格、刚好和原来一样满足、最省钱):4.24 杯奶茶 + 16.97 个面包,需要 169.7 元(比预算多 49.7 元)
核对:给你 169.7 元,在新价格下自己去选,会买 4.24 杯奶茶(和上一行一样)

奶茶杯数的变化:总效应 -3.00 = 替代效应 -1.76 + 收入效应 -1.24

画出来,是这样:

替代效应和收入效应

读图:

  • A:涨价前的最优选择 (6, 12),满足感 72。
  • B:补偿之后的最优选择 (4.24, 16.97),满足感还是 72,在同一条紫色无差异曲线上。从 A 到 B,是沿着同一条无差异曲线滑动,满足感不变,只因为奶茶变贵了,所以买得少了(6 → 4.24),面包多了。这就是替代效应:−1.76 杯。
  • C:拿走补偿之后,真正的涨价后的选择 (3, 12),满足感降到 36。从 B 到 C,是因为你真的变穷了,两样东西都买得少了(奶茶 4.24 → 3)。这就是收入效应:−1.24 杯。

总效应 −3.00 杯 = 替代效应 −1.76 + 收入效应 −1.24。

8.3 为什么要拆

这样拆有一个重要的好处:

  • 替代效应,永远是"价格涨,买得少"。 因为在满足感不变的前提下,涨价的东西只会让你"换一换",少买它、多买别的。这是不可能出错的。
  • 收入效应,方向取决于商品的类型。 对正常品,涨价让你变穷,你会买得更少(和替代效应同方向)。对低档品,变穷反而让你多买(和替代效应反方向)。

所以:

  • 正常品:两个效应同方向,涨价一定让需求量下降。需求定理成立。
  • 低档品:两个效应相反。大多数情况下,替代效应更大,需求量仍然下降。
  • 吉芬商品:低档品,而且收入效应强到压倒了替代效应,涨价反而让需求量上升。

这就是第 5 讲的吉芬商品为什么那么罕见:它要求这种东西必须是低档品,而且占你预算的比重非常大(这样涨价才会让你"变穷"得足够厉害)。一个假想的数字例子:涨价的替代效应是 −2,收入效应是 +3,总效应就是 +1,需求量上升了。第 5 讲提到的 Jensen 和 Miller 对湖南极贫家庭的研究,正是在极度贫困的家庭里,找到了这样的证据(按标准的解释,这要求主食在这些家庭的支出里占很大比重)。

8.4 一个提醒:这个"补偿"只是思想实验

注意,现实里没有人会真的给你一笔"刚好让你不变穷"的补偿。替代效应和收入效应的拆分,是一个思想上的工具,不是可以直接观察到的。你在数据里能直接看到的,只有总效应。要把两者分开,需要借助模型和估计(和第 4 讲的因果问题是同一类困难)。

小结: 涨价的总效应 = 替代效应 + 收入效应。替代效应是满足感不变时,因为"相对更贵"而少买,永远向下;收入效应是因为"实际变穷"而改变购买,对正常品向下,对低档品向上。吉芬商品是低档品,而且收入效应压倒替代效应。

九、证据、局限与争议

9.1 效用不能直接测量,怎么检验这套理论

这套理论里,“满足感"是看不见的。那经济学家怎么知道它对不对?

一个办法来自 Paul Samuelson 1938 年提出的显示偏好思想:不要去问人"你的满足感是多少”,只看他的选择。 如果一个人在预算线上选了 A(放弃了同样买得起的 B),我们就说他"显示出偏好 A 胜过 B"。理论的预测就变成:一个人的选择不能自相矛盾,这是可以检验的。

这套理论甚至不一定需要"理性思考的人"。Kagel、Battalio 等人的一系列实验,让实验室里的动物(这个研究项目里用到了老鼠),在不同"价格"和"预算"下选择食物或饮料。他们 1981 年发表在 Quarterly Journal of Economics 的研究报告说,这些非人类的"消费者"的需求曲线,无论是不是做了收入补偿,也都是向下倾斜的。这和第 5 讲 Becker 的想法是一致的:需求向下,不需要很强的"理性",预算约束本身就起了很大作用。

9.2 一个反例:钱不是完全可以互相替代的

这套理论有一个重要的预测:钱是"可互相替代的"(fungible)。 汽油涨价,让你变穷了,这和你的收入少了同样的钱,对你选择的影响应该是一样的。你对汽油价格上涨的反应,应该只来自"收入效应"和"汽油相对变贵的替代效应"。

Justine Hastings 和 Jesse Shapiro 2013 年发表在 Quarterly Journal of Economics 的研究,检验了这一点。他们用一家大型连锁超市的会员购买记录(2006 年 1 月到 2009 年 3 月),观察顾客在汽油价格变化时,选哪种辛烷值的汽油。

理论预测什么:汽油涨价,只会通过"变穷"和"相对变贵"影响你买哪一档汽油,和你"汽油这笔钱"没有特殊关系。 证据怎么说:汽油价格上涨时,消费者转向低辛烷值(更便宜)汽油的程度,超出了收入效应能解释的范围。作者在多种设定下,都拒绝了"家庭把汽油的钱和其他收入当成可以互相替代的钱"这个假设。 分歧在哪:作者比较了几种心理学模型(比如把钱分成不同"账户"来预算、对损失更敏感、对显眼的价格更在意),发现"分类预算"这个简单模型和数据吻合得很好,另外两种也各自抓住了数据的一些特征。 这不涉及价值判断,但它说明了一件重要的事:这个模型很有用,但它描述的不是每个人在每个场合的真实行为。 这是第 39 讲行为经济学要讲的主题。

9.3 其他局限

  • 偏好是稳定的吗? 模型假设你的偏好不变,而且你知道自己想要什么。现实里,偏好会变,会受情境影响。
  • 我们只看了"此时此刻"。 没有时间(今天花还是存起来,第 36 讲)、没有风险(第 37 讲)、没有别人(你的满足感可能取决于别人买什么,第 17 讲)。
  • 只有两样东西。 现实里有成千上万种。“面包"可以理解成"其他所有东西”,这在大多数情况下够用。
  • “满足感"不是自私或享乐。 有人担心这套理论假设人只顾自己、追求享乐。其实,它只要求你的偏好前后一致,你的满足感完全可以包含对家人、对别人的关心。
  • 不同人的满足感不能直接相加。 这和第 5、9 讲提到的价值判断是同一件事:既然满足感没有绝对大小,你就没法说"这个人多得到的 10 比那个人少得到的 8 更重要”。

9.4 常见的误用

误用 正确的想法
“满足感是一个可以测量的数” 只有排序有意义。换一种数字标度,选择不变
“最优选择 = 买最多的东西” 最优是在预算线上选满足感最高的组合,不是买得最多
“最优时,两样东西花的钱一样多” 那是我们玩具满足感的特点。一般情况下不一定
“价格涨了,所以需求减少,原因只有一个” 涨价同时有替代效应和收入效应,两个效应不能混为一谈
“低档品 = 质量差的东西” 低档品是收入增加时,买得更少的商品。它指的是对收入的反应,不是质量
“吉芬商品很常见” 吉芬商品要求是低档品,而且占预算比重很大,非常罕见
“替代效应和收入效应可以直接在数据里看到” 这是一个思想上的拆分,数据里看到的只有总效应
“经济学假设人都是理性、自私的” 模型只要求偏好前后一致。偏好可以包含利他。但它确实不描述每个人的所有行为(第 39 讲)

十、小结

这一讲有五个想法,请带走:

  1. 预算线画出你买得起的所有组合,斜率是价格比(市场的换算率)。收入变,预算线平移;价格变,预算线转动。
  2. 满足感(效用)只有排序有意义。 无差异曲线连起"同样满足"的组合,越远离原点越好;边际替代率递减,所以曲线弯向原点。
  3. 最优选择:预算线与无差异曲线相切。 你愿意换的比例 = 市场的换算率;等价地说,花在每样东西上的最后一块钱,带来的满足感一样多。
  4. 需求曲线,是让价格变化、每次重新找最优选择,把"价格—最优数量"画出来。需求向下,是"预算有限 + 追求满足感"的推论。
  5. 涨价的总效应 = 替代效应 + 收入效应。 替代效应永远向下;收入效应对正常品向下、对低档品向上。吉芬商品是低档品,而且收入效应压倒替代效应。

买家这一边,我们从"选择"推出了需求。下一讲,我们去柜台后面,看卖家这一边:一家企业的成本到底是怎么回事? 第 6 讲里我们说过,供给曲线的背后是边际成本;第 11 讲要把成本讲透:固定成本、沉没成本、边际成本,还有"规模"带来的变化。

思考题

1. 预算 200 元,奶茶 10 元,面包 5 元。(a)全买奶茶、全买面包各能买多少?预算线的斜率是多少?(b)如果面包涨到 10 元,预算线怎么变?斜率是多少?

提示:(a)全买奶茶 20 杯,全买面包 40 个,斜率 −10 ÷ 5 = −2。(b)全买奶茶仍是 20 杯(奶茶价格没变),全买面包只能买 20 个,预算线绕着奶茶轴上的点(20 杯)转动,变得平缓,斜率 −10 ÷ 10 = −1:现在 1 杯奶茶只需要换 1 个面包了。

2. 沿用本讲的玩具满足感(杯数 × 个数),预算 200 元,奶茶 10 元,面包 5 元。求最优选择,并验证"边际替代率 = 价格比"。如果把满足感改成"(杯数 × 个数) 的平方",最优选择变吗?

提示:奶茶 = 200 ÷ (2 × 10) = 10 杯,面包 = 200 ÷ (2 × 5) = 20 个。边际替代率 = 面包 ÷ 奶茶 = 20 ÷ 10 = 2,价格比 = 10 ÷ 5 = 2,相等。每块钱的边际效用:奶茶 20 ÷ 10 = 2,面包 10 ÷ 5 = 2,相等。改成平方后,不变:满足感只有排序有意义,把数字平方不改变任何两个组合的排序。

3. 本讲的例子里(预算 120 元,奶茶 10 元,面包 5 元),你现在在 (4, 16)。你愿意用多少个面包换 1 杯奶茶?市场上 1 杯奶茶换多少个面包?你该怎么调整?调整后满足感怎么变?

提示:边际替代率 = 16 ÷ 4 = 4:你愿意用 4 个面包换 1 杯奶茶。市场价格比是 10 ÷ 5 = 2:只要放弃 2 个面包就能多买 1 杯。你愿意付 4,实际只需付 2,赚了。你应该多买奶茶、少买面包:走到 (5, 14)(花费 50 + 70 = 120,满足感 70,比 4 × 16 = 64 高),再走到 (6, 12)(满足感 72),直到边际替代率等于价格比 2。

4. 这次是降价:奶茶从 10 元降到 5 元(面包仍是 5 元,预算 120 元)。求总效应、替代效应、收入效应(奶茶杯数的变化)。

提示:降价前最优 (6, 12),满足感 72;降价后最优 12 杯,总效应 +6。替代效应:假想预算刚好让你在新价格下维持满足感 72,此时价格比是 1,满足感 72 要求 x × y = 72 且 y = x,所以 x = √72 ≈ 8.49,替代效应 = 8.49 − 6 ≈ +2.49。收入效应 = 12 − 8.49 ≈ +3.51。合计 2.49 + 3.51 = 6.00。这时的"补偿"其实是拿走一笔钱:维持满足感 72 在新价格下只需要 5 × 8.49 + 5 × 8.49 ≈ 84.9 元,比 120 元少 35.1 元,因为降价让你"变富了"。

5. 为什么吉芬商品一定是低档品?为什么低档品却不一定是吉芬商品?用替代效应和收入效应解释。

提示:涨价时,替代效应一定让需求量下降。要让总效应变成"需求量上升",只能是收入效应让需求量上升,而且上升得比替代效应的下降更多。涨价让你变穷,只有低档品在变穷时需求才会上升,所以吉芬商品必须是低档品。但对大多数低档品来说,替代效应都比收入效应大(它们占预算的比重不大),总效应仍是需求量下降,所以低档品不一定是吉芬商品。一个假想的数字:替代效应 −2、收入效应 +1,总效应 −1,需求量仍然下降;只有收入效应变成 +3,总效应才是 +1。

参考与延伸

  • Samuelson, P. A. (1938). A Note on the Pure Theory of Consumer’s Behaviour. Economica, 5(17).
  • Becker, G. S. (1962). Irrational Behavior and Economic Theory. Journal of Political Economy, 70(1), 1–13(第 5 讲已引用)。
  • Kagel, J. H., Battalio, R. C., Rachlin, H., Green, L., Basmann, R. L., & Klemm, W. R. (1975). Experimental Studies of Consumer Demand Behavior Using Laboratory Animals. Economic Inquiry, 13(1), 22–38;Kagel, J. H., Battalio, R. C., 等(1981). Demand Curves for Animal Consumers. Quarterly Journal of Economics, 96(1), 1–15.
  • Hastings, J. S., & Shapiro, J. M. (2013). Fungibility and Consumer Choice: Evidence from Commodity Price Shocks. Quarterly Journal of Economics, 128(4), 1449–1498.
  • Jensen, R. T., & Miller, N. H. (2008). Giffen Behavior and Subsistence Consumption. American Economic Review, 98(4), 1553–1577(第 5 讲已引用)。