具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
企业可以对账户中的资金进行各种类型的业务操作,例如,提现、存款、转入、转出、外汇兑换、等等。各类型的业务均将导致账户余额发生变动,其中,如存款、转入等业务将使账户余额增加,而提现、转出等业务将使账户余额减少,而根据账户在某一时刻(如某月的T日)的余额,以及此后一段时间(如N天)内各种业务导致的余额变动的净变动,可以得到这段时间后某时刻(即T+N日)账户的余额。
值得注意的是,由于节假日、时差等原因,业务发生时间与资金变动时间之间,一般存在着时间差,这种时间差通常称为账期。因此,在对账户资金进行某类操作后,账户资金可能并不会即刻产生变动,账户余额也可能并不会即刻发生改变。
例如,企业于某日对账户进行了存款业务操作,但该笔资金可能并不会即刻存入企业的账户,如果规定的存款业务的账期为3日,则账户余额的实际变动时间为3日后。因此,结合实际进行业务操作的时间,以及规定的账期规则,便可以进行未来某日的资金预告,即确定业务对应的资金变动时间(时间单位一般为日期)。
企业一般会在不同地区、不同领域的多家金融机构开设账户,以用于进行不同的交易,且需要提前对各账户中的资金进行布局,以确保可以满足在各地区、各领域的交易需求。可以理解的是,企业对各账户中的资金提前准备的周期越长,其准备资金的成本也越低。
针对上述需求,本说明书提供一种账户余额预测方法,根据该方法,可以预测短期、中期至长期的账户余额,使企业可以提前进行资金准备。
参见图1所示,该方法可以包括以下步骤:
S101,确定待预测时段的起始时间与终止时间,并获得目标账户在起始时间的账户余额;
本说明书提供的方案,可以对短期、中期至长期的账户余额进行预测,例如,预测时间段可以为1天、5天、甚至10天、30天等,起始时间一般可以为当日或次日,如某企业于每日的0点对各账户余额进行清算,从而可以根据当日0点清算的账户余额,对未来1天(即次日0点时)、5天、10天、30天等的账户余额进行预测。
因此,所确定的起始时间与终止时间,可以由操作人员指定需要获得预测结果的起、止时间,也可以预先设定自动预测当日之后的每天的账户余额,等等。
S102,获得目标账户中各类业务的实际明细信息;
这里所称的明细信息,可以包括该类业务中各笔业务的操作时间及操作金额。例如,对于存款业务,明细信息中可以包括:操作时间为“2018-7-28”、操作金额为“+5000”(即存入5000元)。当然,也可以包括其他需要预测的信息,本说明书对此不做限定。
在本说明书实施例中,可以首先确定需要统计实际明细信息的若干类业务,例如,可以是企业或目标账户所涉及的全部业务类型,也可以是预先根据操作人员的经验或根据算法的计算结果,指定的若干类业务。然后针对所确定的任一类业务:确定需要统计实际明细信息的目标历史时段,从而统计在目标历史时段内,目标账户中实际发生的各笔业务的操作时间及操作金额。
这里所获得的实际明细业务,是用于S104中根据账期,对已实际发生的业务进行资金预告,预告结果将用于预测未来某时间的账户余额。因此,实际上仅需要获得到待预测时段的起始时间为止,仍未发生资金变动的各笔业务的明细信息,即仅需要统计发生于起始时间前某段时间(即目标历史时段)的业务,而不必统计发生于至今整个时间段的业务。
在确定需要统计实际明细信息的目标历史时段时,可以根据业务的账期向起始时间前回溯,具体地,可以获得各待预测账户中针对该类业务的账期规则,并确定所获得各账期中的最大时长;将长度为最大时长、且到所述起始时间为止的时段,确定为目标历史时段。也可以直接由操作人员的经验或根据算法的计算结果指定一段时长,具体地,可以确定预先指定的时长;将长度为指定时长、且到所述起始时间为止的时段,确定为目标历史时段。
本说明书实施例中,统计在目标历史时段内目标账户中实际发生的各笔业务的操作时间及操作金额时,可以首先从业务类型的角度进行统计,再根据账户与各笔业务的对应关系,得到各个账户单独的统计结果。具体地,可以统计在目标历史时段内实际发生的各笔业务的操作时间、操作金额及操作账户,然后根据所统计的操作账户,确定操作账户为目标账户的各笔业务的操作时间及操作金额。
S103,根据预设的业务预测规则,得到目标账户中各类业务在指定时段的预测明细信息;
在本步骤中所获得的预测业务明细,将与S104中根据账期规则确定对应的资金变动时间,即由于存在账期规则,所预测的各笔业务的实际发生时间,与对应的资金变动时间并不一定相同,因此对业务进行预测的时段,与对余额进行预测的时段,也并不一定为同一时段。在本方案中,操作人员可以根据待预测时段、各类业务的账期规则等因素,指定进行业务预测的时段。
此外,本方案中预先设定的业务预测规则,可以是较为简单的业务明细与时间的对应关系,如每日将产生10笔金额平均为5000元的存款、及10笔金额平均为5000元的提现、等等;也可以是以历史数据为样本,所训练的业务预测模型;等等,本说明书中对此不做具体限定。
并且,预先设定的业务预测规则,也可以包括若干预测自规则,分别用于对若干类业务进行预测。对应地,在本说明书实施例中,根据预设的业务预测规则,得到目标账户中各类业务在指定时段的预测明细信息时,可以具体地,首先确定需要预测得到预测明细信息的若干类业务;然后针对所确定的任一类业务:确定所述预设业务预测规则中,针对该类业务的预测子规则,并根据所述预测子规则,针对目标账户,预测指定时段发生的各笔业务的操作时间及操作金额。
本说明书实施例中,由于各账户中的业务情况存在区别,针对各类业务的预测自规则,也可以包括分别用于预测各账户的账户预测自规则。因此,在根据所述预测子规则,针对目标账户,预测指定时段发生的各笔业务的操作时间及操作金额时,也可以确定所述预测子规则中,针对目标账户的目标账户预测子规则;然后根据所述目标账户预测子规则,预测指定时段发生的各笔业务的操作时间及操作金额。
本说明书实施例中,与获得实际明细信息类似地,也可以首先从业务类型的角度进行统计,再根据账户与各笔业务的对应关系,得到各个账户单独的统计结果。具体地,可以根据所述预测子规则,预测指定时段发生的各笔业务的操作时间、操作金额及操作账户;根据所预测的操作账户,确定操作账户为目标账户的各笔业务的操作时间及操作金额。
S104,针对任一类业务:根据目标账户中该类业务的账期规则、及所得到的操作时间,计算该类业务中各笔业务对应的资金变动时间;
S105,根据起始时间的账户余额、各类业务中各笔业务的操作金额及资金变动时间,预测终止时间的账户余额。
为了便于描述,将S104与S105结合进行说明。
不同账户中对同一类业务的账期规则可能并不相同,如涉及跨国、跨地区的账户中账期可能更长。本说明书实施例中,可以直接获取预先记录的账期规则,也可以根据历史业务的情况,计算对应的账期规则。
对于某一类业务,确定账期规则及各笔(实际或预测)业务的操作时间后,便可以计算对应的资金变动时间,如确定目标账户中T日发生1笔提现业务,而目标账户中提现业务的账期为X日,则该笔提现业务对应的资金变动时间为T+X日。
确定各笔(实际或预测)业务对应的资金变动时间及操作金额后,便可以确定具体的资金流动情况,如资金变动时间为“2018-07-30”、操作金额为“+5000”,则可以确定2018年7月30日目标账户内将流入5000元,又如资金变动时间为“2018-07-29”、操作金额为“-3000”,则可以确定2018年7月29日目标账户内将流出3000元。综合资金流入、流出的情况,还可以确定资金的净流动情况,如综合上述2个例子,可以确定2018年7月29、30两日,资金的净流动情况为总计流入2000元。从而,结合待预测时段的起始时间的账户余额、及资金净流动情况,便可以预测终止时间的账户余额。如仍以上述例子,并且2018年7月29日0点(起始时间)确定账户余额为10000元,则可以预测2018年7月31日0点(终止时间)的账户余额为12000元。
可以理解的是,所预测的账户余额可以以多种形式向企业客户展示,如生成预测报表等,并且账户余额只是一种最直观的预测结果,所生成的报表中还可以包括实际或预测的各笔业务或各类业务的资金变动时间、金额,以及账户的资金流动情况明细等信息,如点击报表中所展示的账户余额后,可以具体查看分别根据实际业务与预测业务确定的部分等,本说明书实施例对此不做限定。
此外,还可以根据过去的预测结果修正业务预测规则,从而提高之后的预测的准确性。具体地,可以获得任一历史时间的预测账户余额与实际账户余额,并判断预测账户余额与实际账户余额是否存在差值;若是,则分析存在差值的原因,并基于分析结果修正所述预设的业务预测规则。
其中,针对同一历史事件可能存在多个预测账户余额。例如,设定每日均预测之后1日、2日……10日的账户余额,则每日相应地将会在之前的10日得到10个预测结果,在分析偏差及修正规则时,可以参考全部的预测结果,也可以挑选其中1个或多个符合条件的预测结果,本领域技术人员可以根据实际需求,灵活地进行设置,本说明书实施例对此不做限定。
下面结合一个更为具体的实例,对本说明书提供的账户余额预测方法进行说明。
假设企业在不同国家与地区的多家银行分别设有账户A1、A2、……An,且该企业各个账户均进行提现、存款等多类业务操作B1、B2、……Bn,并且预先设定每日(假设为T日)0点进行账户余额清算后,均对之后N日中每日0点的账户余额进行预测,即待预测时段的起始时间为T日(0点),确定该时间的账户余额;终止时间分别为T+1日(0点)、T+2日(0点)、……T+N日(0点),下面以T+N日(0点)为例进行账户余额预测说明。
首先,可以参照图2所示,根据过去实际发生的业务进行资金预告。
假设各类业务在各账户内账期的最大值为X,则以T-X日至T日为目标历史时段。
针对B1、B2、……Bn中的任一类业务Bi,统计Bi在目标历史时段的各笔业务,得到Bi的实际明细信息,包括各笔业务的操作时间、操作金额及操作账户。从而,根据所统计的操作账户,针对各个账户A1、A2、……An中的任一账户Aj,确定该账户中Bi的各笔业务的操作时间及操作金额。并且,根据账户Aj对业务Bi的账期规则,计算各笔业务的资金变动时间。
可以理解的是,图2只是对执行流程的一种示意,计算各业务类型在各账户中各笔业务的资金变动时间时,也可以并行计算,图2不应理解为对本说明书实施例方案的限定。
并且,可以参照图3所示,预测将发生的业务,并进行资金预告。
假设指定时段为T+Y日。
针对B1、B2、……Bn中的任一类业务Bi,根据预先构建的业务预测模型,预测Bi在指定时段的各笔业务,得到Bi的预测明细信息,包括各笔业务的操作时间、操作金额及操作账户。从而,根据所统计的操作账户,针对各个账户A1、A2、……An中的任一账户Aj,确定该账户中Bi的各笔业务的操作时间及操作金额。并且,根据账户Aj对业务Bi的账期规则,计算各笔预测业务的资金变动时间。
可以理解的是,图3只是对执行流程的一种示意,计算各业务类型在各账户中各笔业务的资金变动时间时,也可以并行计算,图3不应理解为对本说明书实施例方案的限定。
最后,根据所计算的各笔实际业务与预测业务的资金变动时间,可以分别计算账户A1、A2、……An在T+N日(0点)的预测账户余额。
可见,应用上述方案,无论待预测时段N日为长期或短期,均可以进行账户余额预测。
例如,如果各账户中各类业务的账期范围为[X1,X2],则当N≤X1时,预测业务的资金变动时间将在T+N日之后,因此T+N日的预测余额,仅根据T日前的实际业务,结合账期计算,因而准确度很高;当X1<N≤X2时,T+N日的预测余额,根据实际业务与预测业务,结合账期计算;当X2<N时,T+N日的预测余额,仅根据预测业务,结合账期计算。
因此,应用上述方案,既可以对长期、中长期时段进行账户余额预测,使企业可以在较长的周期内提前准备资金,还可以随着时间推移,在当前时间距离所准备时间较短,即N≤X1后,根据准确度很高的预测结果调整所准备的资金,从而使企业可以以更少的成本进行资金布局。
相应于上述方法实施例,本说明书实施例还提供一种账户余额预测装置,参见图4所示,该装置可以包括:
初始信息获得模块110,确定待预测时段的起始时间与终止时间,并获得目标账户在起始时间的账户余额;
业务实际信息获得模块120,用于获得目标账户中各类业务的实际明细信息;
业务预测信息预测模块130,用于根据预设的业务预测规则,得到目标账户中各类业务在指定时段的预测明细信息;
其中,所述明细信息包括:该类业务中各笔业务的操作时间及操作金额;
资金变动时间计算模块140,用于针对任一类业务:根据目标账户中该类业务的账期规则、及所得到的操作时间,计算该类业务中各笔业务对应的资金变动时间;
账户余额预测模块150,用于根据起始时间的账户余额、各类业务中各笔业务的操作金额及资金变动时间,预测终止时间的账户余额。
在本说明书提供的一种具体实施方式中,所述业务实际信息获得模块120,可以包括:
实际业务类型确定单元,用于确定需要统计实际明细信息的若干类业务;
历史时段确定单元,用于针对所确定的任一类业务,确定需要统计实际明细信息的目标历史时段;
实际信息统计单元,用于针对所确定的该类业务,统计在目标历史时段内,目标账户中实际发生的各笔业务的操作时间及操作金额。
在本说明书提供的一种具体实施方式中,所述历史时段确定单元,可以具体用于:
获得各待预测账户中针对该类业务的账期规则,并确定所获得各账期中的最大时长;将长度为最大时长、且到所述起始时间为止的时段,确定为目标历史时段;
或者
确定预先指定的时长;将长度为指定时长、且到所述起始时间为止的时段,确定为目标历史时段。
在本说明书提供的一种具体实施方式中,所述实际信息统计单元,可以具体用于:
统计在目标历史时段内实际发生的各笔业务的操作时间、操作金额及操作账户;
根据所统计的操作账户,确定操作账户为目标账户的各笔业务的操作时间及操作金额。
在本说明书提供的一种具体实施方式中,所述业务预测信息预测模块130,可以包括:
预测业务类型确定单元,用于确定需要预测得到预测明细信息的若干类业务;
子规则确定单元,用于针对所确定的任一类业务,确定所述预设业务预测规则中,针对该类业务的预测子规则;
预测信息预测单元,用于针对所确定的该类业务,根据所述预测子规则,针对目标账户,预测指定时段发生的各笔业务的操作时间及操作金额。
在本说明书提供的一种具体实施方式中,所述预测信息预测单元,可以具体用于:
根据所述预测子规则,预测指定时段发生的各笔业务的操作时间、操作金额及操作账户;
根据所预测的操作账户,确定操作账户为目标账户的各笔业务的操作时间及操作金额。
在本说明书提供的一种具体实施方式中,所述预测信息预测单元,可以具体用于:
确定所述预测子规则中,针对目标账户的目标账户预测子规则;
根据所述目标账户预测子规则,预测指定时段发生的各笔业务的操作时间及操作金额。
在本说明书提供的一种具体实施方式中,参见图5所示,所述装置还可以包括:
业务预测规则修正模块160,用于获得任一历史时间的预测账户余额与实际账户余额;判断预测账户余额与实际账户余额是否存在差值;若是,则分析存在差值的原因,并基于分析结果修正所述预设的业务预测规则。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的账户余额预测方法。该方法至少包括:
确定待预测时段的起始时间与终止时间,并获得目标账户在起始时间的账户余额;
获得目标账户中各类业务的实际明细信息;
根据预设的业务预测规则,得到目标账户中各类业务在指定时段的预测明细信息;
其中,所述明细信息包括:该类业务中各笔业务的操作时间及操作金额;
针对任一类业务:根据目标账户中该类业务的账期规则、及所得到的操作时间,计算该类业务中各笔业务对应的资金变动时间;
根据起始时间的账户余额、各类业务中各笔业务的操作金额及资金变动时间,预测终止时间的账户余额。
图6示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的账户余额预测方法。该方法至少包括:
确定待预测时段的起始时间与终止时间,并获得目标账户在起始时间的账户余额;
获得目标账户中各类业务的实际明细信息;
根据预设的业务预测规则,得到目标账户中各类业务在指定时段的预测明细信息;
其中,所述明细信息包括:该类业务中各笔业务的操作时间及操作金额;
针对任一类业务:根据目标账户中该类业务的账期规则、及所得到的操作时间,计算该类业务中各笔业务对应的资金变动时间;
根据起始时间的账户余额、各类业务中各笔业务的操作金额及资金变动时间,预测终止时间的账户余额。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。