一种优惠券发放方法及相关装置
文献发布时间:2023-06-19 11:35:49
技术领域
本申请涉及计算机应用技术领域,更具体地说,涉及一种优惠券发放方法及相关装置。
背景技术
随着租赁业务的不断发展,线上租赁业务以其便捷的特点成为主流的业务种类之一。
目前针对线上租赁业务的优惠券发放方法大多为针对大量用户同一发放相同折扣力度的优惠券,这样的优惠券发放方法缺乏针对性和个性化,难以达到租赁公司提高用户对于租赁业务使用积极性的目的。
发明内容
为解决上述技术问题,本申请提供了一种优惠券租赁方法及相关装置,以实现提供一种个性化的优惠券发放方法的目的。
为实现上述技术目的,本申请实施例提供了如下技术方案:
一种优惠券发放方法,包括:
获取多个用户的历史出行订单;
根据所述用户的历史出行订单对各所述用户进行分组,以将各所述用户划分到多个用户组中;
初始化各所述用户组的效用表,所述效用表中存储有对各所述用户组中的用户采取预设动作的效用值,所述效用值表征对所述用户采取预设动作后获得的综合奖赏,所述预设动作包括优惠券升档、优惠券降档和维持原优惠券档位中的一种;
基于各所述用户组的效用表,计算采取不同的预设动作获得的效用值,将采取不同的预设动作获得的最大效用值对应的预设动作作为所述用户组的优惠券发放动作。
可选的,所述根据所述用户的历史出行订单对各所述用户进行分组,以将各所述用户划分到多个用户组中包括:
根据所述用户的历史出行订单,计算用户的优惠券敏感度;
根据所述用户的历史出行订单,基于预先训练的预测模型,计算用户的单均金额预测值;
根据各所述用户的优惠券敏感度和单均金额预测值,将优惠券敏感度和单均金额预测值相近的用户划分到同一用户组中。
可选的,所述根据所述用户的历史出行订单,计算用户的优惠券敏感度包括:
根据所述用户的历史出行订单,按预设周期统计所述用户在预设周期内的优惠券抵扣后的实付金额总和以及优惠券抵扣前的应付金额总和;
将用户在预设周期内的优惠券抵扣后的实付金额总和与优惠券抵扣前的应付金额总和的比值,作为所述用户的优惠券敏感度。
可选的,所述初始化各所述用户组的效用表包括:
采用贪心策略对各所述用户组在采取不同所述预设动作后获得的效用值进行探索,以获得各所述用户组的效用表。
可选的,所述基于各所述用户组的效用表,计算采取不同的预设动作获得的效用值包括:
确定学习率和折扣因子的取值;
计算采取不同的预设动作获得的奖赏值;
基于各所述用户组的效用表,确定对各所述用户组在当前状态下采取不同的预设动作可获得的最大效用值;
基于第一预设公式、对各所述用户组在当前状态下采取不同的预设动作可获得的最大效用值以及采取不同的预设动作获得的奖赏值,计算对各所述用户组在当前状态下采取不同的预设动作获得的效用值;
所述第一预设公式包括:
一种优惠券发放系统,包括:
数据获取模块,用于获取多个用户的历史出行订单;
用户分组模块,用于根据所述用户的历史出行订单对各所述用户进行分组,以将各所述用户划分到多个用户组中;
初始化模块,用于初始化各所述用户组的效用表,所述效用表中存储有对各所述用户组中的用户采取预设动作的效用值,所述效用值表征对所述用户采取预设动作后获得的综合奖赏,所述预设动作包括优惠券升档、优惠券降档和维持原优惠券档位中的一种;
策略确定模块,用于基于各所述用户组的效用表,计算采取不同的预设动作获得的效用值,将采取不同的预设动作获得的最大效用值对应的预设动作作为所述用户组的优惠券发放动作。
可选的,所述用户分组模块包括:
敏感度计算单元,用于根据所述用户的历史出行订单,计算用户的优惠券敏感度;
单均金额预测单元,用于根据所述用户的历史出行订单,基于预先训练的预测模型,计算用户的单均金额预测值;
用户划分单元,用于根据各所述用户的优惠券敏感度和单均金额预测值,将优惠券敏感度和单均金额预测值相近的用户划分到同一用户组中。
可选的,所述敏感度计算单元具体用于,根据所述用户的历史出行订单,按预设周期统计所述用户在预设周期内的优惠券抵扣后的实付金额总和以及优惠券抵扣前的应付金额总和;
将用户在预设周期内的优惠券抵扣后的实付金额总和与优惠券抵扣前的应付金额总和的比值,作为所述用户的优惠券敏感度。
可选的,所述初始化模块具体用于,采用贪心策略对各所述用户组在采取不同所述预设动作后获得的效用值进行探索,以获得各所述用户组的效用表。
可选的,所述策略确定模块包括:
取值确定单元,用于确定学习率和折扣因子的取值;
奖赏值计算单元,用于计算采取不同的预设动作获得的奖赏值;
最大效用值单元,用于基于各所述用户组的效用表,确定对各所述用户组在当前状态下采取不同的预设动作可获得的最大效用值;
效用值计算单元,用于基于第一预设公式、对各所述用户组在当前状态下采取不同的预设动作可获得的最大效用值以及采取不同的预设动作获得的奖赏值,计算对各所述用户组在当前状态下采取不同的预设动作获得的效用值;
所述第一预设公式包括:
一种优惠券发放系统,包括:存储器和处理器;
所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,所述程序代码用于执行上述任一项所述的优惠券发放方法。
一种存储介质,所述存储介质上存储有程序代码,所述程序代码被执行时实现上述任一项所述的优惠券发放方法。
从上述技术方案可以看出,本申请实施例提供了一种优惠券租赁方法及相关装置,其中,所述优惠券租赁方法首先根据用户的历史出行订单对用户进行分组,然后初始化各所述用户组的效用表,用效用表中的效用值表征对所述用户采取预设动作后获得的综合奖赏,最后基于各所述用户组的效用表,计算采取不同的预设动作获得的效用值,将采取不同的预设动作获得的最大效用值对应的预设动作作为所述用户组的优惠券发放动作,实现了通过挖掘历史信息,构建基于用户行为的精准发券模型的个性化优惠券发放方法,为促进用户消费提供了技术支撑。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请的一个实施例提供的一种优惠券的发放方法的流程示意图;
图2为本申请的另一个实施例提供的一种优惠券的发放方法的流程示意图;
图3为本申请的又一个实施例提供的一种优惠券的发放方法的流程示意图;
图4为本申请的再一个实施例提供的一种优惠券的发放方法的流程示意图;
图5为本申请的一个可选实施例提供的一种优惠券的发放方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种优惠券的发放方法,如图1所示,包括:
S101:获取多个用户的历史出行订单。
租赁公司在经营过程中,可建立有关用户历史出行订单的数据库,步骤S101可以基于该数据库获取。以电动车租赁业务为例,所述历史出行订单可以包括用户在使用优惠券之前的应付订单金额、用户在使用优惠券之后的实付订单金额、用户的使用日期、用户的出行轨迹、用户在使用过程中的充电次数以及用户的业务使用反馈中的任意一项或多项。
S102:根据所述用户的历史出行订单对各所述用户进行分组,以将各所述用户划分到多个用户组中。
在步骤S102中,实现用户向用户组的划分的方法可以基于聚类原理进行。更具体地,在聚类过程中,除了通过用户行为的时效性、频率以及强度三个维度对用户基于阈值分组之外,还可以增加优惠券敏感度以及单均订单金额等维度对用户进行划分,以使得分组获得的用户组对于优惠券的发放策略的制定具有指导意义。
具体地来说,例如同样时高频、高强度消费的用户,有的用户对于优惠券敏感,没有优惠券往往不会进行消费,而有的用户则对优惠券不敏感,没有优惠券依然会消费,增加优惠券敏感度以及单均订单金额这两个维度有利于将在多个维度均相似的用户划分在同一用户组中,针对相似度更高的用户组制定统一的优惠券发放策略,有利于提高对该组用户组用户的优惠券发放个性化和针对性,为激励用户消费奠定良好基础。
S103:初始化各所述用户组的效用表,所述效用表中存储有对各所述用户组中的用户采取预设动作的效用值,所述效用值表征对所述用户采取预设动作后获得的综合奖赏,所述预设动作包括优惠券升档、优惠券降档和维持原优惠券档位中的一种。
在本实施例中,采用效用值来定义对用户采取预设动作后获得的综合奖赏,所述综合奖赏即包括对用户采取预设动作后马上就能获得的奖赏值,还包括采取预设动作后,用户所处状态转移到新的状态时能够获得的最大效用值,综合考虑这两方面因素即可获得所述效用值,进而组成所述效用表。
S104:基于各所述用户组的效用表,计算采取不同的预设动作获得的效用值,将采取不同的预设动作获得的最大效用值对应的预设动作作为所述用户组的优惠券发放动作。
最后步骤S104将采取不同的预设动作获得的最大效用值对应的预设动作作为所述用户组的优惠券发放动作,实现了通过挖掘历史信息,构建基于用户行为的精准发券模型的个性化优惠券发放方法,为促进用户消费提供了技术支撑。
下面对本申请实施例提供的优惠券发放方法的各个步骤的可行执行方式进行具体描述。
可选的,在本申请的一个实施例中,如图2所示,所述根据所述用户的历史出行订单对各所述用户进行分组,以将各所述用户划分到多个用户组中包括:
S1021:根据所述用户的历史出行订单,计算用户的优惠券敏感度;
在步骤S1021中,如图3所示,所述优惠券敏感度的具体计算方法可以包括:
S10211:根据所述用户的历史出行订单,按预设周期统计所述用户在预设周期内的优惠券抵扣后的实付金额总和以及优惠券抵扣前的应付金额总和。
所述预设周期是指连续的一段时间,例如一周、两周或一个月等。
S10212:将用户在预设周期内的优惠券抵扣后的实付金额总和与优惠券抵扣前的应付金额总和的比值,作为所述用户的优惠券敏感度。
在步骤S10212中,将优惠券抵扣后的实付金额总和与优惠券抵扣前的应付金额总和的比值作为所述用户的优惠券敏感度可以较好的表征用户对于优惠券的敏感度,具体地,该优惠券敏感度的取值越大,则说明优惠券抵扣后的实付金额总和与优惠券抵扣前的应付金额总和越接近,用户无论是否有优惠券都会使用相关的业务,而当优惠券敏感度的取值越小,则说明优惠券抵扣后的实付金额总和与优惠券抵扣前的应付金额总和相差较大,用户一般只有在有优惠券的时候才会使用相关的业务。
S1022:根据所述用户的历史出行订单,基于预先训练的预测模型,计算用户的单均金额预测值。
在步骤S1022中,使用单均金额预测值而不用历史订单的统计值的目的在于对预测精度进行监控,分析用户行为模式的稳定性。
S1023:根据各所述用户的优惠券敏感度和单均金额预测值,将优惠券敏感度和单均金额预测值相近的用户划分到同一用户组中。
在步骤S1023中,优惠券敏感度相近是指优惠券敏感度的取值相差第一预设阈值以内,相应的,单均金额预测值相近是指单均金额预测值的取值相差第二预设阈值以内。两个预设阈值均可以进行设定,例如优惠券敏感度的第一预设阈值的取值范围可以是0.1±0.1,例如可以是0.05、0.1、0.15和0.2等,单均金额预测值的取值范围可以是10±10,例如可以是1、2、3、4、5、10、15、20等。本申请对此并不做限定,具体视实际情况而定。
可选的,如图4所示,所述初始化各所述用户组的效用表包括:
S1031:采用贪心策略对各所述用户组在采取不同所述预设动作后获得的效用值进行探索,以获得各所述用户组的效用表。
具体地,贪心(∈-greedy)策略是指每个状态以∈的概率进行探索,即随机地在三个备选的预设动作中做出选择,从而避免陷入局部最优,同时每个状态有1-∈的概率可以进行开发,即选取当前状态下效用值最大的动作。
可选的,如图5所示,所述基于各所述用户组的效用表,计算采取不同的预设动作获得的效用值包括:
S1041:确定学习率和折扣因子的取值;
S1042:计算采取不同的预设动作获得的奖赏值;
S1043:基于各所述用户组的效用表,确定对各所述用户组在当前状态下采取不同的预设动作可获得的最大效用值;
S1044:基于第一预设公式、对各所述用户组在当前状态下采取不同的预设动作可获得的最大效用值以及采取不同的预设动作获得的奖赏值,计算对各所述用户组在当前状态下采取不同的预设动作获得的效用值;
所述第一预设公式包括:
在状态更新时,会同时关心当下的利益(即奖赏值R(S,a)),以及记忆中的利益(即
学习率和折扣率均为模型超参数,可以事先设定,学习率越高,每次训练(更新)对效用表的更新程度越高,例如可以设定为0.1等,折扣率越高,越重视转移后状态的效用值,即长期效应,越不重视立即获得的奖赏,即短期效应,例如可以设定为0.5。
针对效用表,参考表1,表1示出了一种可行的效用表。
表1效用表
面额和折扣率这两个参数表征优惠券的优惠力度,面额指的是优惠券最多可以为用户抵扣多少金额。折扣率指的是订单原价基础上可以享受多大的百分比折扣。例如当优惠券面额为10,折扣率为80时,如果订单金额为40元,结算时实付金额享受八折优惠,为32元,节省8元;如果订单金额为100元,结算时八折优惠为节省20元,但由于面值为10元,因此只能节省10元。
在表1中,面额1,折扣率1、面额2,折扣率2以及面额3,折扣率3这三个档次依次递增,即优惠力度逐渐递增。而三个预设动作中,优惠券升档是指提高优惠力度(例如从面额2,折扣率2升档到面额3,折扣率3),优惠券降档是指降低优惠力度(例如从面额2,折扣率2降档到面额1,折扣率1),优惠券维持原档位,即保持优惠力度不变。
对于表1中的各个数字即为采取相应动作的效用值,例如面额2,折扣率2采取优惠券升档动作后,立即获得的奖赏值为10,采取优惠券升档动作后,优惠券发放状态变更为面额3,折扣率3,此状态下,
具体地,仍以状态S为面额2,折扣率2为例。
特定动作为可选动作a中唯一取值;
可选动作a包括动作A优惠券升档,动作B优惠券降档,动作C优惠券维持原档位;
状态S下采取动作A会转移到状态S_A(面额3,折扣率3),此状态下
状态S下采取动作B会转移到状态S_B(面额1,折扣率1),此状态下
状态S下采取动作C会维持原状态S(面额2,折扣率2),此状态下
对于步骤S1042中的奖赏值,可设定为在当前状态下采取预设动作后相对于不采取预设动作的人均实付变化值。
假设传统基于业务逻辑的发券策略,该组用户的人均实付值为100元/人,在采取预设动作后人均实付为105元/人,则两者差值即为所述奖赏值。
下面对本申请实施例提供的优惠券发放系统进行描述,下文描述的优惠券发放系统可与上文描述的优惠券发放方法相互对应参照。
相应的,本申请实施例提供了一种优惠券发放系统,包括:
数据获取模块,用于获取多个用户的历史出行订单;
用户分组模块,用于根据所述用户的历史出行订单对各所述用户进行分组,以将各所述用户划分到多个用户组中;
初始化模块,用于初始化各所述用户组的效用表,所述效用表中存储有对各所述用户组中的用户采取预设动作的效用值,所述效用值表征对所述用户采取预设动作后获得的综合奖赏,所述预设动作包括优惠券升档、优惠券降档和维持原优惠券档位中的一种;
策略确定模块,用于基于各所述用户组的效用表,计算采取不同的预设动作获得的效用值,将采取不同的预设动作获得的最大效用值对应的预设动作作为所述用户组的优惠券发放动作。
可选的,所述用户分组模块包括:
敏感度计算单元,用于根据所述用户的历史出行订单,计算用户的优惠券敏感度;
单均金额预测单元,用于根据所述用户的历史出行订单,基于预先训练的预测模型,计算用户的单均金额预测值;
用户划分单元,用于根据各所述用户的优惠券敏感度和单均金额预测值,将优惠券敏感度和单均金额预测值相近的用户划分到同一用户组中。
可选的,所述敏感度计算单元具体用于,根据所述用户的历史出行订单,按预设周期统计所述用户在预设周期内的优惠券抵扣后的实付金额总和以及优惠券抵扣前的应付金额总和;
将用户在预设周期内的优惠券抵扣后的实付金额总和与优惠券抵扣前的应付金额总和的比值,作为所述用户的优惠券敏感度。
可选的,所述初始化模块具体用于,采用贪心策略对各所述用户组在采取不同所述预设动作后获得的效用值进行探索,以获得各所述用户组的效用表。
可选的,所述策略确定模块包括:
取值确定单元,用于确定学习率和折扣因子的取值;
奖赏值计算单元,用于计算采取不同的预设动作获得的奖赏值;
最大效用值单元,用于基于各所述用户组的效用表,确定对各所述用户组在当前状态下采取不同的预设动作可获得的最大效用值;
效用值计算单元,用于基于第一预设公式、对各所述用户组在当前状态下采取不同的预设动作可获得的最大效用值以及采取不同的预设动作获得的奖赏值,计算对各所述用户组在当前状态下采取不同的预设动作获得的效用值;
所述第一预设公式包括:
相应的,本申请实施例还提供了一种优惠券发放系统,包括:存储器和处理器;
所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,所述程序代码用于执行上述任一实施例所述的优惠券发放方法。
相应的,本申请实施例还提供了一种存储介质,所述存储介质上存储有程序代码,所述程序代码被执行时实现上述任一实施例所述的优惠券发放方法。
综上所述,本申请实施例提供了一种优惠券租赁方法及相关装置,其中,所述优惠券租赁方法首先根据用户的历史出行订单对用户进行分组,然后初始化各所述用户组的效用表,用效用表中的效用值表征对所述用户采取预设动作后获得的综合奖赏,最后基于各所述用户组的效用表,计算采取不同的预设动作获得的效用值,将采取不同的预设动作获得的最大效用值对应的预设动作作为所述用户组的优惠券发放动作,实现了通过挖掘历史信息,构建基于用户行为的精准发券模型的个性化优惠券发放方法,为促进用户消费提供了技术支撑。
本说明书中各实施例中记载的特征可以相互替换或者组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种优惠券发放方法及相关装置
- 一种优惠券发放方法、装置、终端设备及存储介质