all_lessons/饮品的逻辑/20第 21 课 / 共 23 课

第六部分 · 一杯的生意

出杯:标准化、午高峰与外卖

上一课我们发现,一家店能不能活下去,要看每杯留下多少、每天卖出多少杯;保本线是按「每天」算的。可顾客不会均匀地一整天慢慢来:生意几乎全挤在午饭前后那几个小时里。账算得通的前提,是成千上万家店在高峰时把同一杯做得又快又稳。一杯手作,怎么变成一条流水线?为什么一家「平均忙得过来」的店,高峰时照样排长队?

被什么逼出账算得通的前提,是成千上万家店每天做出同一杯,而且要快:生意几乎全挤在高峰那几个小时。一杯手作怎么变成一条流水线? 本课排队不是「忙不过来」才开始的。利用率 ρ(来单速度 ÷ 出杯能力)一过八成,等待就按 ρ ÷ (1 − ρ) 往上翘,到九成以上几乎是垂直的;等待还跟出杯时间的「波动」成正比。标准化把一杯拆成固定的几步,既缩短平均时间,也压小波动;在最挤的那一段多开一个工位,等待会一下子塌下来。外卖把更多的单子压进同一个午高峰,还让一杯在路上再走半小时。 逼出下一课标准化让一杯可以被复制,也让对手可以复制它;同一个味道,喝到第十次也就不香了。于是饮品店总要上新。 → 21
科学小注
这一课的排队数学是运筹学里的标准结果:利用率 ρ,金曼(Kingman)给单个服务台的等待近似,以及坂川(Sakasegawa)把它推广到多个服务台的近似公式。它们只需要三样输入:来单的速度、每杯的平均时间、每杯时间的波动。本课模拟器用这几个公式算「稳态」的等待,再让排队的人数随时间一分钟一分钟地累积,所以午高峰的长短也会影响排多久。模拟器里的到店曲线、外卖曲线、每杯秒数、顾客最多愿意等 15 分钟,都是示意常数,不是任何一家店的数据。
本课路线
(1) 一天的生意挤在几个小时里。 (2) 排队的数学:忙到九成,为什么就排起长队。 (3) 标准化:把一杯拆成秒。 (4) 动手:一家店的午高峰。 (5) 外卖:一杯在路上的半小时。 (6) 规模的另一面:菜单越长,波动越大。

一、一天的生意挤在几个小时里

上一课的模拟器算的是「每天卖多少杯」。可一家外带饮品店的一天并不平。设想一家开在写字楼下的店(这是本课模拟器的示意假设,不是哪家店的数据):早上上班前来一小拨,午饭前后挤成一个尖峰,下午三四点再来一个小高峰,晚饭后零零星星。一天的杯数,很大一部分挤在两三个小时里。

这意味着,店要按高峰来配,而不是按平均来配:工位、人手、操作台的长度,都要扛得住最挤的那一个小时;高峰一过,这些能力就闲着——就像《酒的逻辑》第 17 课《酒吧到底卖什么:一晚的经济账》里那张空着的凳子,闲掉的那一小时,补不回来。

那么,一家店在高峰时要「忙」到什么程度,顾客才开始排长队?直觉的回答是:来的单子超过了做得出的杯数,才会排队。这个直觉错了一大半。

二、排队的数学:忙到九成,为什么就排起长队

先定义一个数,叫利用率:

利用率 ρ = 每小时来的单数 ÷ 每小时最多能做出的杯数

两个工位、每杯 60 秒,一小时最多做 120 杯;每小时来 90 单,ρ 就是 0.75——平均下来,工位有四分之三的时间在忙。只要 ρ 小于 1,「平均忙得过来」。可是顾客不会整整齐齐地每 40 秒来一个:有时候一分钟里涌进来三个,有时候三分钟没人。每杯的时间也不整齐:做法简单的一杯快,要加奶、加料、多摇几下的慢。涌进来的那一小簇,只能靠空闲的时间来消化;而空闲的时间,恰好是 1 − ρ 那一点点。

