CN110543963A - 基于XGBoost模型的客户下单重量预测方法及系统 - Google Patents
基于XGBoost模型的客户下单重量预测方法及系统 Download PDFInfo
- Publication number
- CN110543963A CN110543963A CN201910655746.9A CN201910655746A CN110543963A CN 110543963 A CN110543963 A CN 110543963A CN 201910655746 A CN201910655746 A CN 201910655746A CN 110543963 A CN110543963 A CN 110543963A
- Authority
- CN
- China
- Prior art keywords
- weight
- ordering
- client
- order
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于XGBoost模型的客户下单重量预测方法及系统,其中方法包括:判断当前下单客户是否为下单不准客户;若当前下单客户为下单不准客户,获取该客户当前下单和历史下单数据;结合当前下单和历史下单数据进行特征工程,构建与当前下单关联的入模特征变量;根据当前下单重量所属重量区间,将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中,得到下单重量预测值。本发明通过确认客户为下单不准客户时,构建当前下单关联的入模特征变量,并输入至相应的预测模型中进行预测,得到一个较为准确的下单重量预测值,避免因客户提供的下单重量不准确而导致安排的取件车辆不合理,降低取件车辆空跑率,节省运输成本。
Description
技术领域
本发明涉及物流货量预测技术领域,尤其涉及一种基于XGBoost模型的客户下单重量预测方法及系统。
背景技术
在物流行业,客户在填写托寄物的大概重量时,由于各种原因(误填、乱填)往往不能做到精准估计托寄物的实际重量,从而导致托寄物的大概重量和实际重量偏差过大。例如某客户托寄物的实际重量为500公斤,而客户在下单时由于个人疏忽只填写了50公斤,这样产生的一个直接后果是调度安排的取件车辆载重不匹配,本应该安排小卡车取货却只安排了小型面包车,等司机到达客户处发现面包车不能装载所有托寄物后,只能返回点部重新换车。再例如客户托寄物的实际重量为50斤,而下单时填写了500斤,导致调度安排小卡车取货,浪费了小卡车的运力资源。由于客户下单不严谨不仅导致取件司机空跑或浪费运力资源,而且使得司机取件操作时间延长,影响客户体验效果。
发明内容
本发明提供了一种基于XGBoost模型的客户下单重量预测方法及系统,以解决现有物流行业中,客户下单时误填下单重量导致不能合理安排的取件车辆,造成资源浪费的问题。
为了解决上述问题,本发明提供了一种基于XGBoost模型的客户下单重量预测方法,包括:判断当前下单客户是否为下单不准客户;若当前下单客户为下单不准客户,获取该客户当前下单和历史下单数据;结合当前下单和历史下单数据进行特征工程,构建与当前下单关联的入模特征变量;特征工程构建的特征包括,当前下单的重量、件数、时间、下单渠道,以及基于历史下单数据统计出来的下单实际重量和件数的特定最大值、最小值、求和值、平均数值、中位数值和四分位数值;根据当前下单重量所属重量区间,将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中,得到下单重量预测值。
作为本发明的进一步改进,判断当前下单客户是否为下单不准客户之前,先对XGBoost模型进行训练,包括:获取所有客户的历史下单数据;基于所有客户的历史下单数据进行特征工程,构建入模特征变量集;设定下单重量第一重量区间、第二重量区间和第三重量区间;将下单重量位于第一重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第一子模型;将下单重量位于第二重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第二子模型;将下单重量位于第三重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第三子模型。
作为本发明的进一步改进,基于所有客户的历史下单数据进行特征工程之前,先对历史下单数据中的下单重量和下单件数进行数据清洗,包括:若客户当笔下单的下单重量为零,则将该笔下单的下单重量替换为该客户历史下单数据中记录的下单最小实际重量;若客户当笔下单的下单重量大于预设下单重量阈值,则将该笔下单的下单重量替换为该客户历史下单数据中记录的所有下单实际重量的中位数;若客户当笔下单的下单件数为零,则将该笔下单的下单件数替换为该客户历史下单数据中记录的下单最小实际件数;若客户当笔下单的下单件数大于预设下单件数阈值,则将该笔下单的下单件数替换为该客户历史下单数据中记录的所有下单实际件数的中位数。
作为本发明的进一步改进,根据当前下单重量所属重量区间,将入模特征变量输入至相应的训练好的XGBoost模型中,包括:当前下单重量属于第一重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第一子模型中;当前下单重量属于第二重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第二子模型中;当前下单重量属于第三重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第三子模型中。
作为本发明的进一步改进,判断当前下单客户是否为下单不准客户之前,先构建下单不准客户名单,包括:若客户历史下单数据中的下单数为一笔,当该笔下单的实际重量不超过预设重量基准值、下单绝对偏差大于预设第一偏差阈值且大于或等于该笔下单实际重量预设占比时,将该客户添加至下单不准客户名单;若客户历史下单数据中的下单笔数为两笔,当下单实际重量不超过重量基准值、下单绝对偏差大于预设第二偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于一笔时,将该客户添加至下单不准客户名单;若客户历史下单数据的下单笔数为三笔或三笔以上,当最近三笔下单中,下单实际重量不超过重量基准值、下单绝对偏差大于预设第三偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于两笔时,将该客户添加至下单不准客户名单;下单绝对偏差为下单重量和实际重量差值的绝对值。
为了解决上述问题,本发明还提供了一种基于XGBoost模型的客户下单重量预测系统,包括:判断模块,用于判断当前下单客户是否为下单不准客户;获取模块,用于当当前下单客户为下单不准客户时,获取该客户当前下单和历史下单数据;构建模块,用于结合当前下单和历史下单数据进行特征工程,构建与当前下单关联的入模特征变量;特征工程构建的特征包括,当前下单的重量、件数、时间、下单渠道,以及基于历史下单数据统计出来的下单实际重量和件数的特定最大值、最小值、求和值、平均数值、中位数值和四分位数值;输入模块,用于根据当前下单重量所属重量区间,将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中;以及XGBoost模型,用于根据输入模块输入的数据,预测得到下单重量预测值。
作为本发明的进一步改进,在判断模块判断当前下单客户是否为下单不准客户之前,先对XGBoost模型进行训练,包括:获取所有客户的历史下单数据;基于所有客户的历史下单数据进行特征工程,构建入模特征变量集;设定下单重量第一重量区间、第二重量区间和第三重量区间;将下单重量位于第一重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第一子模型;将下单重量位于第二重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第二子模型;将下单重量位于第三重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第三子模型。
作为本发明的进一步改进,基于XGBoost模型的客户下单重量预测系统还包括数据清洗模块,数据清洗模块包括:重量替换单元,用于当客户当笔下单的下单重量为零时,将该笔下单的下单重量替换为该客户历史下单数据中记录的下单最小实际重量;若客户当笔下单的下单重量大于预设下单重量阈值,则将该笔下单的下单重量替换为该客户历史下单数据中记录的所有下单实际重量的中位数;件数替换单元,用于当客户当笔下单的下单件数为零时,将该笔下单的下单件数替换为该客户历史下单数据中记录的下单最小实际件数;若客户当笔下单的下单件数大于预设下单件数阈值,则将该笔下单的下单件数替换为该客户历史下单数据中记录的所有下单实际件数的中位数。
作为本发明的进一步改进,输入模块包括:第一预测单元,用于当前下单重量属于第一重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第一子模型中,得到下单重量预测值;第二预测单元,用于当前下单重量属于第二重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第二子模型中,得到下单重量预测值;第三预测单元,用于当前下单重量属于第三重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第三子模型中,得到下单重量预测值。
作为本发明的进一步改进,基于XGBoost模型的客户下单重量预测系统还包括名单构建模块,名单构建模块包括:第一添加单元,用于若客户历史下单数据中的下单数为一笔,当该笔下单的实际重量不超过预设重量基准值、下单绝对偏差大于预设第一偏差阈值且大于或等于该笔下单实际重量预设占比时,将该客户添加至下单不准客户名单;第二添加单元,用于若客户历史下单数据中的下单笔数为两笔,当下单实际重量不超过重量基准值、下单绝对偏差大于预设第二偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于一笔时,将该客户添加至下单不准客户名单;第三添加单元,用于若客户历史下单数据的下单笔数为三笔或三笔以上时,当最近三笔下单中,下单实际重量不超过重量基准值、下单绝对偏差大于预设第三偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于两笔时,将该客户添加至下单不准客户名单;下单绝对偏差为下单重量和实际重量差值的绝对值。
相比于现有技术,本发明通过下单不准客户名单确认当前下单的客户为下单不准客户时,结合该客户的当前下单和历史下单数据构建当前下单关联的入模特征变量,并根据当前下单重量所属重量区间将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中进行预测,得到下单重量预测值,其对下单不准客户的下单重量进行预测,避免客户误填下单重量而导致调度的取件车辆不合适,导致司机空跑或浪费运力资源,同时,降低司机空跑率还避免了延长取货时间。
附图说明
图1为本发明基于XGBoost模型的客户下单重量预测方法第一个实施例的流程示意图;
图2为本发明基于XGBoost模型的客户下单重量预测方法第二个实施例的流程示意图;
图3为本发明基于XGBoost模型的客户下单重量预测方法第三个实施例的流程示意图;
图4为本发明基于XGBoost模型的客户下单重量预测方法第四个实施例的流程示意图;
图5为本发明基于XGBoost模型的客户下单重量预测系统第一个实施例的功能模块示意图;
图6为本发明基于XGBoost模型的客户下单重量预测系统第二个实施例的功能模块示意图;
图7为本发明基于XGBoost模型的客户下单重量预测系统第三个实施例的功能模块示意图;
图8为本发明基于XGBoost模型的客户下单重量预测系统第四个实施例的功能模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。
图1展示了本发明基于XGBoost模型的客户下单重量预测方法的一个实施例。如图1所示,在本实施例中,该基于XGBoost模型的客户下单重量预测方法包括:
步骤S1,判断当前下单客户是否为下单不准客户。若当前下单客户为下单不准客户,则执行步骤S2。
具体地,当客户下单之后,通过客户下单的信息和预先设置的下单不准客户名单来确认当前下单客户是否为下单不准客户,若当前下单客户为下单不准客户时,则执行步骤S2。
下单不准客户名单需要事先构建,具体地,构建下单不准客户名单,包括:
若客户历史下单数据中的下单数为一笔,当该笔下单的实际重量不超过预设重量基准值、下单绝对偏差大于预设第一偏差阈值且大于或等于该笔下单实际重量预设占比时,将该客户添加至下单不准客户名单。
需要说明的是,预设重量基准值、预设第一偏差阈值和预设占比预先设置,下单绝对偏差为下单重量和实际重量差值的绝对值。
具体地,当客户历史下单数据中的下单数为一笔时,计算该笔下单的下单绝对偏差,当确认该笔下单的下单实际重量不超过预设重量基准值、下单绝对偏差大于预设第一偏差阈值且小于该笔下单实际重量预测占比时,确认该客户为下单不准客户,将该客户添加至下单不准客户名单中。
若客户历史下单数据中的下单笔数为两笔,当下单实际重量不超过重量基准值、下单绝对偏差大于预设第二偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于一笔时,将该客户添加至下单不准客户名单。
需要说明的是,预设第二偏差阈值预先设置。
具体地,当客户历史下单数据中的下单数为两笔时,分别计算该两笔下单的下单绝对偏差,当两笔下单中,下单实际重量不超过预设重量基准值、下单绝对偏差大于预设第一偏差阈值且大于或等于该笔下单实际重量预测占比的下单数大于或等于一笔时,确认该客户为下单不准客户,将该客户添加至下单不准客户名单。
若客户历史下单数据的下单笔数为三笔或三笔以上时,当最近三笔下单中,下单实际重量不超过重量基准值、下单绝对偏差大于预设第三偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于两笔时,将该客户添加至下单不准客户名单。
需要说明的是,预设第三偏差阈值预先设置。
具体地,当客户历史下单数据的下单笔数为三笔或三笔以上时,按下单时间选取最近的三笔下单,并计算最近三笔下单的下单绝对偏差,当确认该三笔下单中,存在两笔或两笔以上的下单实际重量不超过重量基准值、下单绝对偏差大于预设第三偏差阈值且大于或等于下单实际重量预设占比时,确认该客户为下单不准客户,将该客户添加至下单不准客户名单。
本实施例中,将预设重量基准值设置为1000千克,预设占比设置为10%,预设第一偏差阈值为50千克,预设第二偏差阈值为80千克,预设第三偏差阈值为100千克,下表1为下单不准客户筛选示例说明,参照下表1:
表1下单不准客户筛选示例说明
对于A客户,其历史下单笔数为一笔,下单实际重量不超过1000千克、下单绝对偏差大于50千克且大于该笔下单实际重量的10%,因此,A客户为下单不准客户,添加至下单不准客户名单;对于B客户,其历史下单笔数为两笔,该两笔订单的下单实际重量均不超过1000千克,其中一笔订单的下单绝对偏差为100千克,大于80千克且大于该笔下单实际重量的10%,因此,B客户为下单不准客户,添加至下单不准客户名单;对于C客户,其历史下单笔数为四笔,根据下单时间选取最近的三笔下单,该三笔下单的下单实际重量均未超过1000千克,其中两笔下单的下单绝对偏差超过100千克,且分别大于各自下单实际重量的10%,因此,C客户为下单不准客户,添加至下单不准客户名单;对于D客户,其历史下单笔数为两笔,其中一笔的下单实际重量超过2000千克,下单绝对偏差虽然大于80千克但是小于下单实际重量的10%,其下单重量较为准确,另一笔下单的下单绝对偏差小于80千克,下单重量也较为准确,因此,D客户为下单准确客户,不需要添加至下单不准客户名单。
需要理解的是,下单不准客户名单的筛选,所采用的客户历史下单数据为未经过对下单重量和下单件数进行异常值清洗过的数据;同时,还可通过设置更新周期进行定期更新筛选,保持下单不准客户名单的时效性。
下单不准客户名单构建完之后,在利用XGBoost模型进行客户下单重量预测之前,还需要先对XGBoost模型进行训练。如图2所示,对XGBoost模型进行训练包括以下步骤:
步骤S10,获取所有客户的历史下单数据。
进一步的,在获取所有客户的历史下单数据之后,为了避免历史下单数据中的异常值影响最终预测效果以及获得部分入模特征变量值,需要对历史下单数据中的异常值进行清洗,因此,如图3所示,执行完步骤S10之后,进行步骤S11之前,还包括:
步骤S20,若客户当笔下单的下单重量为零,则将该笔下单的下单重量替换为该客户历史下单数据中记录的下单最小实际重量;若客户当笔下单的下单重量大于预设下单重量阈值,则将该笔下单的下单重量替换为该客户历史下单数据中记录的所有下单实际重量的中位数。
步骤S21,若客户当笔下单的下单件数为零,则将该笔下单的下单件数替换为该客户历史下单数据中记录的下单最小实际件数;若客户当笔下单的下单件数大于预设下单件数阈值,则将该笔下单的下单件数替换为该客户历史下单数据中记录的所有下单实际件数的中位数。
具体地,在获取所有客户的历史下单数据之后,分别确认每一个客户每一单的下单重量和下单件数中是否存在异常值,其中,下单重量的异常值包括下单重量为零和下单重量大于预设下单重量阈值两种情况,下单件数的异常值包括下单件数为零和下单件数大于预设下单件数阈值两种情况。针对于下单重量异常的情况,若客户当比下单的下单重量为零时,将该笔下单的下单重量替换为客户历史下单数据中记录的下单最小实际重量;若客户当笔下单的下单重量大于预设下单重量阈值,则将该笔下单的下单重量替换为该客户历史下单数据中记录的所有下单实际重量的中位数。针对于下单件数异常的情况,若客户当笔下单的下单件数为零,则将该笔下单的下单件数替换为该客户历史下单数据中记录的下单最小实际件数;若客户当笔下单的下单件数大于预设下单件数阈值,则将该笔下单的下单件数替换为该客户历史下单数据中记录的所有下单实际件数的中位数。
本实施例中,预设下单重量阈值为8000千克,预设下单件数阈值为500件,下表2展示了对客户历史下单数据中下单重量和下单件数异常值的清洗过程:
表2客户历史下单数据下单重量异常值清洗过程
从表2可以看出,第三笔订单的下单重量和下单件数均为零,则以历史下单实际重量最小值和历史下单实际件数最小值进行替换,第二笔和第五笔订单的下单重量均超过8000千克,则以各自的历史下单实际重量中位数进行替换,第四笔订单的下单件数超过500件,则以历史下单实际件数中位数进行替换,第六笔订单的下单件数为零,则以历史下单实际件数最小值进行替换,从而完成对下单重量和件数中的异常值的清洗。
在对获取的历史下单数据中的异常值进行清洗后,执行步骤S11。
步骤S11,基于所有客户的历史下单数据进行特征工程,构建入模特征变量集。
具体地,在获取所有客户的历史下单数据之后,根据历史下单数据中包括的下单的重量、件数、时间、下单渠道,以及基于历史下单数据统计出来的下单实际重量和件数的特定最大值、最小值、求和值、平均数值、中位数值和四分位数值进行特征工程,构建入模特征变量。本实施例中,特征工程构建的特征具体包括如下表1所示的特征:
表1XGBooST模型的入模特征变量
由上表,
下单的重量,包含当笔下单下单重量(特征1)、上一笔下单实际重量(特征7)、异常下单重量经清洗后的替换值(特征5);
下单的件数,包含当笔下单下单件数(特征2)、上一笔下单实际件数(特征8);异常下单件数经清洗后的替换值(特征6)
下单的时间,包含当笔下单是否为提前下单(特征3)、下单时间与货好时间的间隔(特征4)、上一笔下单距当笔下单的天数(特征31);
下单渠道,包含下单来源(特征32-40);
特定最大值,包含截止当前下单该客户最大实际重量(特征9)、截止当前下单历史实际件数最大值(特征24);
特定最小值,包含截止当前下单该客户最小实际重量(特征10)、截止当前下单历史实际件数最小值(特征25);
特定求和值,包含截止当前下单该客户所有订单实际重量总和(特征13)、截止当前下单最后3笔实际重量总和(特征18)、截止当前下单最后5笔实际重量总和(特征19)、截止当前下单最后3笔实际件数总和(特征20)、截止当前下单最后5笔实际件数总和(特征21);
特定平均数值,包含截止当前下单该客户实际重量平均值(特征12)、截止当前下单最后3笔实际重量平均值(特征16)、截止当前下单最后5笔实际重量平均值(特征17)、截止当前下单历史实际件数平均值(特征23)、上一笔下单单件货实际重量平均值与当笔下单下单件数的积(特征28)、截止当前下单最后3笔下单单件货实际重量平均值与当笔下单下单件数的积(特征29)、截止当前下单最后5笔下单单件货实际重量平均值与当笔下单下单件数的积(特征30);
特定中位数值,包括截止当前下单该客户实际重量中位数(特征11);
特定四分位数值,包括截止当前下单客户实际重量上四分位数(特征14)、截止当前下单客户实际重量上四分位数(特征15),截止当前下单历史实际件数上四分位数(特征27)、截止当前下单历史实际件数下四分位数(特征26)。
步骤S12,设定下单重量第一重量区间、第二重量区间和第三重量区间。
具体地,根据下单重量设定第一重量区间、第二重量区间和第三重量区间,本实施例中,设定(0,1]为第一重量区间,(1,300]为第二重量区间,(300,+∞)为第三重量区间。
根据历史下单数据中下单重量位于不同的重量区间,分别执行步骤S13、S14和S15。
步骤S13,将下单重量位于第一重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第一子模型。
步骤S14,将下单重量位于第二重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第二子模型。
步骤S15,将下单重量位于第三重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第三子模型。
具体地,根据下单重量,分别将三个重量区间的历史下单数据中每件下单的实际下单重量,及每件下单数据对应的入模特征变量输入至XGBoost模型进行训练,从而得到分别对应第一重量区间、第二重量区间、第三重量区间的XGBoost第一子模型、第二子模型和第三子模型。
进一步的,在模型训练过程中,为了提高模型训练的效果,使得模型预测更为准确,将入模特征变量送入模型训练前,还需对入模特征变量中的下单重量和下单件数数据作取对数和归一化处理。进一步的,入模特征变量中的下单重量值可能为0,则对其做取对数处理时,是先加1后再取对数。
需要理解的是,通过预先设置训练周期,每间隔一个训练周期的时间即对预测模型进行一次训练,保证在使用预测模型进行预测时,可以获得一个较好的预测效果。本实施例中,模型训练周期为7天。
XGBoost模型训练好之后,当根据下单不准客户名单,当判断出当前下单客户为下单不准客户时,执行步骤S2。
步骤S2,获取该客户当前下单和历史下单数据。
步骤S3,结合当前下单和历史下单数据进行特征工程,构建与当前下单关联的入模特征变量。
需要说明的是,入模特征变量包括当前下单的重量、件数、时间、下单渠道,以及基于历史下单数据统计出来的下单实际重量和件数的特定最大值、最小值、求和值、平均数值、中位数值和四分位数值。
具体地,获取该客户当前下单的历史下单数据之后,结合当前下单和历史下单数据(仅为当下下单客户的历史下单数据)进行特征工程,构建与当前下单关联的入模特征变量,其中,入模特征变量参考表2中所示的入模特征变量信息。
步骤S4,根据当前下单重量所属重量区间,将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中,得到下单重量预测值。
具体地,得到当前下单关联的入模特征变量之后,根据该当前下单重量所属重量区间,将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中,得到下单重量预测值,具体如图4所示,步骤S4包括以下步骤:
步骤S40,当前下单重量属于第一重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第一子模型中,得到下单重量预测值。
步骤S41,当前下单重量属于第二重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第二子模型中,得到下单重量预测值。
步骤S42,当前下单重量属于第三重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第三子模型中,得到下单重量预测值。
具体地,根据上述实施例中划分的重量区间范围确认当前下单重量所属的重量区间,再根据当前重量区间将当前下单关联的入模特征变量输入至相应的训练好的XGBoost子模型中进行预测,得到下单重量预测值。
本实施例通过下单不准客户名单确认当前下单的客户为下单不准客户时,结合该客户的当前下单和历史下单数据构建当前下单关联的入模特征变量,并根据当前下单重量所属重量区间将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中进行预测,得到下单重量预测值,其对下单不准客户的下单重量进行预测,避免客户误填下单重量而导致调度的取件车辆不合适,导致司机空跑或浪费运力资源,同时,降低司机空跑率还避免了延长取货时间。
图5展示了本发明基于XGBoost模型的客户下单重量预测系统的一个实施例。在本实施例中,如图5所示,该基于XGBoost模型的客户下单重量预测系统包括判断模块10、获取模块11、构建模块12和输入模块13。
其中,判断模块10,用于判断当前下单客户是否为下单不准客户;获取模块11,用于当当前下单客户为下单不准客户时,获取该客户当前下单和历史下单数据;构建模块12,用于结合当前下单和历史下单数据进行特征工程,构建与当前下单关联的入模特征变量;特征工程构建的特征包括,当前下单的重量、件数、时间、下单渠道,以及基于历史下单数据统计出来的下单实际重量和件数的特定最大值、最小值、求和值、平均数值、中位数值和四分位数值;输入模块13,用于根据当前下单重量所属重量区间,将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中;以及XGBoost模型,用于根据输入模块输入的数据,预测得到下单重量预测值。
上述实施例的基础上,其他实施例中,如图6所示,在判断模块10判断当前下单客户是否为下单不准客户之前,先对XGBoost模型进行训练,包括:获取所有客户的历史下单数据;基于所有客户的历史下单数据进行特征工程,构建入模特征变量集;设定下单重量第一重量区间、第二重量区间和第三重量区间;将下单重量位于第一重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第一子模型;将下单重量位于第二重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第二子模型;将下单重量位于第三重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第三子模型。
上述实施例的基础上,其他实施例中,如图7所示,该基于XGBoost模型的客户下单重量预测系统还包括数据清洗模块20,数据清洗模块20包括重量替换单元200和件数替换单元201。
其中,重量替换单元200,用于当客户当笔下单的下单重量为零时,将该笔下单的下单重量替换为该客户历史下单数据中记录的下单最小实际重量;若客户当笔下单的下单重量大于预设下单重量阈值,则将该笔下单的下单重量替换为该客户历史下单数据中记录的所有下单实际重量的中位数;件数替换单元201,用于当客户当笔下单的下单件数为零时,将该笔下单的下单件数替换为该客户历史下单数据中记录的下单最小实际件数;若客户当笔下单的下单件数大于预设下单件数阈值,则将该笔下单的下单件数替换为该客户历史下单数据中记录的所有下单实际件数的中位数。
上述实施例的基础上,其他实施例中,如图8所示,输入模块13包括第一预测单元130、第二预测单元131和第三预测单元132。
其中,第一预测单元130,用于当前下单重量属于第一重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第一子模型中,得到下单重量预测值;第二预测单元131,用于当前下单重量属于第二重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第二子模型中,得到下单重量预测值;第三预测单元132,用于当前下单重量属于第三重量区间时,将当前下单关联的入模特征变量输入至训练好的的XGBoost第三子模型中,得到下单重量预测值。
上述实施例的基础上,其他实施例中,该基于XGBoost模型的客户下单重量预测系统还包括名单构建模块30,名单构建模块30包括第一添加单元300、第二添加单元301和第三添加单元302。
其中,第一添加单元300,用于若客户历史下单数据中的下单数为一笔,当该笔下单的实际重量不超过预设重量基准值、下单绝对偏差大于预设第一偏差阈值且大于或等于该笔下单实际重量预设占比时,将该客户添加至下单不准客户名单;第二添加单元301,用于若客户历史下单数据中的下单笔数为两笔,当下单实际重量不超过重量基准值、下单绝对偏差大于预设第二偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于一笔时,将该客户添加至下单不准客户名单;第三添加单元302,用于若客户历史下单数据的下单笔数为三笔或三笔以上时,当最近三笔下单中,下单实际重量不超过重量基准值、下单绝对偏差大于预设第三偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于两笔时,将该客户添加至下单不准客户名单;下单绝对偏差为下单重量和实际重量差值的绝对值。
关于上述五个实施例基于XGBoost模型的客户下单重量预测系统中各模块实现技术方案的其他细节,可参见上述实施例中的基于XGBoost模型的客户下单重量预测方法中的描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制于以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。
Claims (10)
1.一种基于XGBoost模型的客户下单重量预测方法,其特征在于,包括:
判断当前下单客户是否为下单不准客户;
若当前下单客户为下单不准客户,获取该客户当前下单和历史下单数据;
结合所述当前下单和历史下单数据进行特征工程,构建与当前下单关联的入模特征变量;所述特征工程构建的特征包括,当前下单的重量、件数、时间、下单渠道,以及基于历史下单数据统计出来的下单实际重量和件数的特定最大值、最小值、求和值、平均数值、中位数值和四分位数值;
根据当前下单重量所属重量区间,将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中,得到下单重量预测值。
2.根据权利要求1所述的基于XGBoost模型的客户下单重量预测方法,其特征在于,所述判断当前下单客户是否为下单不准客户之前,先对XGBoost模型进行训练,包括:
获取所有客户的历史下单数据;
基于所有客户的历史下单数据进行特征工程,构建入模特征变量集;
设定下单重量第一重量区间、第二重量区间和第三重量区间;
将下单重量位于第一重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第一子模型;
将下单重量位于第二重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第二子模型;
将下单重量位于第三重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第三子模型。
3.根据权利要求2所述的基于XGBoost模型的客户下单重量预测方法,其特征在于,所述基于所有客户的历史下单数据进行特征工程之前,先对历史下单数据中的下单重量和下单件数进行数据清洗,包括:
若客户当笔下单的下单重量为零,则将该笔下单的下单重量替换为该客户历史下单数据中记录的下单最小实际重量;若客户当笔下单的下单重量大于预设下单重量阈值,则将该笔下单的下单重量替换为该客户历史下单数据中记录的所有下单实际重量的中位数;
若客户当笔下单的下单件数为零,则将该笔下单的下单件数替换为该客户历史下单数据中记录的下单最小实际件数;若客户当笔下单的下单件数大于预设下单件数阈值,则将该笔下单的下单件数替换为该客户历史下单数据中记录的所有下单实际件数的中位数。
4.根据权利要求2所述的基于XGBoost模型的客户下单重量预测方法,其特征在于,所述根据当前下单重量所属重量区间,将入模特征变量输入至相应的训练好的XGBoost模型中,包括:
当前下单重量属于第一重量区间时,将所述当前下单关联的入模特征变量输入至训练好的的XGBoost第一子模型中;
当前下单重量属于所述第二重量区间时,将所述当前下单关联的入模特征变量输入至训练好的的XGBoost第二子模型中;
当前下单重量属于所述第三重量区间时,将所述当前下单关联的入模特征变量输入至训练好的的XGBoost第三子模型中。
5.根据权利要求1所述的基于XGBoost模型的客户下单重量预测方法,其特征在于,所述判断当前下单客户是否为下单不准客户之前,先构建下单不准客户名单,包括:
若客户历史下单数据中的下单数为一笔,当该笔下单的实际重量不超过预设重量基准值、下单绝对偏差大于预设第一偏差阈值且大于或等于该笔下单实际重量预设占比时,将该客户添加至下单不准客户名单;
若客户历史下单数据中的下单笔数为两笔,当下单实际重量不超过重量基准值、下单绝对偏差大于预设第二偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于一笔时,将该客户添加至下单不准客户名单;
若客户历史下单数据的下单笔数为三笔或三笔以上时,当最近三笔下单中,下单实际重量不超过重量基准值、下单绝对偏差大于预设第三偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于两笔时,将该客户添加至下单不准客户名单;
所述下单绝对偏差为下单重量和实际重量差值的绝对值。
6.一种基于XGBoost模型的客户下单重量预测系统,其特征在于,包括:
判断模块,用于判断当前下单客户是否为下单不准客户;
获取模块,用于当当前下单客户为下单不准客户时,获取该客户当前下单和历史下单数据;
构建模块,用于结合所述当前下单和历史下单数据进行特征工程,构建与当前下单关联的入模特征变量;所述特征工程构建的特征包括,当前下单的重量、件数、时间、下单渠道,以及基于历史下单数据统计出来的下单实际重量和件数的特定最大值、最小值、求和值、平均数值、中位数值和四分位数值;
输入模块,用于根据当前下单重量所属重量区间,将当前下单关联的入模特征变量输入至相应的训练好的XGBoost模型中;以及
XGBoost模型,用于根据输入模块输入的数据,预测得到下单重量预测值。
7.根据权利要求6所述的基于XGBoost模型的客户下单重量预测系统,其特征在于,在判断模块判断当前下单客户是否为下单不准客户之前,先对XGBoost模型进行训练,包括:
获取所有客户的历史下单数据;
基于所有客户的历史下单数据进行特征工程,构建入模特征变量集;
设定下单重量第一重量区间、第二重量区间和第三重量区间;
将下单重量位于第一重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第一子模型;
将下单重量位于第二重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第二子模型;
将下单重量位于第三重量区间的历史下单数据及所对应的入模特征变量输入至XGBoost模型进行训练,得到XGBoost第三子模型。
8.根据权利要求7所述的基于XGBoost模型的客户下单重量预测系统,其特征在于,还包括数据清洗模块,所述数据清洗模块包括:
重量替换单元,用于当客户当笔下单的下单重量为零时,将该笔下单的下单重量替换为该客户历史下单数据中记录的下单最小实际重量;若客户当笔下单的下单重量大于预设下单重量阈值,则将该笔下单的下单重量替换为该客户历史下单数据中记录的所有下单实际重量的中位数;
件数替换单元,用于当客户当笔下单的下单件数为零时,将该笔下单的下单件数替换为该客户历史下单数据中记录的下单最小实际件数;若客户当笔下单的下单件数大于预设下单件数阈值,则将该笔下单的下单件数替换为该客户历史下单数据中记录的所有下单实际件数的中位数。
9.根据权利要求7所述的基于XGBoost模型的客户下单重量预测系统,其特征在于,所述输入模块包括:
第一预测单元,用于当前下单重量属于第一重量区间时,将所述当前下单关联的入模特征变量输入至训练好的的XGBoost第一子模型中,得到下单重量预测值;
第二预测单元,用于当前下单重量属于所述第二重量区间时,将所述当前下单关联的入模特征变量输入至训练好的的XGBoost第二子模型中,得到下单重量预测值;
第三预测单元,用于当前下单重量属于所述第三重量区间时,将所述当前下单关联的入模特征变量输入至训练好的的XGBoost第三子模型中,得到下单重量预测值。
10.根据权利要求6所述的基于XGBoost模型的客户下单重量预测系统,其特征在于,还包括名单构建模块,所述名单构建模块包括:
第一添加单元,用于若客户历史下单数据中的下单数为一笔,当该笔下单的实际重量不超过预设重量基准值、下单绝对偏差大于预设第一偏差阈值且大于或等于该笔下单实际重量预设占比时,将该客户添加至下单不准客户名单;
第二添加单元,用于若客户历史下单数据中的下单笔数为两笔,当下单实际重量不超过重量基准值、下单绝对偏差大于预设第二偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于一笔时,将该客户添加至下单不准客户名单;
第三添加单元,用于若客户历史下单数据的下单笔数为三笔或三笔以上时,当最近三笔下单中,下单实际重量不超过重量基准值、下单绝对偏差大于预设第三偏差阈值且大于或等于下单实际重量预设占比的下单数大于或等于两笔时,将该客户添加至下单不准客户名单;
所述下单绝对偏差为下单重量和实际重量差值的绝对值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910655746.9A CN110543963B (zh) | 2019-07-19 | 2019-07-19 | 基于XGBoost模型的客户下单重量预测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910655746.9A CN110543963B (zh) | 2019-07-19 | 2019-07-19 | 基于XGBoost模型的客户下单重量预测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110543963A true CN110543963A (zh) | 2019-12-06 |
CN110543963B CN110543963B (zh) | 2022-08-05 |
Family
ID=68709753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910655746.9A Active CN110543963B (zh) | 2019-07-19 | 2019-07-19 | 基于XGBoost模型的客户下单重量预测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543963B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112258117A (zh) * | 2020-10-27 | 2021-01-22 | 上海寻梦信息技术有限公司 | 寄件方法、装置、电子设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180374031A1 (en) * | 2014-03-11 | 2018-12-27 | Amazon Technologies, Inc. | Transportation adjustments based on recommended shipping packages |
CN109583806A (zh) * | 2018-10-29 | 2019-04-05 | 跨越速运集团有限公司 | 一种基于智能调整下单重量后的车辆调度取件方法及系统 |
CN109740624A (zh) * | 2018-11-22 | 2019-05-10 | 重庆邮电大学 | 一种基于大数据的物流供应链需求预测方法 |
CN109902858A (zh) * | 2019-01-23 | 2019-06-18 | 跨越速运集团有限公司 | 一种物流取货操作耗时智能预测方法及系统 |
-
2019
- 2019-07-19 CN CN201910655746.9A patent/CN110543963B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180374031A1 (en) * | 2014-03-11 | 2018-12-27 | Amazon Technologies, Inc. | Transportation adjustments based on recommended shipping packages |
CN109583806A (zh) * | 2018-10-29 | 2019-04-05 | 跨越速运集团有限公司 | 一种基于智能调整下单重量后的车辆调度取件方法及系统 |
CN109740624A (zh) * | 2018-11-22 | 2019-05-10 | 重庆邮电大学 | 一种基于大数据的物流供应链需求预测方法 |
CN109902858A (zh) * | 2019-01-23 | 2019-06-18 | 跨越速运集团有限公司 | 一种物流取货操作耗时智能预测方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112258117A (zh) * | 2020-10-27 | 2021-01-22 | 上海寻梦信息技术有限公司 | 寄件方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110543963B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348613B (zh) | 分拨中心智能物流管理方法及系统 | |
CN110348612B (zh) | 分拨中心货量预测方法及装置 | |
CN109583806B (zh) | 一种基于智能调整下单重量后的车辆调度取件方法及系统 | |
CN109558986A (zh) | 一种同城站点配送顺序的排序方法及装置 | |
CN110705805A (zh) | 货物的装配方法及装置、存储介质、电子装置 | |
CN108932595A (zh) | 一种运输车辆评价方法及设备 | |
CN110705946A (zh) | 货物配装方法及货物配装系统 | |
CN110543963B (zh) | 基于XGBoost模型的客户下单重量预测方法及系统 | |
CN107545359A (zh) | 一种搬家车辆调度方法及系统 | |
CN112950091B (zh) | 车辆调度方法、装置及存储介质 | |
CN113935528B (zh) | 智能调度方法、装置、计算机设备及存储介质 | |
CN110633924B (zh) | 用于将商品分仓间存储的方法和系统 | |
CN114936822A (zh) | 车货匹配方法、装置、设备及存储介质 | |
JP3751485B2 (ja) | 物流システム | |
CN111780776B (zh) | 多频次的车辆路径规划方法、装置、设备及存储介质 | |
CN109523690A (zh) | 一种自动要货方法 | |
CN110717718A (zh) | 基于大数据平台的货物装配方法及装置 | |
CN110543964A (zh) | 基于XGBoost模型的异常下单重量预警方法及系统 | |
CN113128924A (zh) | 货物调度方法、装置和计算机可读存储介质 | |
CN111680941A (zh) | 保价推荐方法、装置、设备及存储介质 | |
CN116187878A (zh) | 一种智能化物流管理系统以及管理方法 | |
CN112418552B (zh) | 基于调度要求对货单与承运车辆进行优化调度的工作方法 | |
CN116228269A (zh) | 一种处理货源信息的方法、装置、电子设备及存储介质 | |
CN114202208A (zh) | 延迟装卸货的风险检测方法、装置及电子设备 | |
CN114239996A (zh) | 物流信息预测方法、装置、设备、平台及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 floor 4, building a, Lufthansa aviation Park, hourui community, Hangcheng street, Bao'an District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Leap New Technology Co.,Ltd. Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Applicant before: Shenzhen Leap New Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |