【促销定价】背后的算法技术 1 - 业务问题拆解

2024-01-09 22:04

本文主要是介绍【促销定价】背后的算法技术 1 - 业务问题拆解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【促销定价】背后的算法技术 1 - 业务问题拆解

    • 01 业务背景
    • 02 关键挑战
    • 03 问题拆解
    • 04 核心结论
          • 参考文献

本文为转载,大佬的文章写的真好,给大佬推广推广,欢迎大家关注。
如侵删。

导读:在日常生活中,我们经常会遇见线上/线下商家推出各类打折、满减、赠品、新人价、优惠券、捆绑销售等促销活动。一次成功的促销对于消费者和商家来说是双赢的。一方面,促销活动能让消费者买到低价的商品;另一方面,促销活动也能为商家带来可观的利润。因此,对于商家来说,如何科学合理地制定促销策略是必须仔细思考的问题。


作者1:张哲铭,算法专家,某互联网大厂
作者2:向杜兵,算法专家,某制造业龙头


大家好!我们是IndustryOR团队,致力于分享业界落地的OR+AI技术。欢迎关注微信公众号/知乎【运筹匠心】 。本期我们来谈一谈《促销定价背后的算法技术》。促销活动五花八门、玩法多变,但其底层的核心商业逻辑是“价格”。因此,本期案例将选择某零售商超“促销定价”场景,共分5篇文章依次讲解:(1)业务问题拆解;(2)数据预处理生成;(3)数据挖掘分析;(4)模型算法实现-价格弹性模型;(5)模型算法实现-运筹决策模型。

本篇文章讲解(1)业务问题拆解

共分为4个部分,依次为:
01 业务背景
02 关键挑战
03 问题拆解
04 核心结论


01 业务背景

在新冠疫情、俄乌战争、巴以战争、大国博弈等时代大背景下,全球经济目前正处于下行周期,消费降级趋势已经形成,各行各业都在积极转型变革,以应对时代的挑战,寻找新的增长点。

以零售行业为例,过去几年涌现了不少新业态。如:线上渠道,直播带货、内容电商、社区团购等模式高速发展;线下渠道,折扣店、临期食品店、工厂店等门店遍地开花。不难发现,为了顺应消费降级的大趋势,“低价促销”已逐步成为现阶段零售行业的共识和最重要的竞争要素。


02 关键挑战

“低价促销”是一种可以让消费者和商家同时受益的经营手段,消费者用“低价”买到了心仪的商品,商家通过“促销”实现了利润的增长。但实现双赢的前提是要保证“促销定价”的合理性,即对每个商品均制定出最合适的价格。否则,就变成了“高价降销”或者“赔本赚吆喝”。那么,商家在“促销定价”时会遇到哪些挑战呢?

抛开活动策划、促销手段、促销时间、促销时长、促销渠道、推广方式、引流策略、售后支持等业务动作不谈。我们单从“定价”的角度上看,挑战可归纳为以下4点:

  • 不清楚选哪些商品进行促销? 选高销品利润薄可能亏本;选积压品可能不受欢迎卖不出去。

  • 不清楚促销商品定什么价格? 价格定低可能会亏本;价格定高可能会滞销。

  • **不清楚定价后商品销量会如何变化?**有些商品降价后,销量可能会大增;有些商品涨价后,销量可能不变。

  • 不清楚促销能带来多大的利润? 销量大增,利润可能减少;销量减少,利润可能增加。


03 问题拆解

站在业务的角度上考虑,商家的核心诉求可总结为一句话:在“促销”中,如何“定价”才能保证合理的利润?

要想回答这个问题,就必须知道价格和利润的关系,即定什么价格能得到什么利润。我们都知道:商品利润 = (商品售价 - 商品成本价) 商品销量* 。(注意:这里的利润指商品毛利,未考虑仓储/运营/税收等成本。)

观察上述公式,商品利润是最终的结果,商品售价是待“定价”的变量,商品成本价是已知的常量,商品销量是一个未知的变量。我们只要知道商品销量的取值,就可以知道定什么价格下能得到什么利润了

那么,商品销量这个变量该如何被量化呢? 我们都知道商品价格是影响商品销量的重要因素。从整体上看,商品的价格和商品的销量大概率呈现负相关,即价格越高,销量越低。但这并不意味着这种相关性在商品的某个局部价格区间下同样成立。

举个例子说明:泰国猫山王榴莲的是一种比较昂贵的进口水果,市场价大概90-110元/斤。如果商家打折出售1元/斤,肯定1秒就会被抢光;如果商家定价9999元/斤,估计大概率无人购买,当然土豪除外。但这一现象一定能推测出商家定价95元时肯定会比定价105元时销量高吗?显然不一定。也许这两种价格下的销量并没有太大的差别,因为能消费的起泰国猫山王榴莲的客户对10元以内价格波动的感知是微弱的。但如果10元的价格波动发生在鸡蛋上,销量可能会天差地别。

由此,我们可以得出一个重要的结论:对于不同的商品来说,在一定的价格区间内,相同幅度的价格波动所带来的销量波动的幅度可能是不同的

这也就意味着,我们如果能找到每种商品的合适的价格区间,并量化出区间内价格与销量的关系,就能预估出每种商品的在不同价格下的大致销量,进而估算出大致的利润,这种定价方式叫做精细化定价。通过这种方式,我们可以精细化地制定出每种商品合适的价格,在保证消费者享受部分商品折扣的同时,实现商家利润的合理最大化。(还有一种更精细化的定价方式叫做差异化定价,侧重于考虑到不同客户群体的消费偏好和消费能力,大家有兴趣可以了解一下。)

接下来,我们用简单的数学语言描述一下该问题:

上述公式中,表示商家售卖商品集合;表示商品的成本价;表示商品的售价;表示商品的销量;表示商品销量与商品售价之间的量化函数;和分别商品合适的价格区间的左右边界价格。式表示商家利润最大化,即所有种类商品利润加和最大化;式表示每种商品的销量与售价之间的关系;式表示每种商品的价格均要在合适的区间。


04 核心结论

经过以上拆解,我们明确促销定价的3个主要任务:

  • 量化出商品价格与销量的关系。即确定的具体形式。

  • 找到每种商品合适的价格区间。即确定和的取值。

  • 选择出能使总利润最大化的不同商品的最佳价格。即求解出能使最大化的。


至此,我们完成了本系列第1篇(共5篇)的文章分享:(1)业务问题拆解;(2)数据预处理生成;(3)数据挖掘分析;(4)模型算法实现-价格弹性模型;(5)模型算法实现-运筹决策模型。

本篇:我们把一个实际的促销定价问题拆解成了一系列的数学问题。下篇:我们将选取一份公开数据集,向大家介绍如何将原始数据加工成可分析求解的数据。敬请期待~~~

请大家多多点赞、评论、转发、关注!大家的支持是我们持续创作的动力。我们是**【运筹匠心】** ,咱们下期见~~~

注:转发至朋友圈获10个点赞,将“截图发至后台”并回复“促销定价1-集赞完成”,可自动获取本案例数据集地址连接哈~~~


参考文献
  1. Hua J, Yan L, Xu H,et al. Markdowns in E-Commerce Fresh Retail: A Counterfactual Prediction and Multi-Period Optimization Approach[J]. arxiv, 2021.(https://arxiv.org/pdf/2105.08313.pdf)

  2. Kui Zhao, Junhao Hua, Ling Yan, et al. A Unified Framework for Marketing Budget Allocation[J]. arxiv, 20.(https://arxiv.org/pdf/1902.01128.pdf)

  3. 用相关系数进行Kmeans聚类,利用利润率、打折率、销售额、毛利润得到商品价格弹性标签,建立价格折扣力度模型(https://blog.csdn.net/weixin_45934622/article/details/114382037)

  4. 2019全国大学生数学建模竞赛讲评:“薄利多销”分析(https://dxs.moe.gov.cn/zx/a/hd_sxjm_sxjmstjp_2019sxjmstjp/210604/1699445.shtml)

  5. 策略算法工程师之路-基于线性规划的简单价格优化模型(https://zhuanlan.zhihu.com/p/145192690)

这篇关于【促销定价】背后的算法技术 1 - 业务问题拆解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/588581

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

升级至三频BE12000! 华硕ROG魔盒Pro路由器首发拆解评测

《升级至三频BE12000!华硕ROG魔盒Pro路由器首发拆解评测》华硕前两天推出新一代电竞无线路由器——ROG魔盒Pro(StrixGR7Pro),该产品在无线规格、硬件配置及功能设计上实现全... 作为路由器行业的T1梯队厂商,华硕近期发布了新旗舰华硕ROG魔盒Pro,除了保留DIY属性以外,高达120