运筹学把这件事写成了一个很短的近似式(金曼公式,一个工位时):

平均排队时间 ≈ ρ ÷ (1 − ρ) × (1 + cs²) ÷ 2 × 每杯的平均时间

这里的 cs 是每杯时间的波动系数:每杯时间的标准差除以平均值。cs = 1 表示快慢参差、像随机的一样;cs = 0 表示每杯都一模一样。公式默认顾客是随机来的。先只看第一项 ρ ÷ (1 − ρ),它决定了这条曲线的形状:

利用率 ρρ ÷ (1 − ρ)一个工位、每杯 60 秒、cs = 1 时,平均要排
0.5011 分钟
0.8044 分钟
0.9099 分钟
0.951919 分钟
0.984949 分钟

ρ 从 0.5 到 0.8,等待变成原来的四倍;从 0.90 到 0.95,又翻了一倍多。画出来是一根曲棍球杆:前面一段几乎是平的,过了八成开始翘,到九成以上几乎垂直。所以「只要平均忙得过来,就不会排队」是错的——忙到九成,就已经在排长队了。

有好几个工位时,公式换成坂川的近似:平均排队时间 ≈ ρ√(2(c+1)) − 1 ÷ (c × (1 − ρ)) × (1 + cs²) ÷ 2 × 每杯时间,c 是工位数。式子长了,形状不变:分母里那个 1 − ρ 还在,ρ 越接近 1,越陡。

还要补一句:这些都是「一直这么忙下去」时的稳态。真实的午高峰只有一两个小时,队伍是一个人一个人攒起来的,常常来不及排到稳态那么长;可如果高峰时每小时来的单子超过了产能,队伍就会一直往上攒,直到高峰过去,或者顾客等不下去走掉。下面的模拟器两件事都算。

三、标准化:把一杯拆成秒

公式里能拧的旋钮只有三个:ρ、cs、每杯的平均时间。而「每杯的平均时间」其实出现了两次——它直接乘在后面,又藏在 ρ 里(同样的单量,每杯做得快,ρ 就低)。标准化同时拧动了其中两个:

1拆成固定的几步。取杯、加冰、打茶、加奶、加糖浆、摇、封口、贴标——每一步有固定的量、固定的顺序、固定的位置。第 16 课「倒着设计」出来的配方,到这里变成了一串固定的动作。
2平均时间变短。不用想、不用找、不用尝,手到了就做完。平均时间一短,同样的单量下 ρ 就低了,曲棍球杆上的那个点往左挪。
3波动变小。每个人、每一杯都差不多快,cs 变小。cs 从 1 降到 0.4,(1 + cs²) ÷ 2 就从 1.00 降到 0.58——同一个 ρ 下,等待少了四成多。

第三条最容易被忽略。人们容易以为标准化「只是为了快」,可就算平均时间一秒没变,只要快慢更整齐,队伍就会短。反过来,顾客的到来本身是随机的,这一点店家改不了:就算每一杯都做得像机器一样准(cs = 0),系数也只能降到 0.50——剩下的那一半,只能靠降低 ρ。

标准化还有一层更早被人看重的好处:一致。《烹饪的逻辑》第 30 课《人与系统:让一支普通团队稳定地交付》讲过,靠 SOP 和培训,让一支普通的团队每天交付同一个水平;《酒的逻辑》第 21 课《人与系统:调酒师、一致性与看不见的账》讲过配方卡和量酒器怎么让「周二张三调的」等于「周六李四调的」。这一课只补那两课没算的一件事:一致,本身就是速度。按一个键就打出定量糖浆的泵、预先设好程序的萃取设备,在上面那个公式里干的是同一件事——把 cs 压小。

四、动手:一家店的午高峰

