魏旭冉 孙雨桐 宗思妤
首都师范大学附属育新学校 北京市 100096
摘要:本文通过搜集天猫(淘宝)商城各种层级的优惠政策以及相关资料,分析网购下单时优惠政策的搭配问题,提出较大订单的最优下单方案。通过Excel表格算出单品优惠价,代入Python编程,搭配优惠政策并计算出最低总价,并用一个实际订单验证所编写的程序,得到一种使该订单下单价格最低的方案。本文给出了一个可以搭配最优下单方案并计算出该方案下订单总价的Python程序。
关键词:数学建模;Python;较大订单;购物;优惠;最优方案
1问题提出
当今社会,网上购物成为人们最主要的购物方式之一,人们对于网上消费的折扣优惠的关注度日益提高,因此商家也会根据人们的需求在一些固定日期进行促销以获得最大利润。
然后在实际购物下单时,单品的品类优惠与该单品参与的跨店优惠往往不能叠加,不同的优惠使用限制条件也不尽相同,特别在需要订购较大金额商品时,需要根据实际情况进行组合使优惠力度达到最大,而这往往需要耗费消费者较多时间精力进行计算。
本文根据淘宝(天猫)不同层级的优惠政策,运用Python进行了相应的程序设计,得出较大订单的最优下单方案。
2问题分析
购物优惠计算方式分为递进式门槛计算与平行式门槛计算两种,如图1所示。双十一等购物狂欢节购物平台会采用平行式门槛计算,而平日里天猫购物平台通常在单品级优惠(单品级优惠:针对于单个商品的打折、减价、促销价。如第二件半价、特价9.9、七折优惠等等。)后以优惠价格采用选择式门槛计算,即通常平台会默认在店铺优惠、品类优惠、跨店优惠中选择最为优惠的一种:
(1)店铺级优惠:店铺发放的所有针对同一店铺商品的满减满折优惠
(2)品类级优惠:平台发放的所有针对同一类商品的满减满折优惠
(3)跨店级优惠:平台发放的所有针对同一笔订单商品的满减满折优惠
另外:淘金币和红包在优惠级层级结构之外,优惠后价格用淘金币和红包可再加抵扣。
图1 递进式门槛计算与平行式门槛计算的比较[1]
3模型假设
(1)省略店铺级优惠
店铺级优惠、品类级优惠会把商品以不同的方式划分并累计计算,将两者叠加计算会加大建模难度,且通常店铺优惠力度较小于品类优惠,故省略店铺级优惠。
(2)认为优惠方式主要为单品优惠、品类优惠、跨店铺优惠和淘金币及红包优惠,且优惠计算方式为选择式
四种优惠方式虽然有所重叠,我们认为先进行单品优惠,再从品类优惠和跨店优惠中选择最高优惠,最后进行淘金币优惠和立减红包抵扣
(3)忽略部分店铺不支持淘金币和红包抵扣,且所有商品都可被淘金币抵扣10%,并认为所有客户都有足够淘金币进行抵扣
部分店铺存在不允许淘金币和红包抵扣的现象,但经调查绝大多数支持,则默认为全部店铺均可以使用淘金币和红包抵扣方式
(4)认为购买用户有充足时间参与限时活动(包括限时优惠券、限时红包、限时打折等),且一定获得20元立减红包。
优惠券、红包等基本存在限时抢券或限时使用规则,但为了利益最大化,在这里认为用户能在规定时间内成功参加。
(5)认为所有商品总原价≥400
商品总价不超过400元时无法实现跨店优惠,直接下单即可享店铺优惠。故只讨论商品总价超过400元的情况。
4模型建立
4.1数据收集
以2019年,天猫优惠政策为例
品类级的优惠政策见表1。
跨店级:购物津贴每满400减50
20元的立减红包、10%淘金币每一笔订单结算时自动抵扣
表1 2019年天猫优惠政策(品类级)
4.2模型流程图
图2 模型构建流程图
4.3模型建立思路
(1)用excel表格计算出目标订单所含单品的单品优惠价格。
(2)Python编程:通过建立Python程序计算所有下单方案,并从所有下单方案中筛选出总价最低的下单方案。
表2 所有下单方案思路
其中代表该单品可参与该优惠政策,0代表该单品不可参与该优惠政策;m代表商品个数,n代表优惠政策种数,共有nm个方案
(3)用excel表格计算出最终下单价。
5模型计算与结果
5.1单品优惠
把数据输入excel表格后插入函数,通过单品原价*单品折扣*单品个数计算出每个单品的折后价,以及折后总计价格,如图3a、b所示。
图3 计算单品优惠价格
5.2 品类/跨店优惠
在单品优惠的基础上选择跨店和品类优惠中其一。由于全部商品全部参与跨店优惠或品类优惠有时并不是最为优惠的价格,故可以采用部分参加跨店优惠、部分参加不同的品类优惠的下单方式。利用Python程序计算并比较每一种下单方式最终得到的优惠价格,得出最优惠的一种方案及价格。
(1)设n为优惠种类,m为单品数量,每一个单品都可选择参与n中的一种,共有nm种可能,可通过不同的进制表达列出全部的nm种可能。
图4 输入程序的内容
(2)商品和品类输入部分是顾客获得攻略时唯一需要编写的部分,n为优惠种类,共跨店优惠、图书食品日用品类优惠(品类优惠1)、美妆服饰类优惠(品类优惠2)、其他类优惠(品类优惠3)4种。m为单品数量,由顾客根据自己的购物车填写,图中以4件商品为例。A表示m件商品分别是否能参与4种优惠,1为能参与,0为不能参与,区间个数为m,区间内元素个数为优惠种类n。(以图中为例,第一个商品可以参与跨店优惠,不可以参与图书食品日用品类优惠、美妆服饰类优惠、可以参与其他类优惠)P为价格矩阵,区间内元素个数为单品数量m,数字分别是每一件单品的价格。
(3)优惠函数部分是四种优惠方式得到优惠价的过程。其中跨店满减为每满400减50,随价格增加可重复多次(如总价为800时可减100),而品类优惠满减至重复一次(如满300-30时,总价600可减30),故跨店满减用Python内置int函数取整,而品类优惠利用if分支结构。
(4)利用Python内置for循环结构,可将nm种可能中的每一种按照③中计算方式得到最终优惠价,并与上一种可能得到的优惠价进行比较,若大于上一种价格则忽略,程序继续向下进行;若小于上一种价格则替换为该价格。
(5)最终可得到最优惠的方案及价格。
图5 程序主要运行过程
5.3 结算
最后用excel表格通过订单优惠总价*90%-20计算出经过淘金币抵扣、红包立减的最终付款价格。
图6 最终下单价格
6模型验证
首先找到一个急需下单的较大订单,如图7所示:
图7 较大订单数据
将上述数据输入Python程序的(2)部分,如图8所示:
图8 较大订单的输入数据
运行的结果如图9所示:
图9 较大订单的运行结果
程序正常运行的结果可见,最为优惠的方案为前11件参与跨店优惠、第12件参与其他类优惠,并且总价为6618.4元。
7讨论
本研究针对天猫(淘宝)较大订单购物进行了最优选择方案的探究,编写了一个Python程序作为成果。该程序可根据输入的优惠政策和单品价格,给出优惠力度最大的下单方案并计算出总价,利用该程序为人们的日常购物方案提供便利。同时,本研究也存在一定的不足。比如没有考虑不同店铺的单品不能合计享受优惠的规则,另外没有考虑部分商品优惠可以叠加的政策,这些问题需要在今后的研究中进一步讨论与研究。
参考文献
[1] 2019年天猫双11购物津贴叠加优惠规则(双十一节网)