CDN 新客户接入前的价格测算:用波形拟合算出最低成本价

2891 字
14 分钟
CDN 新客户接入前的价格测算:用波形拟合算出最低成本价

接入一个新的 CDN 客户之前,销售最常问的问题是:这个客户最低能报多少钱?

报高了,客户被竞争对手抢走;报低了,接进来就亏钱。而 CDN 的成本又很特殊:同样大小的两个客户,因为高峰时间不同,给厂商带来的成本可能差好几倍(见《CDN 的错峰与超卖》)。光靠经验拍价格,很难准。

火山 CDN 的经营分析平台上有一个价格测算功能,就是用来回答这个问题的。这篇介绍它的思路。

文中的数据都是模拟的,成本用相对指数表示,不代表真实价格。

一、输入#

使用者(一般是销售或运营)需要提供三类输入:

1. 客户的带宽打点。 5 分钟粒度的带宽数据,要求:

  • 至少 7 天:覆盖一个完整的周周期,把工作日和周末的差异都包含进去;
  • 最能体现客户业务特性的稳定波形:不能拿一个做活动的特殊时段来测,否则拟合出来的结果不代表客户的常态。

这两点是测算结果可信的前提,平台对使用者专门做过宣贯。错峰效果完全取决于客户的波形,输入的波形不对,后面算得再精确也没有意义。

2. 资源诉求。 客户对接入资源的要求,比如全部要联通、全部要电信,或者可以接受非 80 端口的低价节点、PCDN 节点等。不同资源的成本差别很大。

3. 包头系数。 后面会讲到,它是留给销售的议价空间,测算时可以调整。

二、测算过程#

客户打点(≥ 7 天)

与大盘波形拟合,得到新大盘

大盘历史打点

大盘 95 增量 ΔB

客户自身的计费用量

95 / 日峰月均 / 流量……

错峰带宽 = 客户 95 − ΔB

是否为正?

边际超卖倍数 k

资源诉求

加权资源成本 C

增量成本 = ΔB × C

各计费方式的最低成本价

包头系数 h

客户打点(≥ 7 天)

与大盘波形拟合,得到新大盘

大盘历史打点

大盘 95 增量 ΔB

客户自身的计费用量

95 / 日峰月均 / 流量……

错峰带宽 = 客户 95 − ΔB

是否为正?

边际超卖倍数 k

资源诉求

加权资源成本 C

增量成本 = ΔB × C

各计费方式的最低成本价

包头系数 h

1. 波形拟合:算出大盘 95 的增量#

把客户的打点和大盘同一时段的打点逐点相加,得到「接入后的新大盘」,再分别计算新、旧大盘的 95,两者之差就是这个客户带来的大盘 95 增量 ΔB。

2. 判断错峰#

错峰带宽=B客户−ΔB,k=B客户ΔB\text{错峰带宽} = B_{\text{客户}} - \Delta B, \qquad k = \frac{B_{\text{客户}}}{\Delta B}

B_客户 是客户自己的 95。错峰带宽为正(k > 1),说明客户的高峰落在大盘的低谷,是错峰客户;为零或为负,说明和大盘同峰。

这是测算里最重要的结论。 价格是参考,错峰的正负才是判断这个客户「好不好」的依据。

3. 加权资源成本#

客户的资源诉求决定了成本单价。把各类资源的成本按客户的流量占比加权平均:

C=∑iwi⋅ciC = \sum_i w_i \cdot c_i

比如:

资源占比 wᵢ成本指数 cᵢ
联通50%1.0
电信30%1.2
非 80 端口节点20%0.6
加权成本 C0.98

这里的加权,本来就是为了把分运营商、分资源的细分成本价模糊成一个数,和「一个大盘」的拟合方式相匹配。

4. 最低成本价#

接入这个客户,厂商要多付的成本是 ΔB × C。向客户收费时,计费用量要乘以包头系数 h。最低成本价的原则是:乘上包头系数之后的收入,不能低于增加的成本。

Pmin⁡×h×B客户 ≥ ΔB×C⟹Pmin⁡=Ck×hP_{\min} \times h \times B_{\text{客户}} \ \ge\ \Delta B \times C \quad\Longrightarrow\quad P_{\min} = \frac{C}{k \times h}

这个式子很好地说明了各个因素的作用:

  • k 越大(越错峰),最低价越低;
  • 资源越贵(C 越大),最低价越高;
  • 包头系数 h 越大,同样的单价能收回更多,报价就可以更低。h 在测算时是一个可调的输入,用来给销售留出议价空间。

5. 不同计费方式的最低价#

客户可能希望按 95、按日峰月均或者按流量计费。成本侧的增量都是同一个 ΔB × C,不同的只是客户在各计费方式下的计费用量 Q。平台会根据上传的打点,分别算出各计费方式的用量,再分别给出最低价:

Pmin⁡, m=ΔB×CQm×hP_{\min,\,m} = \frac{\Delta B \times C}{Q_m \times h}