这个模拟器把一家店的一天(8:00–22:00)切成一分钟一分钟。到店的顾客按一条有三个高峰的曲线来(午饭、下午茶、晚饭后,示意);外卖按另一条更尖的午高峰来(也是示意),「外卖占比」越高,加进来的单子越多。每一刻,它按工位数和每杯秒数算出产能,按上一节的坂川近似算等待,再让排队的人数随时间累积;等待超过 15 分钟的那部分顾客会直接走掉,算进「流失单数」(外卖单也按同一个 15 分钟算:等太久的单,在模型里当作被取消或没下成,示意)。上面的图是每小时来的单(蓝色到店、橙色外卖)和产能线;中间是这一刻进门要等几分钟;右边(窄屏时在最下面)是曲棍球杆:「一直这么忙下去」会排多久,圆点是你这家店高峰时的位置。

一家店的午高峰:利用率、波动与外卖
先点「午高峰刚好挤满」:两个工位、每杯 60 秒,产能每小时 120 杯,高峰利用率 ρ 约 0.94,最长要等约 4.0 分钟。点「标准化:波动小」——平均每杯还是 60 秒,只是快慢更整齐——最长等待降到约 2.7 分钟。再点回「手作:波动大」,把「出杯工位」从 2 拖到 3:ρ 降到约 0.63,最长等待塌到约 23 秒。最后点「外卖补贴周」:外卖占到六成,高峰的单子是产能的两倍多,等待一路涨到 15 分钟的耐心上限,全天约 142 单流失;把工位拖到 4,流失归零。
最长等待
—
流失单数(全天)
—
高峰利用率 ρ
—
产能
—
全天出杯
—
—

玩上几圈,你会看到这一课的几件事都是算出来的。第一,ρ = 0.94 时还没「超载」,可已经在排队——产能线明明在单子的上面。第二,标准化不改平均时间,也能把等待砍掉约三分之一(模型里 4.0 分钟 → 2.7 分钟);再把每杯秒数从 60 拖到 50,等待会降得更多,因为 ρ 也跟着降了。第三,最挤的那一段多开一个工位,等待不是少一点,而是塌下来:ρ 从 0.94 退到 0.63,正好从曲棍球杆的杆头退回了平的那一段。

再看曲棍球杆上的圆点:ρ = 0.94 时,「一直这么忙」的稳态等待约 7.8 分钟,而模拟出来的最长等待只有约 4.0 分钟——午高峰只有一两个小时,队伍来不及排满。可一旦高峰的单子超过产能(外卖补贴周),队伍就一路攒到顾客的耐心上限,多出来的单子只能流失。多开一个工位也不是白给的:多一份人手、一份设备,是上一课账本里的固定成本,而它真正派上用场的,只是高峰那一两个小时(人手怎么按客流排班,见《烹饪的逻辑》第 30 课)。

五、外卖:一杯在路上的半小时

外卖给这本账加了两样东西。

第一样,是单子。外卖单和到店单用的是同一个操作台、同一双手——模拟器里,把「外卖占比」从 30% 拖到 60%,高峰的 ρ 从 0.94 直接冲过 2。2025 年,这件事在全国真的发生了一遍:

拿模拟器的量级对一下(示意):一家两个工位、每杯 60 秒的店,满负荷一小时 120 杯;一天 2,000 单,相当于不停手做 16 个多小时。单子再多,出杯能力是硬的:多出来的那部分,要么变成门口的长队和迟到的外卖,要么变成流失。

账也没有因此变好看。瑞幸的配送费用从 2024 年占营收的 8.2%,涨到 2025 年的 13.9%,它自己说主要是第三方外卖平台的单量涨了(据瑞幸 2025 年度业绩公告);霸王茶姬把 2025 年的销售下滑主要归因于「中国外卖平台为刺激消费流量而加剧的补贴竞争」(据赢商网 2025 年 12 月的报道);美团在 2026 年 2 月 13 日发布盈利预警,预计 2025 年亏损约 233–243 亿元,而 2024 年还盈利约 358.08 亿元(据财联社、华尔街见闻的报道)。爆单,不等于赚钱。

第二样,是路上的时间。第 16 课留下了一笔账:外卖的一杯,路上还要再走一段。现在可以把它算完。一杯从下单到你喝第一口,要过三段时间:排队、做、路上。补贴周的午高峰里,模拟器算出最长要排约 15 分钟;再在袋子里走半小时(示意),第一口就到了下单后四十多分钟。这四十多分钟里,杯子在变:

