专利汇可以提供一种基于大数据分析的O2O优惠券分发方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 属于智能分发技术领域,涉及一种基于 大数据 分析的O2O优惠券分发方法及系统,先对获取的一定时间段内的数据进行分割,分别建立对应时间段的验证集数据;再根据已经 声明 或定义的特征,对数据进行特征的抽象和提取;然后进行特征合并,去除完全相同的数据,对数据进行规范化处理;再给除了测试集对应的特征集之外的其他特征集加上标签,将提取的特征集连接形成一个总的特征集合,构建符合XGBoost模型要求的特征矩阵;然后使用XGBoost模型进行预测,最后预测结果设定临界值,根据设定的临界值进行分发提示,实现优惠券的分发;其数据涵盖范围更广,降低了商户的营销成本,优化了用户的消费体验,使得交易最优化。,下面是一种基于大数据分析的O2O优惠券分发方法及系统专利的具体信息内容。
1.一种基于大数据分析的O2O优惠券分发系统,其特征在于包括数据收集模块、服务器后台管理模块和前端用户使用模块,其中数据收集模块用于收集并管理线上用户商家和优惠券数据、线下用户商家和优惠券数据以及待预测的数据三种数据文件,数据收集模块和服务器后台管理模块通过网络进行连接,前端用户使用模块与服务器后台管理模块的数据库连接,服务器后台管理模块保存用户上传的数据文件,并将数据提交到数据处理模块进行数据分析后返至数据库,将数据库数据进行可视化呈现;前端用户使用模块显示数据库数据的各项属性并提供数据分析的结果,对优惠券使用概率进行分类,给出分发建议,提供一键分发按钮,通过各大购物平台和商家提供的接口实现优惠券的分发。
2.根据权利要求1所述基于大数据分析的O2O优惠券分发系统,其特征在于所述线下用户商家和优惠券数据包括用户名称、商户名称、优惠券名称、优惠券优惠率、用户经常活动地点距线下门店的距离、领取优惠券日期、消费日期,线上用户商家和优惠券数据包括用户名称、商户名称、线上购买行为、优惠券名称、优惠券优惠率、领券日期、消费日期,待预测的数据包括用户名称、商户名称、优惠券名称、优惠券优惠率、用户经常活动地点距线下门店的距离、领取优惠券日期。
3.根据权利要求2所述基于大数据分析的O2O优惠券分发系统,其特征在于所述服务器后台管理模块中使用了大数据分析的机器学习算法,对于上传的线下用户商家和优惠券数据以及线上用户商家和优惠券数据进行特征的抽象和提取,并将两大数据使用线性累和模型进行融合计算,即将线上和线下的消费行为进行分析和融合,从而适应O2O环境下的消费行为分析,其中大数据分析的机器学习算法为陈天奇博士在KDD会议上提出的报告名称为XGBoost:A Scalable Tree Boosting System的改进算法,KDD’16,August 13-17,2016,San Francisco,CA,USA;线性累和模型是将相同的数据进行加减或比较替换。
4.根据权利要求3所述基于大数据分析的O2O优惠券分发系统,其特征在于所述前端用户使用模块中的分发建议是根据大数据分析的机器学习算法预测的使用概率并由开发者设定的临界值确定的,能设置不同文字或者不同颜色给用户提示和辅助参考,下发按钮接入购物平台接口,实现优惠券的直接分发。
5.根据权利要求4所述基于大数据分析的O2O优惠券分发系统,其特征在于所述平台接口为电子商务交易平台提供的平台优惠券分发接口,或个人商户购物网站提供的优惠券分发接口。
6.一种采用如权利要求5所述系统实现优惠券分发的方法,其特征在于具体过程包括以下步骤:
步骤一:对于获取的一定时间段内的线上用户商家和优惠券数据、线下用户商家和优惠券数据利用滑窗算法进行数据集的分割,得到分割的时间段;
步骤二:对于分隔的多个时间段,分别建立对应时间段的验证集数据,并把验证集数据读取进XGBoost算法程序;
步骤三:根据已经声明或定义的特征,进行优惠券相关特征、商户相关特征、用户相关特征、用户——商户交互特征的抽象和提取;
步骤四:将分别提取的特征合并为一个数据帧,然后将一个数据帧中的各类特征合并,然后去除完全相同的数据并进行数据的规范化处理,将空值设置为程序可读的空值表示;
步骤五:给除了测试集对应的特征集之外的其他特征集加上标签,其中标签的含义是该券是否在规定时间内被核销;
步骤六:将步骤五中提取出来的特征集连接,形成一个总的特征集合,构建符合XGBoost模型要求的特征矩阵,然后使用XGBoost模型进行预测;其中特征矩阵形式符合XGBoost的规范传入形式,内容为训练集合提取的特征集;
步骤七:对于步骤六的预测结果设定临界值,根据设定的临界值进行分发提示,实现优惠券的分发。
7.根据权利要求6所述优惠券分发的方法,其特征在于步骤三所述特征提取包括文件的读取和数据集的划分、优惠券相关特征的提取、商户相关特征的提取、用户相关特征的提取、用户——商户相关特征的提取以及生成训练集和测试集,具体为:
(一)文件的读取和数据集的划分:先从用户线下消费和优惠券领取行为文件、用户线上点击/消费和优惠券领取行为文件以及用户O2O线下优惠券使用预测样本文件中读取数据,三个文件分别记为原始文件一、原始文件二以及原始文件三;原始文件一、二中的记录从直观上分为三类,包括用户领取优惠券的记录、用户不用券消费的记录、用户使用优惠券消费的记录,每条记录有优惠券领取日期、消费日期以及相关的其他信息,用户不用券消费的记录中优惠券领取日期一项为空,用户领取优惠券的记录中消费日期一项为空,而用户用券消费的记录中两者都不为空;原始文件三只有用户领取优惠券的记录,为要求预测的数据;
将从三个原始文件中读取出来的数据集合分别命名为off_train、on_train和off_test,其中off_train为线下数据集合,on_train为线上数据集合,off_test为需要预测的数据集合,然后将off_train和off_test中的数据按照时间划分为两类集合,包括dataset和feature,其中dataset为要求预测的记录和调参训练时用的记录,feature为用于提取特征的集合,这两类都有k个集合,k为整数;
dataset类的集合中有一个集合直接等于off_test中的全部数据,其他的dataset类集合是off_train中的优惠券领取日期不为空的记录,不同的dataset集合是优惠券领取日期在不同日期区间内的记录,由于程序只检查领券日期是否在要求的日期区间内,并没有过滤消费日期和领券日期两项都不空的记录,因此dataset中包括用户领券记录和用户用券消费记录;
feature是off_train中用户的消费日期或优惠券领取日期在不同日期区间内的数据;
在为feature挑取数据时先检查消费日期是否在某个feature要求的日期区间内,如果消费日期为空,就检查优惠券领取日期是否在要求的日期区间,feature类的集合中均含有用券消费记录、不用券消费记录、领券记录三类数据;
(二)其他类特征的提取:这部分特征从dataset中提取,对于不同的dataset分别提取,提取完后得到k个DataFrame,其他类特征包括:
(1)用户在该dataset的日期区间内收到券的总数
(2)用户在该日期区间内收到的某种优惠券的总数
(3)用户在某一天内收到的券的数量
(4)用户在某一天内收到某种优惠券的数量
(5)这条记录是不是这个时间区间内收到相同优惠券的第一张、
(6)这条记录是不是这个时间区间内收到相同优惠券的最后一张、
(7)收到上一张相同的券距此条记录的间隔
(8)收到下一张相同的券距此条记录的间隔
前四个特征都是数量类的特征,提取的思路相同,先把要用到的若干列数据提取出来,用另外的DataFrame存放,再在每条记录后都加上一项,所有记录的这一项都是1,并将这列命名为该特征的名字,然后根据某一列用Python编程语言中pandas函数库中的groupby()函数分组;再统计每组中“1”的个数,即得到关于数量的特征;提取特征(5)(6)时,先提取用户ID、优惠券ID和领券日期三项,再根据用户ID和优惠券ID分组,即用户ID和优惠券ID都相同的记录分为一组,并求出每组中的最大领券日期和最小领券日期,然后把每条记录的领取日期和最大或最小日期比较,即得出这条记录是不是该日期区间内同种优惠券的的第一张或最后一张,即特征(5)、(6);提取特征(7)、(8)时使用提取特征(5)、(6)时得到的分组后的领取日期,然后将每条记录的领取日期和除了自己以外的其他日期做日期之间的相减,得到若干个天数差,取最小的差,得到的上一张或下一张领取相同的券的天数间隔;以上每项特征分别提取,提取完所有其他特征后,将所有其他特征合并为一个DataFrame;
(三)优惠券相关特征的提取:优惠券相关特征是在dataset中提取的,优惠券相关特征包括:
(1)领取日期是在一周内的第几天
(2)领取日期是在一月内的第几天
(3)该券消费日期是在该时间区间内的第几天
(4)该券是否是满减型优惠券
(5)该券是满多少才给优惠
(6)该券消费满了之后优惠多少
(7)该券的折扣率
(8)和该券有相同ID的券在该日期区间内共有多少张
前三个特征用Python中和日期相关的函数提取,原始数据中有一列用来表示优惠券的满减情况或者折扣率,如果一条记录中此项是x:y的形式就表示满x减y,如果只有一个数,则表示这个券是直接折扣券,这个数就是折扣率,根据“:”对这项进行切片操作,即用“:”分隔的数据分别存储,然后判断得到的数的个数就可分出该券是否是满减型优惠券,得到1个数就是直接折扣型的,并且这个数就是该券的折扣率;得到两个数就是满减型的优惠券,并且第一个数是特征(5),第二个数是特征(6),并可以由此得出该券的折扣率,如此可以得到特征(4)-(7);特征(8)的提取和(二)中其他类特征(1)-(4)的提取方法相同;提取优惠券相关特征时,直接在dataset中操作,省去了合并的步骤;
(四)商户相关特征的提取:商户相关特征是从feature中提取的,商户相关特征包括:
(1)该时间区间内用户到该商户消费的次数
(2)该时间区间内用户到该商户用券消费次数
(3)商户在该时间区间内被用户领取的优惠券的总数
(4)所有用户中,经常活动的地点离商户的门店距离最近的距离
(5)所有用户中,经常活动的地点离商户的门店距离最远的距离
(6)所有用户经常活动的地点离商户的门店的距离的平均值
(7)所有用户经常活动的地点离商户的门店的距离的中位数
(8)被用户领取并核销的优惠券占被用户领取的优惠券总数的比例
(9)该商家所有消费中,用户用券消费的次数占总消费次数的比例
前三个特征使用分组并统计个数的方法;特征(4)-(7)提取时,先提取出所有的用券消费的记录中商户ID和消费时的距离两项,然后根据商户ID分组,再应用Python编程语言中Numpy函数库中的min、max、mean和median函数得到不同的特征;特征(8)由特征(2)除以特征(3)得到,特征(9)由特征(2)除以特征(1)得到,最后需要合并特征,将分别提取到的特征合并到一个DataFrame中,命名为merchant_feature(商户特征),其中每个商户的特征占一行,即商户ID这一列中每个商户ID都是唯一的;
(五)用户相关特征的提取:用户相关特征从feature提取,用户相关特征包括:
(1)用户在在该时间区间内消费过的商家的数量
(2)用户用券消费记录中,距到过最近的商家的距离
(3)用户用券消费记录中,距到过最远的商家的距离
(4)用户用券消费记录中,到过所有商家的距离的平均值
(5)用户用券消费记录中,到过所有商家的距离的中位数
(6)用户用券消费的次数
(7)用户领取券的数量
(8)用户消费的总次数
(9)用户用券消费时,领取日期与消费日期的平均间隔
(10)用户用券消费时,领取日期与消费日期的最小间隔
(11)用户用券消费时,领取日期与消费日期的最大间隔
(12)用户用券消费的次数占用户总消费次数的比例
(13)用户领取后核销的券的数量占用户领取过的券的总数的比例
提取特征(1)时,先把feature中的用户ID和商户ID这两列提取出来,将两项都相同的记录只保留一个,再将用户ID相同的记录放在一组进行分组,然后统计商户的个数得到该特征;提取特征(2)-(5)时,先把用户用券消费记录中的用户ID和用户消费时距商家的距离两项提取出来,将用户ID相同的记录放在一组中,再分别使用Python编程语言中Numpy函数库中的min、max、mean和median函数,得到这四个特征;提取特征(6)-(8)时先分组后求和,这三个特征筛选记录的条件不同;提取特征(6)时,筛选出用户用券消费的记录,即feature中消费日期和优惠券ID两项都不为空的记录;提取特征(7)时,是用户所有领券的记录,即优惠券ID不为空的记录;提取特征(8)时,是用户消费的次数,即消费日期意一项不为空的记录;提取特征(9-(11)时,先提取出用户用券消费的记录中用户ID、领券日期和消费日期三项,用日期的减法得出领取日期和消费日期的间隔,再将用户ID相同的分为一组,然后应用Python编程语言中Numpy函数库中min、max和mean函数,得出这三个特征;特征(12)采用特征(6)除以特征(8)得到,特征(13)用特征(6)除以特征(7)得到;最后将所有特征合并到一个DataFrame中,合并之后每两行的用户ID均不相同,后面是关于该用户的所有特征;
(六)用户——商户相关特征:用户——商户相关特征从feature中提取,这类特征包括:
(1)某用户到某商家消费的次数
(2)某用户领取某商家的券的数量
(3)某用户在某商家用券消费的次数
(4)某用户与某商家领券和消费的总数
(5)某用户在某商家消费未用券的次数
(6)某用户在某商家用券消费的次数占领取该商家的券的次数的比例
(7)某用户在某商家用券消费的次数占用户在该商家总消费次数的比例
(8)某用户在某商家消费的总次数占用户与商家领券和消费总次数的比例
(9)某用户在某商家不用券消费的次数占在该商家总消费次数的比例
提取特征(1)-(5)使用先分组再求和的方法,但是提取每个特征时筛选数据的方法稍有不同,特征(1)是用户所有消费记录中的用户ID和商户ID这两项,即消费日期这一项不为空的记录,特征(2)是用户领券的记录,即优惠券ID一项不为空,特征(3)是用户用券消费的记录,即优惠券ID和消费日期均不为空的记录,特征(4)是全部的记录,不进行筛选,特征(5)是用户不用券消费的记录,即消费日期不为空而优惠券ID为空的记录,按照不同的条件筛选完数据后,这五个特征都是先扩充一列全为1的数,将用户ID和商户ID两项都相同的记录分为一组进行求和;特征(6)-(9)均由(1)-(5)计算得到,特征(6)为特征(3)除以特征(2),特征(7)为特征(3)除以特征(1),特征(8)为特征(1)除以特征(4),特征(9)为特征(5)除以特征(1),最后将分别提取的特征合并为一个DataFrame,命名为user_merchant,每两列的用户ID和商户ID不全相同;
(七)生成训练集和测试集:将一个数据集中的五类特征合并,然后去除完全相同的数据,有一些特征在每一类特征合并时或者这部分的合并中可能会变为NaN类型,即Python语言中的空类型,将这些NaN替换为0,以下为含有NaN类型的三个特征以及他们含有NaN类型的原因分别是:
某用户在某商户消费总次数,这是由于有的用户在某商户未进行过用券或不用券的消费,但是领取过该商户的券;
某用户领取某商户的券在在该商户消费的总次数,这是由于有的用户只在与feature对应的dataset的时间区间内领过某商户的券,而在feature中没领过该商户的券也没在该商户进行消费;
某用户在某商户领券的次数,原因是有的用户在某商户消费时时从来不用券,也从来没领过该商户的券;
合并后增加了六个特征项来描述领取优惠券的时间是不是周末,或者是不是周一到周五中的某天;
最后给除了off_test对应的特征集之外的其他特征集加上label生成训练集合测试集,label指该券是否在15天之内被核销,即领券未消费的记录,不用券消费的记录和用券消费中领取日期与核销日期间隔大于15天的记录label为0,只有用券消费记录中消费日期和核销日期间隔小于15天的label才为1。
8.根据权利要求6所述优惠券分发的方法,其特征在于步骤四中的空值处理,部分用NULL代替,部分用0表示数值无效。
9.根据权利要求6所述优惠券分发的方法,其特征在于步骤七中的临界值分别设置为:
[0,0.5)为使用概率较低,[0.5,0.6)为使用概率不高,[0.6,0.7)为使用概率中等,[0.7,
0.8)为使用概率较高,[0.8,1]为使用概率极高。
技术领域:
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
由个别的海关交易记录临近预报抽象的调查 | 2020-05-13 | 350 |
利用E-卡交易的CE设备记录来核对银行记录 | 2020-05-11 | 130 |
自动交易装置和系统、以及信息记录介质 | 2020-05-13 | 668 |
一种电子交易历史记录查询方法和系统 | 2020-05-13 | 881 |
轨道交通交易记录处理的方法、系统及装置 | 2020-05-13 | 590 |
交易支援系统、交易支援方法、交易支援程序、记录媒体 | 2020-05-11 | 897 |
交易信息处理装置、交易终端装置、交易信息处理方法及记录媒体 | 2020-05-13 | 333 |
交易信息记录方法及装置、节点、存储介质 | 2020-05-13 | 244 |
一种交易记录的方法及系统 | 2020-05-11 | 539 |
一种芯片交易记录方法及相关装置 | 2020-05-11 | 435 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。