怎样在马来西亚预测餐厅营收:5 变量模型
多数马来西亚 F&B 预测是披着模型外衣的猜测。经营者把预期客流乘以预期客单价,落到一个月度的整数,然后把它当作计划。等到 4 月份实际跑出 RM48,000,而预算里写的是 RM65,000 时,没人能解释为什么。这份指南是经营者在不再把一次乘法当成预测之后实际在用的 5 变量模型。
这里的论点很直白。一个有用的马来西亚咖啡馆、茶餐室或餐厅的营收预测,必须考虑五个独立输入:客流、平均客单价、平日 vs 周末分布、时段贡献、和当月的季节倍数。少一个,预测在第一个意外面前就退化为乱猜。五个都留住,你就有了一个可以争论、可以在投资人面前辩护、现实漂移时可以修正的模型。
为什么单变量预测会失败
马来西亚 F&B 最常见的预测结构是一行:预期每日客流,乘以预期每客平均消费,乘以月营业天数。一家 PJ 的 60 座位咖啡馆假设 90 客/日、平均 RM38、给自己 28 天营业,把 RM95,760 写进计划。整齐。看起来站得住脚。几乎总是错的。
第一个问题是周一客和周六客不是同一种动物。同一家咖啡馆周一午餐客花 RM32,因为那是一个人开着笔记本点了三明治加咖啡。周六早午餐客花 RM52,因为那是三个人分两份主菜、两杯饮料、一份小菜、一份甜品。把它们平均成一个 RM38,掩盖了你需要同时拿到高的周末和过得去的平日才能打到目标的事实。如果其中一个掉了,平均值不会告诉你是哪一个。
第二个问题是只看客流的模型对时段没态度。时段是厨房实际执行的工作单元。早餐客、午餐客、下午茶客和晚餐客有不同的成本结构、不同的翻台时长、不同的加单上限。不拆分时段的预测,不能告诉你和预算的差距在咖啡早晨还是在晚餐服务上,也就是说你修不了对的东西。
第三个问题是日历。马来西亚 F&B 营收一年里不是平的。斋月压缩午餐爆出 pre-buka 的高峰。开斋节那一周平日客流减半。农历新年把华人为主的门店往一个方向推、把印度和马来门店往另一个方向推。3 月、6 月、8 月、12 月的学校假期改变家庭模式。假装日历不存在的意思是,你 1 月和 6 月的预测用同一套逻辑,其中至少一个月会在中旬就偏离 RM30,000。
5 变量模型
转变不是从一变到十。十个变量是学术。转变是从一变到五。下面每一个都对应经营者必须做的真实决策:多少座位、菜单怎么定价、什么时候门口忙、哪个时段印钱、当下是哪个月份。
变量 1:每日客流(容量 x 翻台 x 利用率)
从物理上限开始。每日客流不是愿望,是三个子数字的乘积:座位、翻台、利用率。
座位是合法容量和当班团队能实际服务的桌数中的较低值。周二午餐 60 座的咖啡馆,只有一个服务员和一个咖啡师,实际能跑 40 客,不是 60,因为 7 桌和 8 桌会被忽略。用有人手的座位数,不要用执照上的。
翻台是一个时段内一个座位被卖出几次。我们在多数经营者那里看到的 KL 基准:早餐咖啡馆座位在早餐时段翻 1.4 次,午餐 11:30 到 14:30 翻 1.8 到 2.2,下午茶 0.8,晚餐 18:30 到 21:30 翻 1.6 到 2.0。茶餐室翻得更快(午餐 2.5 到 3.0,因为单价更短)。全服务西餐翻得更慢(午餐 1.2 到 1.5,因为主菜更慢)。
利用率是你实际填满理论容量的百分比。新店头 90 天 35 到 45%。稳定门店一周里 55 到 70%。周六早午餐高峰 85 到 95%。每个时段、每个平日、每个周末用一个不同的利用率。整周一个数字是模型里的第一个谎言。
那么每日客流就是座位 x 翻台 x 利用率,按时段算并加总。一家 PJ 60 座咖啡馆有 40 人手座,早餐 1.4 翻 60% 利用、午餐 2.0 翻 75%、下午茶 0.8 翻 40%、晚餐 1.8 翻 70%,普通周三的每日客流大概是 167。
变量 2:平均客单价
AOV 不是一个门店一个数字。至少四个,最好再拆得更细。每个时段一个 AOV,再给每个加一层周末提升。从 MenuBase 产品上一组有代表性的巴生谷咖啡馆和休闲餐厅来看,大致形状是:
- 早餐 AOV:平日 RM18 到 RM26,周末 RM26 到 RM38。平日单人订单为主。周末有情侣和小组。
- 午餐 AOV:平日 RM28 到 RM42,周末 RM38 到 RM58。套餐和组合驱动平日基线。分享和加菜抬周末。
- 下午茶 AOV:整周 RM14 到 RM22。通常最低。一杯饮料加一份甜点。
- 晚餐 AOV:平日 RM42 到 RM68,周末 RM58 到 RM95。日内最大波动,因为团体大小变动最大。
- 深夜 AOV:RM18 到 RM32。通常重饮料、轻食物。
纪律不是给每个格子挑一个精确数字。是拒绝整月用一个 AOV。如果你有 12 周 POS 历史,用你的真实数据建表。如果没有,先用上面的区间,90 天后再调。目的是阻止模型悄悄假设一个在你门店里根本不存在的 RM38 平均。
变量 3:平日 vs 周末分布
取一个抽象的"平均日",模型就很脆。更诚实的版本是给每一天对比平均做一个指数,让日历自己说话。我们在咖啡馆和休闲餐厅里看到的巴生谷模式平均是这样的:
- 周一到周四:每天约平均日的 60%。办公室锚定的门店周二和周三高一些,周一和周四低一些。
- 周五:75%。周五午餐由职场驱动。周五晚餐在办公室人群留下时上抬。
- 周六:90%。多数咖啡馆和休闲餐厅的高峰日。早午餐是单日最大时段。
- 周日:80%。早午餐稳定,晚餐软掉因为周一要来了。
把这些加起来(60 x 4 + 75 + 90 + 80)除以 7,得到平均日。注意这个模式。周末两天的营收权重大致等于三个平日加起来。如果你的预测悄悄假设周二和周六一样,你给周六定的预算太低,给周二定的太高。第一个会看起来像超额,第二个会看起来像问题。两者都不是真的。
这些数字按门店类型会移。商场内的茶餐室会压缩差距,因为客流更均匀。办公塔楼内的咖啡馆放大差距,因为周六空荡。用框架,然后用 POS 数据在开业 60 天内或周边建筑发生结构变化后 30 天内重新拟合百分比。
变量 4:时段贡献
下一层是一天怎么分。全服务门店的一个有用框架:
- 早餐(7am 到 11am):日营收 15%。单价低,翻得快。
- 午餐(11:30am 到 2:30pm):35%。可靠的营收块。办公室和走客混合。
- 下午茶(3pm 到 5:30pm):10%。常常是最漏的时段,那个在交租的时段。值得单独看怎么激活。
- 晚餐(6pm 到 10pm):35%。另一个可靠块。AOV 更高,翻台更慢。
- 深夜(10pm 之后):5%。只对嘛嘛档、深夜茶餐室和酒吧型门店有意义。
6pm 关门的咖啡馆把早餐块推高(常 25 到 30%),没有晚餐。锚定午餐的茶餐室可能坐在 45% 午餐。只做晚餐的门店反过来。把时段贡献放进模型的意义在于,它告诉你预测偏离时去哪里找。如果你给晚餐预算 35% 跑出来 22%,差距不是"整家餐厅",是晚餐。
变量 5:季节性
最后一层是马来西亚日历。每个月用一个倍数,不要把每个月当成平均。这是一年里大致的形状,每个月相对 1.0 基线做指数:
- 1 月:1.05 到 1.10。新年决心推高健身和健康咖啡馆。下半月华人新年预期拉抬华人为主的门店。
- 2 月:0.90 到 1.20 看华人新年。门店在华人新年前后关 3 到 7 天。前一周高峰,后一周低谷。
- 3 月:0.95 到 1.00。学校假期拉动家庭客流。办公室锚定门店略软。
- 4 月 / 斋月:非清真门店 0.65 到 0.85。清真门店有强 pre-buka 和斋月夜市溢出的 1.10 到 1.35。午餐生意整体压缩 30 到 50%。
- 5 月 / 开斋节:0.70 到 0.90。开斋节那一周对多数门店很安静。之后的周末会反弹。
- 6 月:0.95 到 1.05。学校假期在月中。商场门店看到家庭客流,办公室门店软。
- 7 月:1.00。最可靠的预测月。用 7 月校准模型。
- 8 月:1.00 到 1.05。国庆长周末拉动早午餐和晚餐。
- 9 月:0.95 到 1.00。马来西亚日长周末给一次提升。
- 10 月:1.00 到 1.10。屠妖节明显拉动印度为主的门店。办公室年底冲刺开始。
- 11 月:1.05 到 1.15。年底办公室晚餐开始。团体预订增加。
- 12 月:1.15 到 1.30。休闲餐厅和咖啡馆门店最强的月份。圣诞、年底办公室派对、学校假期、F&B 送礼。
用一个平的月度数字跑过这个日历的预测,一年下来在某个方向上会错 RM50,000 或更多。建一次季节性表,每年用上一年的 POS 数据重调,月度计划在多数月份能保持在 10% 差异以内。
单变量预测是猜。5 变量预测是一个可以检验的假设。
实例:为 PJ 白沙罗一家 60 座咖啡馆预测 2026 年 7 月
来个真实形状。PJ 白沙罗一家 60 座咖啡馆,人手能服务 40 座,营业时间 7:30am 到 10pm,一周七天。老板想要 2026 年 7 月的营收预测。7 月是 1.0 季节性月份,31 天,这让它成为理想的第一次测试。
第一步,平均日的每日客流。套用变量 1 的时段翻台和利用率:
- 早餐:40 座 x 1.4 翻 x 60% 利用率 = 33 客
- 午餐:40 x 2.0 x 75% = 60 客
- 下午茶:40 x 0.8 x 40% = 13 客
- 晚餐:40 x 1.8 x 70% = 50 客
- 平均日客流:156
第二步,按时段加权 AOV。老板从 12 周 POS 历史拉出来:早餐 RM22、午餐 RM34、下午茶 RM18、晚餐 RM52。按客流权重加权的日内混合 AOV 落在 RM34。但模型不用混合值,每行单独用。
- 早餐每平均日营收:33 x RM22 = RM726
- 午餐:60 x RM34 = RM2,040
- 下午茶:13 x RM18 = RM234
- 晚餐:50 x RM52 = RM2,600
- 平均日合计:RM5,600
第三步,平日/周末分布。套用 60/60/60/60/75/90/80 权重。一周加起来是平均日的 485%。2026 年 7 月有 4 个完整周加 3 天(周三 29 日、周四 30 日、周五 31 日)。权重数学:
- 4 周 x 485% 平均日 = 1,940%
- 3 个额外平日(周三、周四、周五)= 60 + 60 + 75 = 195%
- 总日等量:21.35 平均日
第四步,基线月度合计。21.35 x RM5,600 = RM119,560。
第五步,季节性。7 月是 1.0 基线月,不调整。2026 年 7 月预测是 RM119,560。
如果老板用单变量模型(156 客 x RM34 x 31 天),会得到 RM164,424。高出 RM44,864,因为单变量模型假设每天都是平均日,而周六和周一非常不是。5 变量模型离真相近 RM45,000,更重要的是,如果 7 月偏离,它告诉老板该拉哪根杆。如果早餐不达标,看早上的营销。如果晚餐不达标,看晚餐菜单的加单。如果周六不达标,看早午餐的排班。单变量模型只会说"我们没打到"。
预测 vs 实际对账:周度差异回顾
这个模型只有跑实际数字时才有用。和团队设一个 30 分钟的周度回顾。把上周 POS 数据拉出来,按预测同样的五种方式拆分,做对比。
回顾要回答三个问题。第一,差异在营收上还是毛利上?12% 营收下降配健康毛利,和 4% 营收下降配 20% 毛利冲击不一样。第二,差异在客流、AOV,还是结构上?如果客流稳但 AOV 跌了,你的加单坏了。如果客流跌了 AOV 稳,你的客流坏了。第三,差异在某个特定时段吗?多数周度差异住在 5 变量表的 1 到 2 个格子里,不是均匀散布。
留一个滚动日志。8 到 12 周差异回顾之后,月度损益表看不到的模式会浮上来。周二午餐可能一直差 8%。周五晚餐可能一直超 12%。这些是要喂回下个月预测和菜单定价回顾的信号。差异日志也是当投资人和合伙人问生意是否在轨时你拿出来给他们看的。4% 有已知原因的差异,比 1% 无解释的超额更健康。
什么时候重建模型
模型会漂移。正确响应不是每月重建,那会过度拟合噪音。正确响应是按信号重建。三个信号值得重建模型:
信号 1:连续 3 周同方向差异超过 15%。一坏周是天气。两坏周是运气。三连是模型。输入表里有东西错了。最常见的是 AOV 假设因为菜单调价漂移了而模型没跟上。有时是时段贡献变了,因为附近开了或关了一家竞争对手。一个个走过五个变量,找出哪一个不再匹配现场。
信号 2:周边商圈出现结构变化。路对面新开门店。一段路封闭打断客流。两扇门外新办公楼填满。学校搬走。任何一件都重置变量 1 的利用率,有时单方向 15 到 25%。不要等差异证明它。在变化的第一周重建模型。
信号 3:菜单调价。任何时候你把一个类别的价格上调 5% 或以上,AOV 假设会变,客流假设也可能变(一些价格敏感顾客离开,一些加单提升)。调价 3 周后用 POS 数据重建 AOV 表。下一个预测周期用新数字。不要假设涨价干净地传导过去。
MenuBase 的数据怎么喂进模型
我们一起工作的多数经营者,第一版 5 变量模型是在纸上建的,然后意识到光靠 POS 导出,输入很难一致地拿到。时段级 AOV 麻烦。周末提升要按天拆账单。促销有效性埋在行项里。
MenuBase 产品坐在顾客手机和 POS 之间,意味着时段级 AOV、加单建议的接受率、团体大小模式、促销兑换都按账单逐张随事件捕获。经营者把这些作为月度导出拉出来,直接喂进预测输入。差异回顾就变成 20 分钟的拉数据对比,而不是手工对账三份报表。
无论数据是不是来自 MenuBase,模型一样。只是当数字菜单已经在按段捕获,输入变得不那么痛苦地保持新鲜。预测的意义在于现场变了就修正。数据层的意义在于让修正成为 20 分钟的活,而不是 4 小时。
如果 5 变量模型 6 周后差异仍然高于 15%
常见卡点是变量 2(AOV),因为经营者从 POS 拉的是混合数字而不是按时段拆的。模型只有在 AOV 表诚实的时候才管用。
如果你想要帮助把输入接到你实际 POS 数据上,WhatsApp 团队。15 分钟。我们会看你完整一周的 POS 导出,告诉你 5 个变量里哪一个是差异的最大来源。如果 MenuBase 不适合你,我们会直说。
WhatsApp 团队 →