m 代表计费方式。销售可以同时看到「按 95 最低报多少、按流量最低报多少」,按客户的偏好去谈。

三、示例#

用 7 天的模拟数据,测算两个规模相近的客户:客户甲的高峰在上午 10 点,客户乙的高峰在晚上 21 点,和大盘一样。大盘的 95 约为 679 Mbps,资源诉求都按上面的表格(C = 0.98)。

错峰判断:

客户自己的 95大盘 95 增量 ΔB错峰带宽边际超卖倍数 k结论
客户甲208.522.1+186.49.42错峰
客户乙207.0208.8−1.90.99同峰

最低成本价(成本指数;95 和日峰月均为每 Mbps·月,流量为每 TB):

计费方式客户甲(h = 1.0)客户甲(h = 1.1)客户乙(h = 1.0)客户乙(h = 1.1)
95 峰值0.1040.0950.9890.899
日峰月均0.0960.0870.8960.815
流量1.181.0711.4610.42

两个客户规模几乎一样,资源诉求也一样,但客户甲的最低成本价只有客户乙的十分之一左右。如果按经验给两个客户报同一个价格,要么错失客户甲,要么接入客户乙就亏钱。

四、回头看:可以继续优化的地方#

先看优化后的测算流程,可以和第二节的流程图对照。虚线框是新增或改变的步骤:

客户打点(≥ 7 天)

按资源占比拆分客户波形

资源诉求(各资源占比)

联通部分

电信部分

非 80 / PCDN 部分

与联通大盘拟合

与电信大盘拟合

与非 80 / PCDN 大盘拟合

ΔB₁,错峰判断

ΔB₂,错峰判断

ΔB₃,错峰判断

增量保护:ΔBᵢ 不低于 Bᵢ ÷ k_max

增量成本 = Σ ΔBᵢ × 各池成本价 cᵢ + 固定成本分摊

客户自身的计费用量

95 / 日峰月均 / 流量……

各计费方式的最低成本价

包头系数 h

客户打点(≥ 7 天)

按资源占比拆分客户波形

资源诉求(各资源占比)

联通部分

电信部分

非 80 / PCDN 部分

与联通大盘拟合

与电信大盘拟合

与非 80 / PCDN 大盘拟合

ΔB₁,错峰判断

ΔB₂,错峰判断

ΔB₃,错峰判断

增量保护:ΔBᵢ 不低于 Bᵢ ÷ k_max

增量成本 = Σ ΔBᵢ × 各池成本价 cᵢ + 固定成本分摊

客户自身的计费用量

95 / 日峰月均 / 流量……

各计费方式的最低成本价

包头系数 h

和原来相比,主要有两处变化:一个大盘变成了按资源池划分的多个大盘;算出增量之后、计算成本之前,多了一道保护。下面分别说。

1. 分资源池拟合。 当时是把所有资源放在一个大盘里拟合,再用加权成本。但实际上,上游往往是按运营商、按资源池分别结算 95 的,联通的大盘和电信的大盘高峰时间也未必一样。更精确的做法是把每类资源当成一个独立的大盘:按客户的资源占比,把客户的波形拆到各个大盘上,分别拟合、分别算增量,每个大盘用自己的成本价:

Pmin⁡=∑iΔBi⋅cih×B客户P_{\min} = \frac{\sum_i \Delta B_i \cdot c_i}{h \times B_{\text{客户}}}

这时资源占比就不再用于加权成本,而是用于拆分客户的波形;每个资源池也有各自的错峰情况。

分池之后,怎么给出一个综合的错峰结论? 一个客户可能在联通很错峰,在电信却和大盘同峰。直接把各池的数字相加不合适,因为各池的成本差别很大:在贵的池子里同峰,比在便宜的池子里同峰代价高得多。所以综合指标应该按成本加权:

k综合=∑iBi⋅ci∑iΔBi⋅ci,综合错峰成本=∑i(Bi−ΔBi)⋅cik_{\text{综合}} = \frac{\sum_i B_i \cdot c_i}{\sum_i \Delta B_i \cdot c_i}, \qquad \text{综合错峰成本} = \sum_i (B_i - \Delta B_i) \cdot c_i

分子是「如果客户在每个池子都和大盘完全同峰,厂商要多付的成本」,分母是客户实际带来的增量成本,两者之比就是综合的边际超卖倍数;综合错峰成本为正,就是整体错峰。

这个定义代回最低价公式,结构和原来完全一样:

Pmin⁡=C加权k综合×h,C加权=∑iBiciB客户P_{\min} = \frac{C_{\text{加权}}}{k_{\text{综合}} \times h}, \qquad C_{\text{加权}} = \frac{\sum_i B_i c_i}{B_{\text{客户}}}

也就是说,原来「一个大盘」的公式,只是分池版本在只有一个池时的特例,平台的输出格式和使用者的理解方式都不用变。

看一个示意的例子:

