盒马补贴量价-2021KDD

概述:

  • 电商商品定价三个关键问题:
    • 在只有观测数据的时候,怎么构建价格弹性,现在来看这就是一个反事实推断的问题,不仅是如何做的问题,还有如何评估的问题。
    • 长周期的规划决策问题怎么建模 & 求解,如何在决策优化中考虑不确定性。
    • 这种pricing的问题,在现实世界中如何做A/B、如何科学评估效果。

本文贡献:

  • 用了一种半参数结构的模型来学习个体的价格弹性,并给出反事实的需求预测,这种模型能够同时具有非参数机器学习模型的预测能力和经济学模型的可解释性。
  • 提出了一种多阶段的动态定价算法来最大化有保质期商品整个销售周期内的销售利润,与采用确定性需求的传统做法不一样的是,本文的模型中考虑了反事实销量预测的不确定性,采用了连续的定价策略,并且设计了一种两阶段的算法求解。

问题及方案概述:

  • 采取促销时,使得利润最优的价格折扣应该是多少?(关于价格弹性曲线拟合以及价格优化)
    • 易腐商品多个阶段的动态定价问题。这个问题中需求学习的主要挑战在大部分商品的价格并不会经常变动,甚至从未变动过。
  • 上述问题被定义为反事实推断,其中商品价格就是处理/干预,最后的销量是被干预的结果,我们关注由于施加处理,对于最后结果改变的差值。
  • 通过观测数据进行价格需求曲线的学习。
    • 零售商可以用价格实验来进行需求的学习,但是随机试验十分浪费,同时有价格歧视的风险。所以需要通过观测数据来学习。
  • 由于历史数据的限制,我们很难用单个商品的数据学习到它自己的价格需求曲线,所以利用多个商品一起进行价格弹性的学习是一个相对可行的方案。
  • 在学习需求函数时候,可以用机器学习模型来进行预测,通常将价格作为特征之一,销量作为label,然后通过最小化事实误差(观测到结果和预测结果的误差)来拟合模型。
  • 然而一个很小的事实误差并不意味着一个很小的反事实误差,价格的重要性很可能被其他特征掩盖。
  • 除此之外,大部分的机器学习模型都十分复杂,是一个黑盒,所以很难得到价格和需求的关系,也就是缺乏解释性。
  • 为了解决这些问题,我们提出一种数据驱动的半参数模型,结合了机器学习模型和经济学模型,其中机器学习模型用来作为基线需求的预测,经济学模型来解释价格和需求的关系,为了学习每个商品的价格,采用了多任务学习的方式,基于这个框架,模型学习到的价格弹性和反事实预测都更为稳健。
  • 价格优化的目的是利用反事实的预测结果来选择最优的折扣,最大化整体利润。
  • 零售商在一个区域有很多的门店,为了避免价格歧视,一个区域内的商品需要采用相同的价格折扣,因此,我们需要把区域内所有门店都考虑在内。
  • 除此之外,因为需求和库存都会随着商品的不同生命阶段而改变,所以需要的是一个动态定价策略。
  • 因为反事实的预测无法避免的会有随机的误差,为了增强算法的鲁棒性,所以我们对模型的不确定性进行进行建模,我们将商品的生命周期化为多个阶段,然后最优化整体的利润,用MDP来建模这个多阶段价格联合优化的问题,同时提出了一个两阶段求解的高效算法。
  • 在离线实验和在线AB中,都有显著的提升。

问题公式化:

反事实预测(Counterfactual Prediction):

(不稳固性假设)

  • 因为历史上一个商品很少有多种折扣的数据,所以我们无法拟合单个商品的价格需求函数,为了解决这个问题,我们使用数据聚合的方式,我们把所有商品用类目信息进行聚合,然后联合学习多个商品的价格弹性。
  • 对于并没有实际发生的假设场景,通过未发生的条件来推理可能的结果,就是反事实推理的问题。

价格弹性:

  • 需求价格弹性(Price elasticity of demand),在经济学中一般用来衡量需求的数量随商品价格的变动而变化的弹性。 
  • 通常来说,因为財貨价格的下跌会导致需求量的增加,反之商品价格的上升会减少需求量;所以一般情况下价格与需求量成反比,需求的价格弹性系数为负数。

