3. 促销影响量化基础:价格弹性、广告弹性、交叉弹性等核心概念与计算方式
在联合优化工程中,促销影响的量化是连接业务动作与预测模型的核心桥梁。本章聚焦于三种最关键的弹性指标:价格弹性、广告弹性与交叉弹性。这些指标不仅用于衡量促销效果,更是层级预测模型中特征工程与参数校准的数学基础。
3.1 弹性系数的通用定义与业务含义
弹性(Elasticity)衡量的是因变量(销量/需求)对自变量(价格/广告投入/竞品价格)变化的敏感程度。其通用公式为:
E = (ΔQ / Q) / (ΔX / X) = (∂Q / ∂X) * (X / Q)
其中:
- Q:需求量或销量
- X:自变量(价格、广告支出、竞品价格等)
- ΔQ / Q:需求量的百分比变化
- ΔX / X:自变量的百分比变化
3.2 价格弹性(Price Elasticity of Demand, PED)
价格弹性是最核心的促销量化指标,反映价格变动1%时销量变动的百分比。在零售与快消行业,价格弹性通常为负值(涨价导致销量下降)。
3.2.1 计算方式
弧弹性(Arc Elasticity):适用于离散价格变动场景(如促销前后对比)。
E_p = [(Q2 - Q1) / ((Q2 + Q1)/2)] / [(P2 - P1) / ((P2 + P1)/2)]
点弹性(Point Elasticity):适用于连续价格变动或回归模型中的系数转换。
E_p = β * (P / Q)
其中 β 为对数线性回归模型 ln(Q) = α + β * ln(P) + ε 中的系数。
3.2.2 业务应用与参考值
| 品类 | 典型价格弹性范围 | 促销策略含义 |
|---|---|---|
| 日用快消品(牛奶、纸巾) | -0.5 ~ -1.2 | 降价促销效果中等,适合薄利多销 |
| 奢侈品/高端电子产品 | -1.5 ~ -3.0 | 价格敏感度高,折扣可大幅拉动销量 |
| 必需品(药品、基础食品) | -0.1 ~ -0.4 | 缺乏弹性,降价对销量拉动有限 |
3.3 广告弹性(Advertising Elasticity of Demand, AED)
广告弹性衡量广告支出变动1%时销量变动的百分比。与价格弹性不同,广告弹性通常为正值,且存在明显的边际递减效应和滞后效应。
3.3.1 计算方式
基础模型(对数线性):
ln(Q_t) = α + γ * ln(A_t) + δ * ln(A_{t-1}) + ε
其中 A_t 为当期广告支出,A_{t-1} 为滞后一期广告支出。短期广告弹性 = γ,长期广告弹性 = γ + δ。
考虑饱和效应的S形曲线模型:
Q_t = Q_max / (1 + e^{-k * (A_t - A_0)})
此时弹性随广告投入水平变化,在拐点处弹性最大。
3.3.2 典型广告弹性参考
| 媒介类型 | 短期弹性 | 长期弹性 | 衰减周期(周) |
|---|---|---|---|
| 电视广告 | 0.05 ~ 0.15 | 0.15 ~ 0.35 | 4 ~ 8 |
| 数字展示广告 | 0.10 ~ 0.25 | 0.20 ~ 0.40 | 1 ~ 3 |
| 搜索广告(SEM) | 0.20 ~ 0.50 | 0.30 ~ 0.60 | 0 ~ 1 |
3.4 交叉弹性(Cross-Price Elasticity of Demand, XED)
交叉弹性衡量产品A的价格变动对产品B的销量的影响。在促销场景中,交叉弹性是评估“蚕食效应”与“连带效应”的关键指标。
3.4.1 计算方式
E_{AB} = (ΔQ_B / Q_B) / (ΔP_A / P_A) = (∂Q_B / ∂P_A) * (P_A / Q_B)
符号含义:
- E_{AB} > 0:产品A与产品B为替代品(如可口可乐与百事可乐),A涨价导致B销量上升。
- E_{AB} < 0:产品A与产品B为互补品(如打印机与墨盒),A涨价导致B销量下降。
- E_{AB} = 0:产品A与产品B相互独立。
3.4.2 层级预测中的交叉弹性矩阵
在联合优化工程中,交叉弹性通常以矩阵形式存储,用于多产品促销组合的利润优化。
| 产品\价格变动 | SKU_A | SKU_B | SKU_C |
|---|---|---|---|
| SKU_A | -1.8(自弹性) | 0.45 | 0.12 |
| SKU_B | 0.38 | -2.1(自弹性) | -0.08 |
| SKU_C | 0.10 | -0.05 | -1.2(自弹性) |
上表解读:SKU_A与SKU_B互为强替代品(交叉弹性0.45/0.38),SKU_B与SKU_C为弱互补品(交叉弹性-0.08/-0.05)。
3.5 弹性计算工程流程
在实际工程中,弹性计算通常遵循以下标准化流程:
- 数据清洗与对齐:处理缺失值、异常促销日、节假日效应。
- 模型选择:根据数据粒度选择对数线性回归、岭回归或贝叶斯结构时间序列模型。
- 弹性估计:使用OLS或MCMC方法估计系数,转换为弹性值。
- 显著性检验:p值 < 0.05 的弹性才纳入模型。
- 稳定性验证:使用滚动窗口验证弹性随时间的变化。
- 业务校准:与品类经理经验值对比,异常值需人工审核。
import statsmodels.api as sm
import numpy as np
# 对数线性回归计算价格弹性
X = sm.add_constant(np.log(df['price']))
y = np.log(df['sales'])
model = sm.OLS(y, X).fit()
beta_price = model.params['price']
mean_price = df['price'].mean()
mean_sales = df['sales'].mean()
price_elasticity = beta_price * (mean_price / mean_sales)
print(f"价格弹性: {price_elasticity:.3f}")
3.6 三种弹性的联合优化关系
在促销影响量化中,三种弹性并非独立存在。下图展示了它们在联合优化工程中的协同关系:
3.7 弹性在层级预测模型中的嵌入方式
在层级预测模型中,弹性不是静态参数,而是作为动态特征或先验分布嵌入:
- 特征工程层:将弹性值作为回归特征,与时间特征、季节特征共同输入预测模型。
- 参数约束层:在结构化模型中,将弹性作为参数的先验均值(如贝叶斯回归中的先验分布)。
- 后处理校准层:预测结果乘以弹性调整因子,实现“促销响应”的实时修正。