冰冰在化。第 16 课《奶茶:一杯被倒着设计出来的组装品》的模拟器里,夏天在路上走 30 分钟,杯里剩下的约 76 克冰全化成了水,茶味从约 1.07 倍掉到约 0.92 倍——又掉了一成多。
泡奶泡在塌。奶泡是一团靠牛奶蛋白撑着的气泡(第 11 课《牛奶进杯:拿铁、奶泡与生椰,苦是怎么被护送进来的》);一篇综述指出,脂肪可能不利于奶泡的形成和稳定(Huppertz,2010)。路上半小时它还剩多少,这门课没有找到测过的数据;能确定的只是,它撑不了无限久。
珍珠珍珠在变硬。煮好的木薯淀粉会慢慢回生,而且冷的时候回生得更快:同一项实验里,4 °C 放 7 天回生 31.0%,25 °C 只有 5.5%(Babić 等,2006)。那是按天算的数;路上的半小时只是同一个方向上的一小步,可一杯加冰的珍珠奶茶,在袋子里正好又冷又在等。

照这个道理推下去(这是推论,不是哪家店公开的做法):一杯要经得起这四十多分钟,设计时就得把它算进去——冰少放一点或分开装,奶泡和配料不做成「只能当场喝」的样子,茶底按「到手时」而不是「做好时」的浓度来定。第 16 课「倒着设计」的那个「第 N 分钟」,到了外卖这里,被往后推了半小时,高峰时还要再加上排队的那十几分钟。

六、规模的另一面:菜单越长,波动越大

回到公式里的 cs。标准化能把每一种饮品的做法压得很整齐,但压不住一件事:菜单上的饮品本身就快慢不一。假设一半顾客点一杯 40 秒的纯茶,一半点一杯 100 秒的加料奶茶:平均每杯 70 秒,标准差 30 秒,cs 约 0.43——哪怕每一种都做得像机器一样准,光是「点的东西不一样」,波动就回来了。菜单上每多一种做法不同的饮品,配料台上就多一样要备的东西,操作台上就多一种节奏,cs 就往上走一点。

这就是规模的另一面。照这个道理,要让成千上万家店在高峰时做出同一杯,最省事的办法是把菜单收窄、把步骤钉死;可菜单越窄,同一个味道被同一个人喝到的次数就越多,钉死的步骤也越容易被对手照着做一遍——这正是下一课的问题。

回到主线
一杯饮品,主角是水;人回来要的,是溶进去的那一小撮。可那一小撮要送到人手里,还得过一道窄门:午高峰的那一两个小时。这道门的宽窄,由一个很短的公式决定——利用率越接近 1,等待越陡;出杯时间越参差,等待越长。标准化把第 16 课倒着设计出来的那一小撮,钉成固定的几步:它让每一杯都一样,也让每一杯都快。外卖则把更多的单子塞进同一道门,还让那一小撮在路上再变半小时——冰化成水,泡沫塌下去,珍珠变硬。能被钉成固定几步的东西,也就能被别人照着钉一遍。

常见误解

一句话带走
排队在「忙得过来」时就开始了:等待 ≈ ρ ÷ (1 − ρ) × 波动 × 每杯时间,利用率一过八成就往上翘,到九成以上几乎垂直。标准化同时缩短平均时间、压小波动;在杆头上多开一个工位,等待会塌下来;外卖把更多单子压进同一个午高峰,还让一杯在路上再变半小时。出杯能力是硬的——爆单不等于赚钱。
下一步
标准化让一杯可以被复制,也让对手可以复制它;同一个味道,喝到第十次也就不香了。于是饮品店总要上新。 → 第 21 课《上新:饮品店为什么总要出新品》会问:舌头为什么会对同一个味道疲劳,一款爆品的热度能撑几周、被对手跟上之后还剩多少,以及每次上新都要付出的代价——包括这一课刚算过的那一份:菜单上多一种做法,队伍就长一点。