资源池成本 cᵢ客户计费带宽 Bᵢ增量 ΔBᵢ分池 k分池结论
联通1.01001010错峰
电信1.260601.0同峰
非 800.64058错峰
  • 简单相加:k = 200 ÷ 75 ≈ 2.67;
  • 按成本加权:k_综合 = (100 + 72 + 24) ÷ (10 + 72 + 3) = 196 ÷ 85 ≈ 2.31。

成本加权的结果更低,因为客户恰好在最贵的电信池同峰。简单相加会高估他的错峰程度,报价就可能偏低。

但综合指标会把信息压缩掉,而分池明细里往往藏着可以操作的机会。上面这个客户,电信同峰、联通和非 80 错峰:

  • 报价:用综合 k 定最低价;
  • 调度:和客户沟通,把一部分电信流量调到联通或非 80 节点,他的综合 k 会明显上升,最低价随之下降,厂商和客户都受益;
  • 资源规划:如果很多新客户都在电信池同峰,说明电信大盘的高峰是瓶颈,需要优先扩容,或者优先拓展在电信池错峰的客户。

所以分池之后,平台的输出应该是一个综合结论(是否错峰、综合 k、最低价)加一张分池明细表:综合指标用来定价,分池明细用来做优化。

2. 对极端的错峰结果做保护。 客户甲的 k 高达 9.4,按公式算出的最低价只有资源成本的十分之一左右。当时价格只作为参考,靠「至少 7 天、稳定波形」的输入要求来保证测算可信。如果要把测算结果直接用于报价,还可以给 k 设一个上限,并加上机房、运维等固定成本的分摊,避免因为客户业务形态变化或大盘变化导致报价过低。在分资源池的版本里,给 k 设上限等价于给每个池子的增量设一个下限:ΔBᵢ 不低于客户在这个池子的计费带宽 Bᵢ 除以 k_max,也就是图中的「增量保护」。

五、总结#

价格测算把几件事串在了一起:

  • 95 计费决定了成本由大盘的峰值决定;
  • 错峰与超卖解释了为什么同样大小的客户成本可以差很多倍;
  • 波形拟合把这个差异量化成了一个可以算的数;
  • 资源成本和包头系数把它落到了具体的价格上。

最终,销售拿到的不只是一个价格,而是一个判断:这个客户是错峰还是同峰,最低能报到多少,议价空间有多大。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

CDN 新客户接入前的价格测算:用波形拟合算出最低成本价
https://tracerzzz.cn/posts/cdn-new-customer-pricing/
作者
tracerZzz
发布于
2026-10-25
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
CDN 是怎么收费的:从流量、95 峰值到日峰月均,厂商和客户两边看计费
工作我在百度云 CDN 做过客户账单,在字节做过火山 CDN 的计费推量,也做过融合 CDN 向多家厂商采购的对账和成本分摊,厂商和采购两边都经历过。这篇整理 CDN 常见的计费方式:流量、带宽峰值、95 峰值、日峰月均、月第四峰值、夜间减半、闲忙时、请求数,以及计费区域、包头系数这些容易忽略的细节,并用一个月的模拟数据对比不同方式算出来差多少。
2
CDN 的错峰与超卖:为什么厂商能把同一份带宽卖好几次
工作在 95 计费下,一个新客户接入后,大盘的 95 可能几乎不涨,这就是错峰客户。它让 CDN 厂商可以把同一份带宽卖给多个客户,也就是超卖。这篇用模拟数据讲清楚错峰和超卖,以及衡量它们的两个指标:单个客户的边际超卖倍数,和整个平台的超售比。
3
指标异动归因:从贡献度公式到 CDN 毛利率的层层下钻
工作整理我学习指标异动归因的过程:加法、乘法、比率三类指标分别怎么算贡献度,为什么比率指标要拆出「结构变化」,以及我在字节火山 CDN 经营分析中,如何用这套方法对毛利率、收入、成本做逐层递归归因,把收入变化拆到客户增减、用量变化和价格变化。
4
我的第一项专利:用「95 区间」把 CDN 带宽成本分得更准
工作白话解读我作为第一发明人的发明专利(中国 CN117061354B、美国 US12375742B2):为什么按 95 峰值时间点分摊 CDN 带宽成本会算不准,以及「95 区间」分摊法是怎么解决的。附专利原文 PDF。
5
一个接口管多家 CDN:多厂商刷新预热的适配层设计
工作我在字节负责火山多云 CDN 和融合 CDN 的多厂商内容管理(刷新、预热)。这篇讲怎么用适配器模式屏蔽厂商差异,怎么在多云层做配额和限频,怎么按每家厂商的限制拆分任务,怎么用 RocketMQ、Redis、MongoDB 实现分布式下发、共享配额、重试和进度汇总,以及后来如何借助 AI 把新厂商接入时间缩短到一两天。
随机文章随机推荐

评论区

Profile Image of the Author
tracerZzz
想当木匠的程序员!
分类
标签
站点统计
文章
19
分类
9
标签
48
总字数
79,096
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
ESA Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录