Dynamic Pricing with Demand Elasticity(动态定价与需求弹性)
Skill-Dynamic-Pricing-Elasticity · 17-价格优化
experimentforecastingoptimizationmulti_agentpricing广告与投放供应链与补货MAS与智能体工程定价与利润WF-A 智能补货WF-B 广告优化WF-F 动态定价WF-G Listing内容优化
收录于AI 定价引擎手册
年化 ROI50 万
实现难度⭐⭐⭐☆☆
业务视角
适用角色定价负责人 / 运营负责人 · 选品负责人 · CEO
适用平台Amazon Buy Box 竞价策略 · 多市场价格协调 · Prime Day / Coupon 折扣优化
什么情况下用竞品突然降价,不知道该不该跟,跟了怕伤利润不跟怕丢 BSR;大促期间不知道折扣给多少,给多了利润没了
成功是什么样的实时监控竞品价格并自动触发调价,毛利率保持在目标区间,BSR 排名和利润同时兼顾
业务痛点
1. 解决的问题
吸奶器在美国定价 $129,德国 €119,英国 £99
2. 核心算法逻辑
价格不是固定数字,而是杠杆——通过估计每个 SKU/市场/时段的需求价格弹性,找到利润最大化的动态定价策略。核心公式:最优价格 $P^ = \frac{\epsilon}{\epsilon+1} \cdot MC$,其中 $\epsilon$ 是需求价格弹性,$MC$ 是边际成本。
3. 业务应用场景
业务问题:吸奶器在美国定价 $129,德国 €119,英国 £99。但美国市场竞品 Momcozy 经常在亚马逊闪电促销降价到 $99,导致我们的转化率周期性波动。需要动态调价策略——竞品降价时跟多少?竞品恢复后涨回去吗?
数据要求: - 各市场 12 个月日销量 + 价格历史 - 竞品价格(Momcozy/Medela/Spectra 等 3-5 个竞品)每日监测 - 各市场价格弹性估计(来自历史 A/B 测试或准实验)
预期产出: - 弹性矩阵:美国 $|\epsilon|=1.5$(高度弹性→不宜轻易涨价)、德国 $|\epsilon|=1.1$(中等)、英国 $|\epsilon|=0.9$(偏非弹性→涨价空间大) - DRL 策略:竞品降价 15% 时,我们跟降 8-12%(而非完全匹配)以平衡利润和份额 - 最优价格区间:美国 $119-135 / 德国 €109-125 / 英国 £95-108
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- ROI 预估:利润率 +8-12%,月 GMV $50 万 → 年化 50-80 万元
- 实施难度:⭐⭐⭐☆☆(3 星)— 需要持续竞品监测 + A/B 验证
- 优先级评分:⭐⭐⭐⭐⭐(5 星)— 定价是电商四大杠杆之首(定价 > 流量 > 转化率 > 复购率)
- 评估依据:价格弹性估计是所有定价决策的基础,新领域 17-价格优化的第一张核心卡片
7. 代码模板
代码块数量:1 · 路径:未检测到
"""
Dynamic Pricing with Demand Elasticity — DRL + Bayesian 弹性估计
"""
import numpy as np
from scipy.optimize import minimize_scalar
from typing import Dict, Tuple
class DemandElasticityEstimator:
"""需求价格弹性估计"""
def __init__(self, prior_elasticity: float = -1.5, prior_std: float = 0.5):
self.elasticity = prior_elasticity
self.std = prior_std
self.n_obs = 0
def update(self, price_change_pct: float, demand_change_pct: float):
"""贝叶斯更新弹性估计"""
if abs(price_change_pct) < 0.001:
return
new_obs = demand_change_pct / price_change_pct
self.n_obs += 1
alpha = 1.0 / (1.0 + self.n_obs)
self.elasticity = (1 - alpha) * self.elasticity + alpha * new_obs
self.std *= 0.95 # 随观测增加不确定性递减
def optimal_price(self, cost: float, current_price: float,
competitor_price: float = None) -> float:
"""计算最优价格"""
eps = abs(self.elasticity)
if eps <= 1.0:
# 非弹性需求 → 涨价
return current_price * 1.05
margin = (eps - 1) / eps
optimal = cost / (1 - margin) if margin > 0 else cost * 2
if competitor_price and competitor_price < optimal:
# 竞品约束:不高于竞品 15% 以上
optimal = min(optimal, competitor_price * 1.15)
# 调价幅度限制
return np.clip(optimal, current_price * 0.8, current_price * 1.2)
class DynamicPricingAgent:
"""简化 DRL 动态定价 Agent"""
def __init__(self, cost: float, elasticity_estimator: DemandElasticityEstimator):
self.cost = cost
self.elasticity = elasticity_estimator
self.price_history = []
self.demand_history = []
def decide_price(self, current_price: float, inventory: int,
demand_forecast: float, competitor_price: float) -> float:
"""
定价决策
Args:
8. 论文来源
未自动抽取;请查看原始 Skill 卡片。