论文实验:

  • 为了降低成本和刺激消费,Freshippo将对销售业绩不令人满意的产品给予折扣。它将在降价渠道中销售,如果客户的总购买量达到一定数量,他们可以通过折扣购买商品。我们的目标是帮助Freshippo的零售商决定产品的最优折扣价格,以实现整体利润的最大化。
  • 离线实验:
    • 要在业务约束条件下优化价格,第一步和关键步骤是学习第4节所述的价格需求曲线。我们使用Freshippo的离线交易数据来训练和评估所提出的半参数结构需求模型。我们在markdown频道上收集了6个月来中国10个不同城市100多家生鲜店的观察数据。总共约有11000多个SKU(为了保护隐私,我们省略了确切的数量)。补充材料提供了特征提取的详细信息。
    • 特征抽取:首先提取产品和商店的特征。原始特征包括品牌、sku、部门、类别、周末、假日信息、销售渠道、促销活动、页面浏览量、用户浏览量、历史折扣和历史销售等。其次,使用数据聚合过程创建新特征。具体而言,我们按不同时间段(如按周和假日)汇总销量,并按不同维度(如品牌、类别、商店、sku、销售渠道)汇总销量。第三,我们通过使用平均值或最近邻匹配来估算缺失的数据。也可以应用其他方法,如EM算法、插值和矩阵完成等。最后,对稀疏特征进行one-hot表示,如一级、二级和三级类别。
    • 部分技巧:
      • 标准化因子按定义是产品的平均销量。然而,这个数量可能不是很稳定。在实践中,产品所属的二级或三级类别的平均销量可以用作标准化因子。
      • 除法运算对小值敏感。最好在进行除法运算之前对分母加1。
    • 学习模式。使用提取的特征,我们使用XGBoost作为基础销售预测模型。当有足够的数据样本用于训练时,也建议使用深度神经网络。使用预测的基础折扣和销售作为输入,我们通过递归最小二乘算法求解目标,并计算价格弹性𝜽 以递归方式更新。在Freshippo场景中,一旦收集到新的交易数据并自动提取特征,价格弹性就会每天更新。
    • 评估指标。为了评估半参数模型的预测能力,我们使用当天的实际折扣预测降价渠道中那天的销量。结果以相对平均绝对误差(RMAE)测量。
    • 参数设置。为了调整模型超参数,我们根据时间将数据分为训练、验证和测试数据:前65%用于训练,后15%用于验证,最后20%用于测试。对于价格弹性模型,我们根据经验设置了遗忘因子𝜏 = 0.95,正则化参数𝜆 = 0.5。
    • 比较算法。我们将所提出的模型与经典的提升树模型和深度模型进行了比较。
      • XGBoost。这种强大的提升树模型已在许多工业应用中得到应用。对于反事实预测任务,我们将折扣变量作为其输入特征之一,并通过在其他特征固定的情况下改变折扣来预测结果。为了公平起见,其超参数设置与我们的基础销售预测模型相同。
      • 深度IV。该方法使用深度模型来表征在存在控制变量的情况下不同控制操作和结果之间的关系。我们使用三级类别的平均价格作为控制变量,并使用高斯分布进行连续处理。
    • 结果:
      • 我们首先用不同比例的训练数据评估了每个算法的预测误差。如图6所示,深度模型在训练数据较少的情况下性能较差。树模型对数据大小相对不敏感,但即使有更多可用数据,其性能也很差。我们提出的半参数模型实现了最佳的RMAE性能,其方差随着训练数据数量的增加而减小。
      • 为了进一步说明所提出模型的可解释性,我们在图7中绘制了随机商店中随机选择的SKU的四条价格销售曲线。树模型学习的曲线具有不可预测的抖动,其结果在大范围的折扣(0.5-0.6,0.8-1.0)内保持不变。deepIV学习的曲线几乎是一条线,这表明销售额与价格无关。树模型和深度模型都不能正确地揭示价格-销售关系,推断结果不可信。然而,我们的半参数模型更加平滑,揭示了价格和销售额之间的单调关系。收盘价之间的差异很小,这与直觉一致。

在线A/B实验:

  • 我们评估了在线生鲜零售Freshippo中的降价方法,如图1所示。传统上,Freshippo的零售商采用人工定价策略,选择经验折扣,例如30%折扣或50%折扣。虽然人工定价策略很简单,但它是多年运营经验的结晶,在大多数情况下都有效。
  • 降价所需的目标产品由Freshippo的库存控制系统提供。新的运营人员给出了目标销售额和最低-最高价格限制。一旦收到降价信号,Freshippo的智能营销系统将调用我们的定价算法,以提供最佳折扣。我们的算法已应用于北京、上海、杭州和深州四个地区的生鲜店。
  • 为了公平比较,我们设计了在线A/B测试。需要打折的产品被随机分配给操作的手动方法和我们的降价方法。
  • 评估指标。为了评估所提出算法的性能,我们使用目标完成率(TCR)作为度量,定义为
  • #SALES_i,nor 表示常规渠道的销量;#SALES_i,md 表示降价渠道的销量。目标完成率评估了降价的影响。
  • 此外,我们还评估了正常渠道和降价渠道之间的商品交易总额(GMV)比率,即
  • 该指标评估了降价后的GMV改进。
  • A/B测试大约进行2个月。如表1所示,降价前运营组的目标完成率约为34.25%,降价后该数字达到80.93%。而我们团队的目标完成率在降价前约为38.92%,降价后达到92.12%。这表明我们的方法比maunal方法能够更好地实现售完目标。此外,我们定价算法的GMV改进比maunal方法的GMV提高约17.14%。这一结果表明,我们的方法可以帮助零售商获得更高的GMV/利润。
  • 总之,我们的定价算法很容易解释,因为它具有可解释的价格-销售曲线,并且它是智能的,因为它可以在考虑到复杂的业务约束(如库存约束)的情况下自动提供高利润的最优价格。

结论:

  • 在本文中,我们提出了一种新的电子商务生鲜零售降价定价框架,包括反事实预测和多时段价格优化。
  • 首先,我们提出了一个数据驱动的半参数结构需求模型,该模型具有可预测性和可解释性。
  • 所提出的需求模型揭示了价格和销售之间的关系,可用于预测不同价格的反实际需求。
  • 所提出的反事实模型具有较低的模型复杂性和清晰的因果结构,因此它比传统的ML和深度模型更易于解释。
  • 其次,我们考虑了需求的不确定性,提出了一个多周期环境下易逝品的动态定价策略。
  • 提出了一种求解MDP问题的有效的两阶段算法。它将时间复杂度从指数降低到多项式。
  • 最后,我们将我们的框架应用于现实世界的电子商务生鲜零售。离线实验和在线A/B测试都表明了我们方法的有效性。

参考资料:

阿里盒马生鲜的折扣定价问题论文解读:https://www.arvinzyy.cn/2021/06/06/Markdowns-in-E-Commerce-Fresh-Retail-A-Counterfactual-Prediction-and-Multi-Period-Optimization-Approach/

https://blog.csdn.net/sinat_26917383/article/details/122242463  

https://zhuanlan.zhihu.com/p/423723243

http://xtf615.com/2021/10/07/kdd21/

反事实推断:https://blog.csdn.net/a358463121/article/details/114824992    

https://zhuanlan.zhihu.com/p/120909701

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/216146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始学UniApp微信小程序开发:头部适配技巧让你事半功倍!

在 UniApp 中,在微信小程序开发中,头部适配可以通过修改 pages.json 中的 navigationStyle 配置项来实现,具体操作步骤如下: 1.进入 pages.json 文件 在 UniApp 项目的根目录中找到 pages.json 文件,打开该文件。 2…

Win11专业版,eNSP启动失败,错误代码40 解决方法

微软Win11系统默认开启的 Virtualization-based Security (VBS)“基于虚拟化的安全性”会导致游戏、跑分性能下降。VBS 基于虚拟化的安全性,通常称为内核隔离。使用硬件虚拟化在内存中创建安全区域,为其他安全功能提供了一个安全平…

Appilied energy论文复现:含多类型充电桩的电动汽车充电站优化配置方法程序代码!

本程序参考Applied energy论文《Optimal planning of electric vehicle charging stations comprising multi-types of charging facilities》,文中主要对多类型充电桩的电动汽车充电站进行优化配置,程序较为简单和基础,具有较强的可扩展性和…

adb命令学习记录

1、 adb ( android debug bridge)安卓调试桥,用于完成电脑和手机之间的通信控制。 xcode来完成对于ios设备的操控,前提是有个mac电脑。 安卓系统是基于linux内核来进行开发的。 2、adb的安装: 本身 adb是 android SDK 其中自带的工具,用于完…

排坑指南之STM32串口接收队列定时异常导致接收失败

背景: 公司的项目,今天讲的这部分功能主要是和IC卡读取板进行串口通讯,然后将读取回来的IC卡保存在本地。我在调试的过程中发现了一个问题,上电刚开始的阶段,程序是好用的,能读取回来IC卡卡号,然后运行一段时间之后,就读取不回来卡号了,刷卡没有响应。 摘要: 讲述STM…

C语言--每日练习题--Day38

第一题 1. 下列代码的运行结果() short i 65537; int j i 1; printf("i%d,j%d\n", i, j); A:i 65537,j 65538 B:i 1,j 2 C:i -1,j 0 D:i 1&#xff…

【基础知识】大数据概述

关键词—分布式 化整为零,再化零为整 大数据的定义 传统数据库处理起来困难的数据集。 发展历程 中国开源生态图谱2023 参考内容 中国开源生态图谱 2023.pdf 技术组件说明 数据集成 sqoop、dataX、flume 数据存储 hdfs、kafka 数据处理 mapreduce、hive…

C++学习笔记(十一)------has_a和use_a关系

文章目录 前言 一、has_a关系 1.1 has_a概念 1.2 has_a中构造和析构的顺序 1.3 has_a对象的内存情况 二、use_a关系(友元关系) 1.友元函数: 2.友元类 3 使用多文件编程的方式重新编辑上述代码 总结 前言 随着技术的革新,出现各种各…

通俗易懂,什么是.NET Core以及.NET Core能做什么

我们都知道.NET Core是一个可以用来构建现代、可伸缩和高性能的跨平台软件应用程序的通用开发框架。可用于为Windows、Linux和MacOS构建软件应用程序。与其他软件框架不同,.NET Core是最通用的框架,可用于构建各种软件,包括Web应用程序、移动…

搭建商城系统的构架如何选择?

近期有很多网友在csdn、gitee、知乎的评论区留言,搭建商城系统是选择单体架构还是微服务架构,这里先说结论,如果是纯电商的话,商城系统的架构建议选择单体架构。我们分析下微服务和单体架构的优劣势,就知道了。 一、什…

网易有道强力开源中英双语语音克隆

项目地址(基于PromptTTS): https://github.com/netease-youdao/EmotiVoice EmotiVoice Docker镜像 尝试EmotiVoice最简单的方法是运行docker镜像。你需要一台带有NVidia GPU的机器。先按照Linux和Windows WSL2平台的说明安装NVidia容器工具…

ECCV 2024 European Conference on Computer Vision

目录 DatesPeople 官网: https://eccv2024.ecva.net/ 链接 Dates Thursday, February 29, 2024 authors Abstract registration deadlineThursday, March 7, 2024 authors Submission deadlineThursday, March 14, 2024 authors Supplementary materials deadlineM…

17.(vue3.x+vite)组件间通信方式之作用域插槽

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 作用域插槽 父组件中的插槽内容是无法访问到子组件中的数据的,而作用域插槽就是解决获取子组件数据。 父组件代码 <template><div><div>父组件--Hello World!</div><Child>

扁平疣的影响?劲松中西医结合医院结合临床经验分析

提到扁平疣&#xff0c;相信都不陌生&#xff0c;要知道它通常不会引起严重的危害&#xff0c;但仍然会给人们带来一些不适和困扰。除了影响美观之外&#xff0c;扁平疣当然还存在其他一些负面影响。为了让更多人知道扁平疣对健康的影响&#xff0c;今日特邀劲松中西医结合医院…

【JavaWeb学习笔记】8 - HTTP

一、常用文档 请求头 响应头 中间件获取的网页协议和返回的内容 这些称为HTTP协议 请求和响应 常见的请求头 响应头 状态码 HTTP状态码 当浏览者访问一个网页时&#xff0c;浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前&#xff0c;此网页所在的服务…

【GIS】1.什么是空间分析?

新坑&#xff01;&#xff01;&#xff01; 本系列文章主要参考CHICAGO大学的空间数据科学中心的相关课程(&#xffe3;∇&#xffe3;)/感谢分享&#xff5e; 什么是空间分析 空间分析不仅仅是指做一个地图这么简单&#xff0c;而是为这些位置空间添加实际的值&#xff0c;并…

L类型网络

案例背景 宿舍只提供WIFI上网,网页拨号认证,但是我有其他设备需要上网,只有一个有线网络,这就难办了 路由器,笔记本电脑,其他设备(手机), 路由器在此用于网络有线转无线的功能, 笔记本电脑在此用于,网络认证和网络代理的功能 电脑连上WIFI, 设置 最后,进行手机上操作,连上…

npm install 时,卡在sill idealTree buildDeps没有反应

这个的主要原因是默认的镜像源在国外&#xff0c;国内无法访问或者访问极慢导致的&#xff0c;可以先切换到国内的淘宝镜像源&#xff0c;然后再执行npm install <包名称> 命令就可以了。 具体如下&#xff1a; 1、设置镜像源为国内淘宝的镜像源&#xff1a; npm confi…

docker学习(八、mysql8.2主从复制遇到的问题)

在我配置主从复制的时候&#xff0c;遇到了一直connecting的问题。 起初可能是我ip配置的不对&#xff0c;slave_io_running一直connecting。&#xff08;我的环境&#xff1a;windows中安装了wsl&#xff0c;是ubuntu环境的&#xff0c;在wsl中装了miniconda&#xff0c;mini…

Vue指令之v-show与v-if

在Vue中&#xff0c;v-show和v-if是两个功能非常相近的Vue指令&#xff0c;当其值为1的时候&#xff0c;所在容器就会显示&#xff0c;否则不会显示。 定义一个style box&#xff0c;设置其长、宽、间距宽度、边缘线、文本对齐方式、边缘线圆角、阴影和行间距如下&#xff0c;…