Conventional employment relationships operate on an accrued wages model in which workers perform their jobs, record their time and/or attendance (in some instances), and after some period of time are paid wages for a preceding pay period. Although many workers have adequate funds to pay their monthly expenses, due to infrequent expenses such as a vacation, unexpected medical expenses or even unexpected outlays such as car repairs, many workers either live paycheck to paycheck, or simply need additional funds temporarily to cover unanticipated costs. In most cases, consumers may resort to credit cards, which have high fees and interest rates, friends and family (which may or may not be available or practical), bank overdraft, pawn shops or even short-term loans such as payday loans or the like, which have high fees and interest rates. All the while, the employer essentially “owes” the employee a certain portion of their wages for work performed, but because the end of the pay period has not yet arrived, the employee cannot access or use these owed monies. What is needed, therefore, are techniques and supporting systems that facilitate early access to earned and accrued wages in an efficient and cost-effective manner while mitigating a risk for employees having unstable employment and/or unpredictable income.
Disclosed herein, in some aspects, is a system for disbursing advanced wages to an employee prior to a payment date of scheduled wages for a pay period, the system comprising one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the system to perform operations including: determining an eligibility of the employee for receiving the advanced wages, wherein the advanced wages correspond to cumulative wages accrued by the employee at a given moment during the pay period; based on the eligibility of the employee, identifying a predictable pattern for i) the amount of scheduled wages received by the employee, ii) the frequency of the scheduled wages received, iii) a rate at which the scheduled wages are accrued during the pay period (“pay rate”), or iv) a combination thereof; calculating an amount of advanced wages available (“available amount”) for disbursement to the employee, the available amount based on i) the cumulative time worked by the employee during the pay period, ii) the predictable pattern, iii) expenditures by the employee, iv) a threshold percentage of the predicted pattern amount of the scheduled wages, v) a threshold amount, or vi) a combination thereof; verifying an employment status of the employee during the pay period, the employment status corresponding to an active status or an inactive status, wherein an active status corresponds a prediction of the employee receiving the next scheduled wages, and an inactive status corresponds to a prediction of the employee not receiving the next scheduled wages; and based on the employee having an active status, disbursing to the employee a disbursed amount of the advanced wages up to the available amount; wherein any one of the one or more processors is configured to be in communication with one or more financial accounts associated with the employee (“employee account”), one or more financial accounts associated with the system (“system account”), an employment email account associated with the employee, a location indicator to detect a location of the employee, a computing interface to receive input from and/or output data to the employee, or any combination thereof, so as to perform operations from one or more of (a)-(e).
Disclosed herein in other aspects, is a non-transitory computer readable medium for disbursing advanced wages to an employee prior to a payment date of scheduled wages for a pay period, the non-transitory computer readable medium comprising instructions that, when executed by a processor, cause the processor to perform operations including: determining an eligibility of the employee for receiving the advanced wages, wherein the advanced wages correspond to cumulative wages accrued by the employee at a given moment during the pay period; based on the eligibility of the employee, identifying a predictable pattern for i) the amount of scheduled wages received by the employee, ii) the frequency of the scheduled wages received, iii) a rate at which the scheduled wages are accrued during the pay period (“pay rate”), or iv) a combination thereof; calculating an amount of advanced wages available (“available amount”) for disbursement to the employee, the available amount based on i) the cumulative time worked by the employee during the pay period, ii) the predictable pattern, iii) expenditures by the employee, iv) a threshold percentage of the predicted pattern amount of the scheduled wages, v) a threshold amount, or vi) a combination thereof; verifying an employment status of the employee during the pay period, the employment status corresponding to an active status or an inactive status, wherein an active status corresponds a prediction of the employee receiving the next scheduled wages, and an inactive status corresponds to a prediction of the employee not receiving the next scheduled wages; and based on the employee having an active status, disbursing to the employee a disbursed amount of the advanced wages up to the available amount; wherein the processor is configured to be in communication with one or more financial accounts associated with the employee (“employee account”), one or more financial accounts associated with a system (“system account”), an employment email account associated with the employee, a location indicator to detect a location of the employee, a computing interface to receive input from and/or output data to the employee, or any combination thereof, so as to perform operations from one or more of (a)-(e).
Disclosed herein, in other aspects, is a method for disbursing advanced wages to an employee prior to a payment date of scheduled wages for a pay period, the method comprising: determining an eligibility of the employee for receiving the advanced wages, wherein the advanced wages correspond to cumulative wages accrued by the employee at a given moment during the pay period; based on the eligibility of the employee, identifying a predictable pattern for i) the amount of scheduled wages received by the employee, ii) the frequency of the scheduled wages received, iii) a rate at which the scheduled wages are accrued during the pay period (“pay rate”), or iv) a combination thereof; calculating an amount of advanced wages available (“available amount”) for disbursement to the employee, the available amount based on i) the cumulative time worked by the employee during the pay period, ii) the predictable pattern, iii) expenditures by the employee, iv) a threshold percentage of the predicted pattern amount of the scheduled wages, v) a threshold amount, or vi) a combination thereof; verifying an employment status of the employee during the pay period, the employment status corresponding to an active status or an inactive status, wherein an active status corresponds a prediction of the employee receiving the next scheduled wages, and an inactive status corresponds to a prediction of the employee not receiving the next scheduled wages; and based on the employee having an active status, disbursing to the employee a disbursed amount of the advanced wages up to the available amount.
These and other features, aspects, and advantages of some embodiments will become better understood with regard to the following description and accompanying drawings.
Terms used in the claims and specification are defined as set forth below unless otherwise specified.
The term “employee”, as used herein, refers to a person that is employed and receives wages from an employer. The term “employee” and “worker” may be used interchangeably herein.
The term “earnings” refers to unpaid wages for time worked by the employee.
The term “funds”, as used herein, refers to a monetary value, corresponding to any currency, such as U.S. Dollars, Canadian Dollar, Euro, and any Cryptocurrency.
The term “wages”, as used herein, refers to payment received for time worked by the employee.
The phrase “and/or,” as used in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements).
As used in the specification and in the claims, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of” or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used shall only be interpreted as indicating exclusive alternatives (i.e., “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of” “only one of” or “exactly one of.”
Described herein, in some embodiments, are systems and methods for allowing an employee to access wages earned through employment but not yet paid or received. As used herein, the term “earnings” refers to said unpaid wages. In some embodiments, said earnings correlate with employment during a given pay period, wherein said earnings for the given pay period (e.g., pay cycle) correspond to the wages for the given pay period. In some embodiments, said earnings are accumulated throughout the pay period, for example hourly, daily, every other day, weekly, etc. As a result, systems and methods described herein allow employees (e.g., workers) to access and use money earned but not yet paid (i.e., earnings) by the employee's employer. Such earnings may be used to pay bills, purchase goods and services, and otherwise enjoy their unpaid wages prior to the end of a pay period and before their employer has released the funds (e.g., funds for the wages). Additional intended uses of the invention can include avoiding overdraft fees and avoiding carrying a balance on a credit card. These earnings may be transferred to the employee, who may withdraw it as cash or use it as digital currency or virtual goods within an electronic marketplace.
In some embodiments, as described herein, the system is configured to predict the amount of wages received by the employee for a given pay cycle and/or the frequency of receiving said wages, wherein said wages paid by an employer for a given pay cycle (or pay period) may be referred to herein as scheduled wages. In some embodiments, as described herein, the scheduled wages are paid on a payment date of a pay cycle. In some embodiments, as described herein, the system is configured to verify the employment status of the employee during the pay period, thereby allowing the earnings corresponding to the unpaid wages for the time worked (during the given pay period) to be accessible to the employee. In some embodiments, the employment status is automatically verified. In some embodiments, an employment status correlates to continued employment by the employee and/or changes that may impact employment stability. In some embodiments, the employment status is verified through one or more employment verifiers, which may comprise work email status (e.g. work email verification, “WEV”), global positioning system (“GPS”) location identifiers, payroll active status, an employee risk score, previous restore and/or restore failure records (as described herein), timesheet, user income stability type, employment status prediction using a machine learning model, or any combination thereof.
In some embodiments, the system comprises one or more computing devices, and one or more components of a network and/or server, for example as described herein in
In some embodiments, the system is configured to function similar to that of a financial institution (e.g., a bank). For example, in some embodiments, the system functions, at least in part, similar to that of a checking account at a bank. In some cases, the system however updates an earnings balance in said similar “checking account”, so as to provide an employee with access to said earnings in advance of a pay date (or pay cycle). In some cases, such earnings balance is updated frequently (e.g., hourly, daily, in real-time) as time is worked and in advance of a pay date for the wages.
Accordingly, in some cases, the system is configured to assign a profile for the employee that is specific to the employee's information, such as earnings available, employment status, etc. In some embodiments, a system described herein is configured to receive and/or disburse funds (e.g., any type of currency, such as U.S. Dollar, Euro, Canadian Dollar, Cryptocurrency, etc.). In some embodiments, the system is configured to function similar to that of the remote processing device and/or remote server described in U.S. Pat. No. 9,202,250, the entirety of which is incorporated herein by reference. In some embodiments, funds are configured to be transferred to the system, for example, to the profile associated with the employee (e.g., funds may be transferred by another financial institution, the employee, or other third party). In some embodiments, funds are configured to be direct deposited to the system from, for example, an employer wage disbursement system. In some embodiments, funds are configured to be transferred out by the employee to, for example, a financial institution, a merchant, another individual, etc. In some embodiments, the employee is able to access funds from the system using a monetary dispensing apparatus (e.g., ATM machine). In some embodiments, the employee is able to access funds using a payment card, which may act similar to that of a debit card.
In some embodiments,
As described herein, in some embodiments, the Earnings tool 100 is configured to determine an amount of earnings accessible to the employee. In some cases, the Earnings tool accesses third party information to verify the employee has indeed worked, and thereby earned such earnings. In some cases, the Earnings tool is configured to determine the amount of earnings available, based on expenditures by the employee.
In some embodiments, the Earnings tool is configured to at least 1) maintain an earnings state, 2) verify the employment status, and/or 3) calculate and grant earnings (to be accessible by the employee).
In some embodiments, the PD module 102 is configured to determine the parameters that define the amount of earnings earned by the employee during a given pay period. In some embodiments, the PD module is configured to determine the eligibility of the employee to use the system, and/or to on-board an employee with the required information. In some embodiments, the PD module is configured to determine from whom the funds (e.g., wages, other money, etc.) are being transferred to, are such transfer of funds occurring, and if predictions as to when such funds are transferred are still valid.
In some embodiments, the PD module is configured to determine said eligibility of the employee based on one or more employment characteristics, such as type and/or name of employer, length of employment by the employee, frequency of wages received (e.g., pay cycle), amount of wages received, expenditures by the employee, validation of a paycheck, or any combination thereof. In some embodiments, the PD module 102 is configured to determine whether the employee receives a paycheck (e.g., regular wages) from the employer in a predictable manner. For example, in some cases the PD module is provided access to the employee's account at a financial institution (e.g., a bank, such as Bank of America, Chase, etc.), so as to review the account history to determine the amount and frequency of any direct deposits or other deposits (e.g., checks, cash) that correlate with wages from an employment. For example, in some embodiments, the employee provides the name of their employer, such that the PD module is configured to retrieve transactions from their account at the financial institution and search for transactions that are potential direct deposits with a predictable pattern. In some embodiments, the PD module determines a predictability of the wages based on a frequency of direct deposits detected in the account and an amount. In some embodiments, the PD module is configured to group transactions, so as to identify transactions that correlate with direct deposits or cash/check deposits associated with wages. In some embodiments, the PD module is configured to group multiple sets of wages if the employee has multiple employers.
For example, in some embodiments, the PD module identifies wages as being predictable from an employer if there are at least 2, 3, 5, 10, or more direct deposits detected in the account. In some cases, the PD module further determines a frequency of the direct deposits, for example weekly, bi-weekly, monthly, number of days, etc. In some cases, the PD module determines whether the amount of the direct deposits is consistent, or within a certain tolerance, such as within at most 1%, 2%, 5%, 10%, or 20% of each other. In some embodiments, the PD module correlates the frequency of wages based on employment type. For example, in some embodiments, where the employer is the military, only one direct deposit is needed as the PD module includes stored information relating to military wage disbursements. In some cases, if the employer is listed as a preferred employer (as described herein), the PD module requires only two direct deposits to confirm the wages as being predictable. In such cases, an employer may be a preferred employer based on a predetermined list of employers and/or characteristics provided by the employee.
In some embodiments, the PD module is configured to search for a predictable pattern in the wages based on when the user (e.g., employee) creates a new account (e.g., as part of the onboarding process), and/or when a qualifying event happens (e.g., change of employer, change of financial institution account, etc.). In some embodiments, the PD module searches for a pattern, such as at least 2 similar direct deposits. In some embodiments, the PD module searches for a pattern in the previous 1, 2, 3, 4, 5, 10, 14, 20, 28, 40, 50, 60, 70, 80, 90, 100, 120, 150, or about 200 days.
In some embodiments, where one or more direct deposits are missing such that a pattern of wages received cannot be determined, the PD module is configured to automatically alert an agent (associated with the system), and/or request the employee upload a paystub for verification.
In some embodiments, the PD module is configured to automatically adjust a determined payroll pattern if there is any deviation in, for example, the frequency of the wages received, the amount of wages received, etc. In some embodiments, the PD module is configured to automatically correct a previously determined payroll pattern if such pattern does not align with the wages received and frequency received (for example).
In some embodiments, where wages are deposited into the employee's account via cash and/or check deposits, the PD module is configured to automatically alert an agent (associated with the system), and/or request the employee to upload a plurality of paystubs, so as to determine a frequency of the wages received, and amount (as described herein).
In some embodiments, the PD module determines an hourly rate of the employee. In some embodiments, the hourly rate is based on an amount of deposits made to an account (e.g., in a financial institution) divided by the number of hours worked by the employee in the given pay period. In some embodiments, the hours worked are determined based on the length of the pay period. For example, in some cases, a weekly deposit correlates to 40 hours of time worked by the employee, whereas a bi-weekly deposit correlates to 80 hours. In some cases, the PD module correlates against a paystub to verify the hours worked (e.g., paystub may be uploaded to the PD module, and/or provided to an agent). In some cases, the hourly rate correlates to the net pay in the wages received by the employee (instead of gross pay). Accordingly, in some cases, the net pay correlates to wages received after taxes and other deductions have been removed. In some embodiments, said hourly rate is used by the Available Earnings tool (AE module) to determine earnings by the employee.
In some cases, the employee requires a minimum hourly rate in order to be eligible by the system for accessing earnings. In some embodiments, the minimum hourly rate is at least from about $0.1 to about $100 per hour, such as for example, from about $1 to about $50 per hour, from about $2 to about $25 per hour, from about $3 to about $15 per hour, for example at least about $3 to about $10 per hour, or about $4 per hour.
In some embodiments, the PD module determines a payment schedule for when the employee is expected to receive wages. In some embodiments, the PD module determines a correlating work schedule for a given pay period that aligns with the payment schedule. In some embodiments, the PD module is configured to receive input and/or automatically adjust for holidays, weekends, vacations, sick days, etc.
If the PD module identifies a predictable pattern with the payment of wages to the employee (e.g., predictable pattern of direct deposits), then the payroll setup is complete 204. If, however, a predictable pattern is not identified by the PD module, such that the payroll setup is not complete 205, and the process will move towards at least a partially manual payroll setup, which may include the use of an agent. As used herein, the term agent includes any individual that can make manual updates to the system and a user's profile on the system. In some embodiments, the agent will be able to verify deposits made to the account in the financial institution, and/or the agent may enter in the wages information using paystub or other information available (e.g., manual checks deposited, verification of naming of transactions, etc.) 206. In some embodiments, where the direct deposits made to the financial institution did not match the employer information, and/or the hourly rate was less than $4 per hour (e.g., calculated per PD module) 208, a paystub may be needed to verify the financial information. In some embodiments, the PD module automatically, and/or an agent requests the employee for a paystub 210, at which point the paystub is placed in queue to be reviewed and verified 212. In some embodiments, the paystub is verified 214, thereby completing the payroll set up. In some embodiments, an error will prompt for the paystub to be requested 210 again.
In some embodiments, the payroll setup is identified as not complete 205 due to the direct deposits not having a regular pattern, and/or the wages from an employer was split between multiple accounts (at the same financial institution and/or at different financial institutions) 216. In some embodiments, the payroll setup is identified as not complete 205 due to other reasons, such as invalid description or terms in the direct deposits to the account, an insufficient amount or lack of deposit history (including insufficient or no direct deposits found), no deposits having a minimum threshold amount (e.g., at least about $50, $75, $100, $150, or $200), an employer type not supported (e.g., unemployment, self-employed, etc.), no transactions found in the account, and/or the account not being valid (e.g., not using a checking account at the financial institution) 218.
In some embodiments, in addition to a payroll setup queue and paystub queue (see
In some embodiments, the AE module 104 is configured to determine the amount of earnings available to the employee. As described herein, in some embodiments the available earnings correspond to the time worked by the employee during a given pay period (e.g., in advance of receiving the wages according to the normal pay schedule). In some embodiments, determining the amount of earnings is contingent on verification of the employment (as described herein, e.g., via the EG module).
In some embodiments, the amount of earnings calculated and granted corresponds to the current pay cycle. In some embodiments, each pay cycle maps to a paycheck at the end or after the given pay cycle end date. As described below (e.g.,
In some embodiments, the amount of earnings is calculated based on an earnings schedule, and earnings hourly rate. In some embodiments, the earnings available is determined based on actual earned income less any expenditures made by the employee during the pay period. In some embodiments, the actual earned income corresponds to the hours worked by the employee during a given pay period multiplied by the employee's hourly rate (as determined by the PD module for example). As described herein, the hourly rate may be post-tax based.
In some embodiments, the earnings are accumulated according to a predetermined frequency. For example, in some embodiments, the earnings are accumulated hourly (for each hour worked), every four hours (e.g., each half day worked), daily, every other day, weekly, every ten days, bi-weekly, monthly, etc. As described herein, the earnings are accumulated subject to clearance or “active status” per the Earnings Gatekeeper module.
In some embodiments, the expenditures correspond to funds and/or earnings withdrawn by the employee. In some embodiments, the expenditures correspond to payments made, and/or transfer of earnings to another account or individual. Accordingly, the expenditures may refer to the earnings accessed by the employee ahead of receiving the wages during the pay period. In some embodiments, the earnings are disbursed to the employee via a financial account associated with the system (e.g., “system account”, as described herein). In some embodiments, the system account essentially provides the funds associated with the system as the earnings, which may be withdrawn by the employee, transferred to another financial account associated with the employee, etc. In some embodiments, the AE module restricts the amount of expenditures allowed by the employee with respect to the earnings (e.g., restricts the accessible earnings). For example, in some cases, the AE module restricts the allowable expenditure of the earnings to a percentage amount of the total wages predicted to be received. In some embodiments, the AE module restricts the expenditure of the earnings to at most about 5%, 10%, 25%, 50%, 75%, 80%, 90% or 100% of the wages expected to be received (as predicted using the PD module for example). In some embodiments, the AE module restricts the expenditure of the earnings to a particular currency amount. For example, in some embodiments the AE module restricts the expenditure of the earnings to at most about $100 (U.S. dollar), $250, $500, $1,000, $2,000, $5,000, or $10,000. In some embodiments, the AE module restricts the expenditure of the earnings using a combination of a percentage of the total wages predicted and a currency amount. For example, in some embodiments, the AE module restricts the expenditure of the earnings from about 50% to about 90% of the total wages predicted, up to a maximum of from about $500 to about $2,000.
In some embodiments, as described herein, the system may be interfaced with the employee using a computing device (e.g., the system may be provided as an “app” on a mobile device).
In some embodiments, as described herein, the system may also include other funds (e.g., any currency or monetary value, such as U.S. Dollar), which is separate from the earnings. In some cases, where the wages are directly deposited or otherwise transferred to the system (e.g., to a profile associated with the employee), after the wages have been received for a given pay period, the available earnings are converted to the funds amount (e.g., “cash” as depicted in
In some embodiments, where wages are deposited into an account for another financial institution, the AE module is configured to reconcile the expenditures of the earnings (during the pay period) by automatically withdrawing the expenditure amount from the financial institution account. In other cases, for example where wages are directly deposited into the system (e.g., into an account associated with the system (“system account”)), the amount of the expenditures are automatically deducted from the wages, and the remaining is added to the funds available (e.g., “cash” in
As described herein, in some embodiments, the earnings available is based on unpaid wages for time worked by the employee. Accordingly, earnings available may be presented to the employee according to pay period (e.g., pay cycle), wherein in some cases, once wages for a given pay period is received, the earnings available will then reflect the next pay period. In some embodiments, depending on when the wages are actually received by the employee, there may be an overlap in the earnings available between one pay period and the next pay period. Accordingly, in some cases, there may be an offset of when a pay period ends, and when the wages are actually paid.
As described herein, in some embodiments the system functions similar, in some aspects, to a checking account, wherein instead of waiting every pay cycle to access funds, the earnings balance is updated in advance of the pay cycle. In some case, the earnings balance is updated in real-time, hourly, daily, every other day, weekly, etc. for time worked, wherein these earnings may be accessed and used for expenditures (as described herein, including for example cash withdrawal, purchasing items digitally, purchasing items at a store, making payments, transferring to another person or account, etc.).
In some embodiments, the EG module 106 is configured to determine whether the employee is allowed to access the accumulated earnings during a given pay period. In some embodiments, the EG module must first determine whether the employee has an active employment before such accumulated earnings are determined. Accordingly, the earnings reported in
In some embodiments, such active status (and/or “inactive status”) is determined (e.g., by the EG module) based on use of an employment email, as described herein, wherein an active email account is taken to be correlated with current employment. In some embodiments, the email verification occurs in three stages: an email validation stage, an email verification stage, and an email existence stage.
In some embodiments, the email validation stage helps filter out non-work-related emails. For example, in some embodiments, the EG module will check the user's (e.g., employee's) local name in the work email address to see if it matches or is close to the user's name when the user provided their information to the system (e.g., when they signed up to the system). In some cases, the EG module will also check the user's domain in the work email to see if it matches or is close to the user's employer's name (e.g., as provided by the user to the system).
In some embodiments, once a user email has been validated, the EG module then proceeds to the verification stage. In some embodiments, the verification stage helps ensure that the user has access to the work email address. In some embodiments, the verification stage comprises the EG module (or any other component or module in communication with the system) to send an email to the work email address the user inputted, where instructions are provided for the user to verify the email. For example, in some cases, the email contains a link that when accessed, verifies the user. In some cases, the user responds to the email to provide verification. In some embodiments, the user email can also become verified through reverse email verification, wherein (e.g., using a webhook) the user emails a specific email (e.g., provided by the system) from their work email address. Once an email is verified, the EG module may indicate (within the system and/or externally, such as to a user and/or agent), to grant the user earnings. In some embodiments, the EG module is configured to perform instant verification where the email is checked to see if it is still valid after confirming that ownership checks of the email are complete (e.g., email validation). In some embodiments, such instant verification is performed every time an employee receives wages to confirm whether the email is still valid and/or active, and/or the employee is still employed.
In some embodiments, the system only grants users earnings if their email has been verified, and their work email currently exists. As described herein, the verification stage helps ensure that the user has access to the work email at time of verification. In some embodiments, the email existence stage helps ensure that the verified email is still active before granting earnings (e.g., during a given pay cycle). For example, if a user changes employment, or even leaves their employer, generally, one of the first steps the employer may take is to deactivate their email account. As such, when the email is deactivated, the email existence check should fail. In some embodiments, before granting earnings, the EG module takes all the users that have a verified email and performs a corresponding email existence check. In some embodiments, if the user fails the email existence check, then the EG module will classify as the email no longer existing (e.g., being invalid), such that the email verification stage process is performed again (e.g., a new verification email is automatically sent to their work email address again).
In some embodiments, the email existence is checked one or more times per pay cycle. In some embodiments, if the user passes the email existence check, then they are granted earnings. In some embodiments, the email existence is checked daily, every two days, once a week, or every ten days.
In some embodiments, the EG module is configured to determine whether the employee has an “active status” (and/or an “inactive status”) based on a location of the employee, and whether it correlates with a location for the employment (e.g., using GPS coordinates of the employee, employment location, predetermined geofence, etc.). In some embodiments, the EG module is provided with a work location that has been approved (e.g., system verification of address and employer, agent verification, etc.). In some embodiments, for example, a residential address may not qualify as an approved work location, unless approved by an agent.
In some embodiments, the location of the employee is determined via a location monitoring software. In some embodiments, the location is obtained using a computing device of the employee, such as a mobile device (e.g., smart device, smart phone, smart watch, etc.). In some embodiments, the EG module is configured to periodically check the location of an employee to determine whether a sufficient amount of time is spent so as to qualify an active status. In some cases, an employment key card (e.g., access card) is used to track when the employee enters and/or exits an employment facility. As described herein, in some cases, the EG module is configured to determine how long the employee was located at the location associated with the employment. For example, in some cases, the location of the employee may use a geofence to indicate an area of employment, and where the time and duration the employee entered an employment location and stayed there is accessible. Accordingly, as described herein, in some cases, the EG module is configured to restrict the amount of available earnings based on the number of hours the employee was located at an employment location, and/or send an alert (e.g., to the employee and/or a personnel associated with the system) for verification of hours worked (e.g., for that day). In some embodiments, the EG module checks for the employee being located within an area of employment at least within 24 hours, 2 days, 3 days, 4 days, 5 days, 1 week of the pay cycle, or at any time during the pay cycle.
In some embodiments, the EG module bases an active status via identifying a trusted segment, which may include receipt of paychecks by the user while meeting certain risk, income stability, and/or payroll criteria being employed. In some embodiments, a trusted segment is considered a lagging employment indicator (whereas employment email and location verification are more real-time signals), considering that trusted segment relies on the next paycheck being received as confirmation of employment. In some embodiments, if a user becomes unemployed and they receive earnings via a trusted segment, the EG module will only opt them out of a trusted segment upon determining that a paycheck was not received when expected.
In some embodiments, a user's income stability is recalculated when any one or more of the following events happen: the user receives a paycheck on time and/or in the amount predicted, the user misses a paycheck that was expected to be received, the user's paycheck arrives outside a permissible time tolerance of the predicted payment date (e.g., based on an estimated frequency), the amount of the paycheck is outside a permissible tolerance from the predicted amount (as described herein). In some embodiments, the user's income stability increases (e.g., such as a rating), or remains stable if the paycheck is received on time (within a tolerance, as described herein), and/or with the expected amount (within a tolerance, as described herein). In some embodiments, the user's income stability decreases (e.g., such as a rating), or become unstable based on one or more occurrences of the user missing a paycheck, and/or the user's paycheck arriving outside a permissible tolerance with respect to when received and the amount received (as described herein).
In some embodiments, the EG module is configured to access the employee's account at a financial institution (as described herein), so as to determine whether a deposit related to the employee's wages (e.g., direct deposit, cash deposit, check deposit) was made according to the predictable pattern determined via the PD module. In some embodiments, where direct deposits and/or other deposits related to wages are configured to be deposited to the system, the EG module is configured to determine whether such deposit aligns with the predictable pattern determined via the PD module.
For example, with respect to income stability, in some embodiments, the EG module verifies whether the actual wages received for a given pay period (and after earnings was made available) was on time and/or within a tolerance of the predicted amount (e.g., wages received at an account in another financial institution). In some cases, if the wages were received within about 24 hours, 36 hours, 48 hours, or 72 hours of the predicted pay date (e.g., as determined by the PD module, and as described herein), the employee will remain in an active status (providing there are no other clearance issues). In some embodiments, if the amount of wages received was within 5%, 10%, or 25% of the predicted amount (e.g., as determined by the PD module), the employee will remain in an active status (providing no other clearance issues). Accordingly, where wages are received and then used to pay back the advance wages (earnings) obtained by the employee, such earnings have been restored. For example, as described herein, a system account may be configured to disburse the earnings (e.g., advanced wages) to the employee. Upon receiving the scheduled wages (e.g., paycheck), which may be configured to be direct deposited into the same or a different system account or an employee account, the disbursed earnings may then be deposited into the system account (that disbursed the earnings) to restore the expenditures. In some embodiments, the system account may be specific to the employee. In some embodiments, the disbursed earnings may be funds that are already in the system account, or they may be funds located in another system account that provides disbursed earnings, and receives back the restored amount upon the employee receiving a paycheck (e.g., scheduled wages).
In some cases, where the wages received is outside a tolerance for receipt date and/or amount, the EG module will restrict future earnings being made available, and/or provide an alert to the employee and/or other personnel to confirm the predicted pay amount and pay date. For example, in some cases, the employee may have switched employers, or took a leave of absence, or quit. In some embodiments, one or more occurrences of wages received being outside a tolerance in amount and/or date, and/or the employee not having an active status due to actual hours worked, may result in the employee being identified by the EG module with a risk for employment stability. In cases where insufficient wages are received (e.g., including no wages received) to pay back the advanced wages obtained by the employee, such earnings are associated with a restore failure designation (e.g., a restore fault). Accordingly, the EG module may restrict future earnings being available until the employee re-affirms their stability, which may be for example, similar to the on-boarding process by the PD module, where multiple direct deposits (or other deposits relating to wages) may be required.
In some embodiments, as described herein, the Earnings tool is provided by one or more computing devices, wherein the Earnings tool can be embodied as a computer system (e.g., see
In some embodiments, the one or more decision engines applies one or more algorithms (e.g., an ML algorithm) to predict an employment status, where applying such an algorithm may be based on training data from historical records of users and other individuals (e.g., a cohort of individuals). In some embodiments, such training data includes labels for each set of respective data that corresponds to a user i) receiving a next paycheck (e.g., a next scheduled wages), or ii) not receiving a next paycheck (e.g., not receiving a next scheduled wages). In some embodiments, the set of respective data (both the training data, and corresponding data for the employee (referred to herein as “employment status data”)) includes one or more input parameters such as for example: past paycheck histories (such as missing records, paycheck sizes, arrival times, etc.), past user activities, which includes on the system (such as cash out/restore, login, customer service contacts (e.g., a system administrator), etc.), past employment signal and earnings data, past bank transactions (such as spending behavior, competitor transactions, certain categories of transactions (loan, U-Haul, restaurant, etc.), etc.), and others.
Accordingly, in some embodiments, the ML model, via the training model, includes one or more parameters associated with a given weight in an overall calculation for predicting whether a next paycheck will be received. In some embodiments, such weights are updated based on additional data being provided as part of the training model.
In some embodiments, using the ML model, the EG module, for each user, performs a periodic evaluation (or an evaluation for a new user), using the parameters corresponding to the user so as to predict a probability output on whether the user receives the next paycheck. In some embodiments, such periodic evaluation occurs daily, every 2, 3, 4, 5, or 6 days, weekly, bi-weekly, based on pay period, or any combination thereof.
In some embodiments, the system is configured to send an alert to the employee, a system administrator, or both, if it is predicted that the employee will not receive a next paycheck (e.g., next scheduled wages).
In some cases, the EG module confirms an active status (and/or “inactive status”) using one or more activity indicators, such as for example using a software application, for example Zoom or Microsoft Teams, determine whether the employee was listed as “available” during a given day. In some embodiments, the EG module is configured to determine how long such a signal was received from the employment computing device correlating to an active status (e.g., how long the employee had an “available” status, an “away” status, and/or an “offline” status). For example, in some cases, the EG module is configured to determine that a signal correlating to an active status was received for only 4 hours in a given day. Accordingly, in some cases, the EG module restricts the available earnings to 4 hours for that day. In some cases, the EG module sends an alert to the employee or other personnel to confirm whether the employee indeed only worked 4 hours.
In some embodiments, the Risk module 107, which may correlate with the EG module via the trusted segment, is configured to determine whether the employee is allowed to access the accumulated earnings during a given pay period. In some embodiments, the Risk module operates separately from the EG module. In some embodiments, the Risk module operates together with EG module to determine whether an employee is allowed to access earnings. In some embodiments, the EG module permits an employee to access their earnings based at least in part on information obtained via the Risk module.
In some embodiments, the Risk module is configured to determine a risk (e.g., risk level, risk score, etc.) associated with the employee, wherein the risk correlates at least in part as to whether the employee has and/or will earn wages so as to reconcile any earnings that were used (e.g., expenditures as described herein). For example, an employee determined with a high risk level may be attributed with a low likelihood of receiving wages as predicted (e.g., a next paycheck, next scheduled wages), while an employee with a low risk level may be attributed with a high likelihood of receiving wages as predicted. A high risk level may correlate with an inactive employment status, while a low risk level may correlate with an active employment status. In some embodiments, the risk (e.g., risk level, risk score, etc.) is determined based on or more risk factors. In some embodiments, the one or more risk factors comprise, financial institution (e.g., bank) transactions by the employee, email verification data, activity indicators (as described herein), location indicators (as described herein, e.g., when tracking location of the employee), other external data, or any combination thereof. For example, in some cases, the bank transactions relate to amount of wages actually deposited, frequency of wages deposited, amount of withdrawals, or any combination thereof. In some cases, a reduction in wages and/or one or more missed wages, as determined via deposits (e.g., direct deposits, cash deposits, check deposits, etc.), will be attributed with an increased risk (e.g., risk level, risk score, etc.). In some embodiments, a more frequent “inactive status”, for example as determined via email verification (as described herein), activity indicators, and/or location of employee, may result in an increased risk score. For example, in some cases, where the employee fails to verify email, has a decreased “available” status using activity indicators, and is detected (e.g., via a mobile device, an employee key card, etc.) to be outside an employment location for longer periods of time (or completely) will suggest the employee is not working according to a predetermined schedule, and thus access to the earnings may need to be restricted to avoid a risk of the employee using said earnings without having wages to reconcile with. In some embodiments, as described herein, one or more decision engines utilizes such risk factors for the employee stored as data on the system (e.g., risk factors data).
In some embodiments, the Risk module determines the risk (e.g., risk level, risk score, etc.) using one or more decision engines (as described herein). In some embodiments, the one or more decision engines applies one or more algorithms. In some cases, the Risk module uses a machine learning algorithm to better predict if an employee will not earn the predicted wages based on any combination of risk factors and other information relating to the employee. In some embodiments, the machine learning algorithm assigns weights for each risk factor data input, which is applied when determining an overall risk level. In some cases, the machine learning algorithm adjust risk scores based on historical data (e.g., trained data) for a given employee. For example, if in some cases the location indicators identify an employee outside of their employment location for a prolonged period, but the wages still arrive as predicted, the machine learning algorithm may not increase the risk score as significantly (or at all) if an employee is determined to be outside of their employment location for a prolonged period of time. In some case, the Risk module is configured to alert the employee regarding said detection of a risk factor, such that the employee can provide input as to any special considerations (e.g., occasional/routine site visits or other visits that is part of employment but outside of employment location).
In some embodiments, the Risk module is configured to communicate to the EG module the risk score, such that the EG module determines whether to restrict access to earnings.
The system and methods described herein, including the system for determining available earnings for an employee, including verification of employment status, are, in some embodiments, performed on one or more computers.
For example, the building and deployment of any system described herein can be implemented in hardware or software, or a combination of both. In one embodiment, a machine-readable storage medium is provided, the medium comprising a data storage material encoded with machine readable data which, when using a machine programmed with instructions for using said data, is capable of executing any one of the methods described herein and/or displaying any of the datasets or results (e.g., available earnings, employment status, employment stability) described herein. Some embodiments can be implemented in computer programs executing on programmable computers, comprising a processor and a data storage system (including volatile and non-volatile memory and/or storage elements), and optionally including a graphics adapter, a pointing device, a network adapter, at least one input device, and/or at least one output device. A display may be coupled to the graphics adapter. Program code is applied to input data to perform the functions described above and generate output information. The output information is applied to one or more output devices, in known fashion. The computer can be, for example, a personal computer, microcomputer, or workstation of conventional design.
Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language can be a compiled or interpreted language. Each such computer program is preferably stored on a storage media or device (e.g., ROM or magnetic diskette) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. The system can also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
The signature patterns and databases thereof can be provided in a variety of media to facilitate their use. “Media” refers to a manufacture that contains the signature pattern information of an embodiment. The databases of some embodiments can be recorded on computer readable media, e.g., any medium that can be read and accessed directly by a computer. Such media include, but are not limited to: magnetic storage media, such as floppy discs, hard disc storage medium, and magnetic tape; optical storage media such as CD-ROM; electrical storage media such as RAM and ROM; and hybrids of these categories such as magnetic/optical storage media. One of skill in the art can readily appreciate how any of the presently known computer readable mediums can be used to create a manufacture comprising a recording of the present database information. “Recorded” refers to a process for storing information on computer readable medium, using any such methods as known in the art. Any convenient data storage structure can be chosen, based on the means used to access the stored information. A variety of data processor programs and formats can be used for storage, e.g., word processing text file, database format, etc.
In some embodiments, the systems and methods described herein, including the systems and methods for determining available earnings and employment status, are performed on one or more computers in a distributed computing system environment (e.g., in a cloud computing environment). In this description, “cloud computing” is defined as a model for enabling on-demand network access to a shared set of configurable computing resources. Cloud computing can be employed to offer on-demand access to the shared set of configurable computing resources. The shared set of configurable computing resources can be rapidly provisioned via virtualization and released with low management effort or service provider interaction, and then scaled accordingly. A cloud-computing model can be composed of various characteristics such as, for example, on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and so forth. A cloud-computing model can also expose various service models, such as, for example, Software as a Service (“SaaS”), Platform as a Service (“PaaS”), and Infrastructure as a Service (“IaaS”). A cloud-computing model can also be deployed using different deployment models such as private cloud, community cloud, public cloud, hybrid cloud, and so forth. In this description and in the claims, a “cloud-computing environment” is an environment in which cloud computing is employed.
The storage device 408 is a non-transitory computer-readable storage medium such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or a solid-state memory device. The memory 406 holds instructions and data used by the processor 402. The input interface 414 is a touch-screen interface, a mouse, track ball, or other type of pointing device, a keyboard, or some combination thereof, and is used to input data into the computer 400. In some embodiments, the computer 400 may be configured to receive input (e.g., commands) from the input interface 414 via gestures from the user. The network adapter 416 couples the computer 400 to one or more computer networks.
The graphics adapter 412 displays images and other information on the display 418. In various embodiments, the display 418 is configured such that the user may (e.g., employee, personnel associated with system) may input user selections on the display 418 to, for example, initiate the system for determining available earnings and/or employment status. In one embodiment, the display 418 may include a touch interface. In various embodiments, the display 418 can show available earnings and funds associated with a profile of the employee.
The computer 400 is adapted to execute computer program modules for providing functionality described herein. As used herein, the term “module” refers to computer program logic used to provide the specified functionality. Thus, a module can be implemented in hardware, firmware, and/or software. In one embodiment, program modules are stored on the storage device 408, loaded into the memory 406, and executed by the processor 402.
The types of computers 400 used by the entities of
In some embodiments, the processor applies one or more algorithms to predict an employment status of a user, and whether they will receive a next paycheck (as described herein). In some embodiments, each algorithm may correspond to determining whether a next paycheck will be received for a given number of parameters associated with the user (as described herein). In some embodiments, the one or more processors apply algorithms (e.g., algorithms embodied in trained models) to correlate the various combinations of parameters associated with the user and/or employment (as described herein). In some embodiments, at least one of the one or more algorithms may comprise a machine learning algorithm incorporating artificial intelligence (AI) to help determine whether a next paycheck will be received, as described herein. For example, in some embodiments, said artificial intelligence is applied to trained model data (which may be included in the decision engine data) and optionally existing user data (such as historical data correlating parameters, such as those exemplified in
In some embodiments, any one of the decision engine(s) described herein is any one of a regression model (e.g., linear regression, logistic regression, or polynomial regression), decision tree, random forest, gradient boosted machine learning model, support vector machine, Naïve Bayes model, k-means cluster, or neural network (e.g., feed-forward networks, convolutional neural networks (CNN), deep neural networks (DNN), autoencoder neural networks, generative adversarial networks, or recurrent networks (e.g., long short-term memory networks (LSTM), bi-directional recurrent networks, deep bi-directional recurrent networks), or any combination thereof. In particular embodiments, any one of the decision engine(s) described herein is a logistic regression model. In particular embodiments, any one of the decision engine(s) described herein is a random forest classifier. In particular embodiments, any one of the decision engine(s) described herein is a gradient boosting model.
In some embodiments, any one of the decision engine(s) described herein (e.g., a trained model) can be trained using a machine learning implemented method, such as any one of a linear regression algorithm, logistic regression algorithm, decision tree algorithm, support vector machine classification, Naïve Bayes classification, K-Nearest Neighbor classification, random forest algorithm, deep learning algorithm, gradient boosting algorithm, and dimensionality reduction techniques such as manifold learning, principal component analysis, factor analysis, autoencoder regularization, and independent component analysis, or combinations thereof. In particular embodiments, the machine learning implemented method is a logistic regression algorithm. In particular embodiments, the machine learning implemented method is a random forest algorithm. In particular embodiments, the machine learning implemented method is a gradient boosting algorithm, such as XGboost. In some embodiments, any one of the trained model(s) described herein is trained using supervised learning algorithms, unsupervised learning algorithms, semi-supervised learning algorithms (e.g., partial supervision), weak supervision, transfer, multi-task learning, or any combination thereof.
In some embodiments, any one of the trained model(s) described herein has one or more parameters, such as hyperparameters or model parameters. Hyperparameters are generally established prior to training. Examples of hyperparameters include the learning rate, depth or leaves of a decision tree, number of hidden layers in a deep neural network, number of clusters in a k-means cluster, penalty in a regression model, and a regularization parameter associated with a cost function. Model parameters are generally adjusted during training. Examples of model parameters include weights associated with nodes in layers of neural network, support vectors in a support vector machine, node values in a decision tree, and coefficients in a regression model.
In some embodiments, any one of the trained model(s) described herein are trained via training data located in the trained model data (which may be in communication with the processor 108).
In various embodiments, the training data used for training any one of the trained model(s) described herein includes reference ground truths that indicate one or more parameters associated with a label that indicates a next paycheck was received (hereafter also referred to as “positive” or “+”) or whether one or more parameters were not associated with next paycheck received (hereafter also referred to as “negative” or “−”). In various embodiments, the reference ground truths in the training data are binary values, such as “1” or “0.” For example, one or more parameters associated with a next paycheck received status can be identified in the training data with a value of “1” whereas one or more parameters not associated with a next paycheck received status can be identified in the training data with a value of “0.” In various embodiments, any one of the trained model(s) described herein are trained using the training data to minimize a loss function such that any one of the trained model(s) described herein can better predict the outcome (e.g., whether a next paycheck would be received) based on the input (e.g., one or more parameters). In some embodiments, the loss function is constructed for any of a least absolute shrinkage and selection operator (LASSO) regression, Ridge regression, or ElasticNet regression. In some embodiments, any one of the trained model(s) described herein is a random forest model, and is trained to minimize one of Gini impurity or Entropy metrics for feature splitting, thereby enabling any one of the trained model(s) described herein to better predict whether a user will receive a next paycheck.
In some embodiments, historical data relating to users, parameters and whether a next paycheck was received, as obtained via the system 100 is stored in the computing system (e.g., see
In some embodiments, the PD module sets up a payroll automatically based on user (e.g., employee) information entered. In some embodiments, the automatic payroll setup comprises of 4 different stages: i) load transactions, ii) classify transactions, iii) group transactions, iv) calculate payday pattern, v) order by employer, and vi) complete setup.
Load transactions: Transactions in an account at a financial institution (e.g., bank account) for the employee is loaded (e.g., loaded to, accessed by, the PD module). If there are no transactions, then the automatic setup cannot proceed. If the user uses an account via the system configured to receive direct deposits (hereinafter referred to as “EE” account), transactions are obtained from EE instead of the connected account at the financial institution.
Classify transactions: For the transactions identified in the financial institution account (e.g., bank account), those transactions which are deposits are identified as well as those which contain invalid terms. Accordingly, the PD module obtains a list of transactions that are potential direct deposits (“DDs”) from an employer(s).
Group transactions: Once all potential DDs are identified, they are then grouped on the basis of match between the transaction's description and additional filters such as military, employer based, non-employer based.
Calculate Payday Pattern: Based on the groups obtained from the previous step, pay date patterns are then calculated so as to identify which transactions (e.g., groups of transactions) correlate with a direct deposit having a predictable pattern.
Order by Employer: All the groups are then ordered by Payroll Setup complete and Employer based. Groups with Payroll Setup=Complete, correspond to a specific pay date pattern being identified for that group using any of the filters. Then, the groups are ordered by employer based. In some cases, employer based is considered any group that i) was created in EmployerMatch Transaction Grouper (e.g., this may be a part of the automatic payroll setup process (as described herein) where employer based pattern are designated as higher priority), and ii) pay date type was calculated by EPS (e.g., where a pattern was identified for specific employers as part of employer preferred setup (as described herein), and for which is incorporated as part of the group ordering).
Complete Setup: Choose winner out of all Payroll Setup=Complete and ordered by Employer based status. I.e., Employer based has priority over not Employer based. If there is no Group withPayroll Setup=Complete, then send the user to the Payroll Setup queue.
If Employer based groups are complete, then transactions are matched together to determine a pattern. The pattern may be determined based on 1) Dominant phrases, such as where repetition of terms is identified, 2) Employer based transaction frequency, and/or 3) Fuzzy match to employer name. The prioritization for determining a pattern may follow this prioritization order: i) DominantPhrase, ii) EmployerTermFrequency, iii) FuzzyMatchEmployer. If however, none of these are able to help determine a pattern, then non-employer transactions or transactions that match the user's name are sought and/or identified for determining a pattern.
If non-Employer based groups complete. The prioritization follows this order: i) No Employer Match Transactions; ii) User Name Transactions
In some embodiments, the PD module sets up a payroll automatically based on user (e.g., employee) information entered, which includes setting up an employer as a preferred employer, so as to increase the throughput and accuracy of the automatic payroll setup. For example, the EPS, in some cases, allows to set users (e.g., employees) up with fewer paychecks if their employer is recognized, and there is high confidence that the employer will have the same payroll pattern as seen with other users. In some embodiments, the EPS comprises of 3 different stages: i) create a pattern set, ii) group by pay scale, and iii) filter outliers.
Create Pattern Set: For all users who are currently setup for a certain employer (e.g., identified by employerid, using the PD module) and for which a paycheck was identified in the past month, the PD module will: i) obtain the most common pay pattern; ii) obtain the most common holiday behavior; iii) obtain the most common indirect holiday behavior, such as a holiday landed on a normal payday, so the paycheck is posted before/after the holiday instead because the bank was closed; iv) obtain the most common pay cycle offset, wherein pay cycle offset=when employees actually get paid for the work they have already done, e.g. if employee got paid every week on Friday for earnings from 4/3 to 4/9, if pay date=4/22 (pay cycle offset=1), if pay date=4/15 (pay cycle offset=0), if pay date=4/8 pay cycle offset=−1); and v) obtain the most common pay cycle type, so as to help identify which earning period is active at any given time (for example: pay cycle starts on a Sunday and ends on a Saturday and runs for two weeks).
Group by pay cycle: This is done for each pay cycle frequency.
Filter Outliers: Filter out any results that do not meet the requirement of having at least 60% of users (employees) with that employer/pay cycle frequency who share the same pay pattern.
The PD Module is further configured to review the accuracy of a payroll setup pattern to make an assessment if a user (e.g., employee) is still receiving a paycheck or not. On every pay day (the predicted date set by Payroll Setup as to when the user will receive wages for a given pay period), the PD module waits from about 24 to about 72 hours, such as about 36 hours (which may be identified as a payroll grace period herein) to assess whether the employee received their wages (e.g., whether the direct deposit was received). An exemplary process for this assessment includes to first classify transactions similar to how payroll setup is accomplished (see for example, Examples 1 and 2); the goal is to select the potential direct deposits out of all transactions. Once the system (e.g., PD Module) has potential direct deposits, it will try to see which transactions arrived near pay day, wherein “near to pay day” may depend on the financial institution and/or employer processing the direct deposit. For example, if the employee is using Chime bank (known for its high variability on posting dates) it will use the pay cycle window, which may be, for example: i) weekly pay periods: +/−3 days; ii) bi-weekly/semi-monthly: +/−7 days; iii) monthly: +/−14 days. Thus, if a direct deposit arrives in those time windows, it will be considered as arrived near payday.
If, however, the user (employee) is using a financial institution included in a list of “Early Posting Banks”, such as Huntington Bank or Capital One, then the PD Module will look for potential direct deposits in the time window (−3, +2) days from payday.
For all other financial institutions, the PD module will look for direct deposits that arrived within +/−1 day of the payday prediction.
The last step will be to use the “employer based” detector, which will try to find the employer name in the transaction description and/or a similarity with the transactions descriptions stored in a payroll description database (of the system). Hence, if the potential direct deposits have a match with the employer based detector and arrives within the time window described above, the user will be marked as payroll active.
If not, the PD module will then flag the user as being payroll inactive, and the user will be blocked from accessing any earnings.
Thus, if the system identifies that the most recent paycheck posted within the predicted time period, the user is identified as being payroll active with the assumption that they will receive their next paycheck on their next predicted payday. For a user to be able to access earnings (advanced wages), they must be payroll active. The system will continue to look at transactions even after that time point (e.g., after the grace period), and if we get an update later that shows a transaction did happen within the grace period window (for most users is +/−1 day from payday), the system will then bring place the user as payroll active.
Disclosed herein, in some aspects, is a system for disbursing advanced wages to an employee prior to a payment date of scheduled wages for a pay period, the system comprising one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the system to perform operations including: determining an eligibility of the employee for receiving the advanced wages, wherein the advanced wages correspond to cumulative wages accrued by the employee at a given moment during the pay period; based on the eligibility of the employee, identifying a predictable pattern for i) the amount of scheduled wages received by the employee, ii) the frequency of the scheduled wages received, iii) a rate at which the scheduled wages are accrued during the pay period (“pay rate”), or iv) a combination thereof; calculating an amount of advanced wages available (“available amount”) for disbursement to the employee, the available amount based on i) the cumulative time worked by the employee during the pay period, ii) the predictable pattern, iii) expenditures by the employee, iv) a threshold percentage of the predicted pattern amount of the scheduled wages, v) a threshold amount, or vi) a combination thereof; verifying an employment status of the employee during the pay period, the employment status corresponding to an active status or an inactive status, wherein an active status corresponds a prediction of the employee receiving the next scheduled wages, and an inactive status corresponds to a prediction of the employee not receiving the next scheduled wages; and based on the employee having an active status, disbursing to the employee a disbursed amount of the advanced wages up to the available amount; wherein any one of the one or more processors is configured to be in communication with one or more financial accounts associated with the employee (“employee account”), one or more financial accounts associated with the system (“system account”), an employment email account associated with the employee, a location indicator to detect a location of the employee, a computing interface to receive input from and/or output data to the employee, or any combination thereof, so as to perform operations from one or more of (a)-(e).
In some embodiments, verifying the employment status comprises predicting whether the employee will receive a next scheduled wages using a first decision engine by the one or more processors, wherein an active status corresponds to an employee receiving the next scheduled wages. In some embodiments, the first decision engine comprises a trained model, a decision tree, an analytical expression, or a combination thereof. In some embodiments, the first decision engine applies one or more employment status data for the employee, the employment status data comprising past scheduled wages data, past employee financial activities data, past disbursed advanced wages data, past restore faults data, or a combination thereof, to predict whether the employee will receive the next scheduled wages. In some embodiments, the first decision engine applies the one or more employments status data using a machine learning model. In some embodiments, the machine learning model incorporates a respective weight for each type of employment status data, wherein each respective weight is determined using trained data of historical employment status data relating to the employee, from a cohort of individuals, or both, wherein each data input is correlated with whether i) the respective individual of the cohort of individuals, or ii) employee, received scheduled wages for a given pay period.
In some embodiments, past scheduled wages data comprises receipt of on-time scheduled wages, missing scheduled wages, the amount of scheduled wages with respect to the predicted pattern amount, or any combination thereof. In some embodiments, past employee financial activities comprise transactions at a financial account associated with the employee, spending by the employee, or both. In some embodiments, the operations further include performing an employment status prediction at the beginning of each pay period. In some embodiments, the one or more processors is further configured to send an alert to the employee, a system administrator, or both, if the employee is predicted not to receive the next scheduled wages.
In some embodiments, verifying the employment status comprises determining an employee risk level using a second decision engine by the one or more processors. In some embodiments, a high risk level correlates with a low likelihood of the employee receiving the scheduled wages and an inactive status, and a low risk level correlates with a high likelihood of the employee receiving the scheduled wages and an active status. In some embodiments, the second decision engine applies one or more risk factors data comprising transactions at the employee account data, past verifications of the employee email account data, past verifications of the location of the employee data, past restore faults data, income stability data, past employment inactive status data, or a combination thereof, to determine an employee risk level. In some embodiments, the second decision engine applies the one or more risk factors data using a machine learning model. In some embodiments, the machine learning model incorporates a respective weight for each type of risk factor data, wherein each respective weight is determined using trained data of historical risk factor data relating to the employee, wherein each data input is correlated with whether the employee received the scheduled wages for a given pay period.
In some embodiments, determining the eligibility is based on a type of employer, a name of employer, a length of employment by the employee, a frequency of past scheduled wages received, an amount of the past scheduled wages, spending by the employee, consistency in the scheduled wages and/or frequency of the scheduled wages received, or a combination thereof. In some embodiments, identifying the predictable pattern comprises detecting a plurality of deposits to one or more employee accounts, wherein the plurality of deposits are detected to be within a prescribed tolerance of consistency with each other. In some embodiments, the prescribed tolerance of consistency is at most from about 1% to about 20%. In some embodiments, the prescribed tolerance of consistency is based on an amount of the plurality of direct deposits, a frequency of the direct deposits, or both. In some embodiments, the plurality of deposits comprise at least about 2 deposits, 3 deposits, 5 deposits, 10 deposits, or 20 deposits.
In some embodiments, the one or more processors is configured to recalculate the available amount at a predetermined frequency corresponding to time worked by the employee. In some embodiments, the predetermined frequency is in real-time, hourly, every two hours, every four hours, daily, weekly, or bi-weekly. In some embodiments, the threshold percentage is at most about 25%, 50%, 75%, or 90% of the predicted pattern amount of the scheduled wages. In some embodiments, the threshold amount is at most about $100, $250, $500, $1000, or $5000. In some embodiments, disbursing the disbursed amount comprises disbursing funds from the system account. In some embodiments, the one or more processors is configured to restore the disbursed amount, by automatically depositing to the system account the disbursed amount once the employee receives the scheduled wages, wherein the disbursed amount is deducted from the amount of the scheduled wages.
In some embodiments, verifying the employment status comprises verifying the employment email account, verifying the location of the employee via the location indicator, determining an income stability for the employee, determining an employee risk level, verifying a restore record of the employee, receiving a timesheet relating to time worked, performing an employment status prediction, or a combination thereof. In some embodiments, verifying using an employment email comprises receiving an email from the employee. In some embodiments, the employee is designated with an inactive employment status when the email is not received.
In some embodiments, verifying the location of the employee comprises determining an amount of time the employee was detected to be located within a location of employment. In some embodiments, the location indicator comprises a global positioning system (GPS), a mobile device of the employee, an employment access card, or a combination thereof.
In some embodiments, verifying an income stability comprises determining whether an amount of one or more past scheduled wages was received within an income stability tolerance. In some embodiments, the income stability tolerance comprises receiving an amount that is within about 5%, 10%, or 25% of the predicted pattern amount of scheduled wages. In some embodiments, the income stability tolerance comprises receiving the scheduled wages within about 24 hours, 36 hours, 48 hours, or 72 hours of the payment date based on the predicted pattern frequency of scheduled wages. In some embodiments, the operations further include automatically recalculating the income stability based on a received scheduled wages and/or a missed scheduled wages.
Disclosed herein in other aspects, is a non-transitory computer readable medium for disbursing advanced wages to an employee prior to a payment date of scheduled wages for a pay period, the non-transitory computer readable medium comprising instructions that, when executed by a processor, cause the processor to perform operations including: determining an eligibility of the employee for receiving the advanced wages, wherein the advanced wages correspond to cumulative wages accrued by the employee at a given moment during the pay period; based on the eligibility of the employee, identifying a predictable pattern for i) the amount of scheduled wages received by the employee, ii) the frequency of the scheduled wages received, iii) a rate at which the scheduled wages are accrued during the pay period (“pay rate”), or iv) a combination thereof; calculating an amount of advanced wages available (“available amount”) for disbursement to the employee, the available amount based on i) the cumulative time worked by the employee during the pay period, ii) the predictable pattern, iii) expenditures by the employee, iv) a threshold percentage of the predicted pattern amount of the scheduled wages, v) a threshold amount, or vi) a combination thereof; verifying an employment status of the employee during the pay period, the employment status corresponding to an active status or an inactive status, wherein an active status corresponds a prediction of the employee receiving the next scheduled wages, and an inactive status corresponds to a prediction of the employee not receiving the next scheduled wages; and based on the employee having an active status, disbursing to the employee a disbursed amount of the advanced wages up to the available amount; wherein the processor is configured to be in communication with one or more financial accounts associated with the employee (“employee account”), one or more financial accounts associated with a system (“system account”), an employment email account associated with the employee, a location indicator to detect a location of the employee, a computing interface to receive input from and/or output data to the employee, or any combination thereof, so as to perform operations from one or more of (a)-(e).
In some embodiments, verifying the employment status comprises predicting whether the employee will receive a next scheduled wages using a first decision engine by the processor, wherein an active status corresponds to an employee receiving the next scheduled wages. In some embodiments, the first decision engine comprises a trained model, a decision tree, an analytical expression, or a combination thereof. In some embodiments, the first decision engine applies one or more employment status data for the employee, the employment status data comprising past scheduled wages data, past employee financial activities data, past disbursed advanced wages data, past restore faults data, or a combination thereof, to predict whether the employee will receive the next scheduled wages. In some embodiments, the first decision engine applies the one or more employments status data using a machine learning model. In some embodiments, the machine learning model incorporates a respective weight for each type of employment status data, wherein each respective weight is determined using trained data of historical employment status data relating to the employee, from a cohort of individuals, or both, wherein each data input is correlated with whether i) the respective individual of the cohort of individuals, or ii) employee, received scheduled wages for a given pay period.
In some embodiments, past scheduled wages data comprises receipt of on-time scheduled wages, missing scheduled wages, the amount of scheduled wages with respect to the predicted pattern amount, or any combination thereof. In some embodiments, past employee financial activities comprise transactions at a financial account associated with the employee, spending by the employee, or both. In some embodiments, the operations further include performing an employment status prediction at the beginning of each pay period. In some embodiments, the processor is further configured to send an alert to the employee, a system administrator, or both, if the employee is predicted not to receive the next scheduled wages.
In some embodiments, verifying the employment status comprises determining an employee risk level using a second decision engine by the processor. In some embodiments, a high risk level correlates with a low likelihood of the employee receiving the scheduled wages and an inactive status, and a low risk level correlates with a high likelihood of the employee receiving the scheduled wages and an active status. In some embodiments, the second decision engine applies one or more risk factors data comprising transactions at the employee account data, past verifications of the employee email account data, past verifications of the location of the employee data, past restore faults data, income stability data, past employment inactive status data, or a combination thereof, to determine an employee risk level. In some embodiments, the second decision engine applies the one or more risk factors data using a machine learning model. In some embodiments, the machine learning model incorporates a respective weight for each type of risk factor data, wherein each respective weight is determined using trained data of historical risk factor data relating to the employee, wherein each data input is correlated with whether the employee received the scheduled wages for a given pay period.
In some embodiments, determining the eligibility is based on a type of employer, a name of employer, a length of employment by the employee, a frequency of past scheduled wages received, an amount of the past scheduled wages, spending by the employee, consistency in the scheduled wages and/or frequency of the scheduled wages received, or a combination thereof. In some embodiments, identifying the predictable pattern comprises detecting a plurality of deposits to one or more employee accounts, wherein the plurality of deposits are detected to be within a prescribed tolerance of consistency with each other. In some embodiments, the prescribed tolerance of consistency is at most from about 1% to about 20%. In some embodiments, the prescribed tolerance of consistency is based on an amount of the plurality of direct deposits, a frequency of the direct deposits, or both. In some embodiments, the plurality of deposits comprise at least about 2 deposits, 3 deposits, 5 deposits, 10 deposits, or 20 deposits.
In some embodiments, the processor is configured to recalculate the available amount at a predetermined frequency corresponding to time worked by the employee. In some embodiments, the predetermined frequency is in real-time, hourly, every two hours, every four hours, daily, weekly, or bi-weekly. In some embodiments, the threshold percentage is at most about 25%, 50%, 75%, or 90% of the predicted pattern amount of the scheduled wages. In some embodiments, the threshold amount is at most about $100, $250, $500, $1000, or $5000. In some embodiments, disbursing the disbursed amount comprises disbursing funds from the system account. In some embodiments, the one or more processors is configured to restore the disbursed amount, by automatically depositing to the system account the disbursed amount once the employee receives the scheduled wages, wherein the disbursed amount is deducted from the amount of the scheduled wages.
In some embodiments, verifying the employment status comprises verifying the employment email account, verifying the location of the employee via the location indicator, determining an income stability for the employee, determining an employee risk level, verifying a restore record of the employee, receiving a timesheet relating to time worked, performing an employment status prediction, or a combination thereof. In some embodiments, verifying using an employment email comprises receiving an email from the employee. In some embodiments, the employee is designated with an inactive employment status when the email is not received. In some embodiments, verifying the location of the employee comprises determining an amount of time the employee was detected to be located within a location of employment. In some embodiments, the location indicator comprises a global positioning system (GPS), a mobile device of the employee, an employment access card, or a combination thereof.
In some embodiments, verifying an income stability comprises determining whether an amount of one or more past scheduled wages was received within an income stability tolerance. In some embodiments, the income stability tolerance comprises receiving an amount that is within about 5%, 10%, or 25% of the predicted pattern amount of scheduled wages. In some embodiments, the income stability tolerance comprises receiving the scheduled wages within about 24 hours, 36 hours, 48 hours, or 72 hours of the payment date based on the predicted pattern frequency of scheduled wages. In some embodiments, the operations further include automatically recalculating the income stability based on a received scheduled wages and/or a missed scheduled wages.
Disclosed herein, in other aspects, is a method for disbursing advanced wages to an employee prior to a payment date of scheduled wages for a pay period, the method comprising: determining an eligibility of the employee for receiving the advanced wages, wherein the advanced wages correspond to cumulative wages accrued by the employee at a given moment during the pay period; based on the eligibility of the employee, identifying a predictable pattern for i) the amount of scheduled wages received by the employee, ii) the frequency of the scheduled wages received, iii) a rate at which the scheduled wages are accrued during the pay period (“pay rate”), or iv) a combination thereof; calculating an amount of advanced wages available (“available amount”) for disbursement to the employee, the available amount based on i) the cumulative time worked by the employee during the pay period, ii) the predictable pattern, iii) expenditures by the employee, iv) a threshold percentage of the predicted pattern amount of the scheduled wages, v) a threshold amount, or vi) a combination thereof; verifying an employment status of the employee during the pay period, the employment status corresponding to an active status or an inactive status, wherein an active status corresponds a prediction of the employee receiving the next scheduled wages, and an inactive status corresponds to a prediction of the employee not receiving the next scheduled wages; and based on the employee having an active status, disbursing to the employee a disbursed amount of the advanced wages up to the available amount.
In some embodiments, verifying the employment status comprises predicting whether the employee will receive a next scheduled wages using a first decision engine, wherein an active status corresponds to an employee receiving the next scheduled wages. In some embodiments, the first decision engine comprises a trained model, a decision tree, an analytical expression, or a combination thereof. In some embodiments, the first decision engine applies one or more employment status data for the employee, the employment status data comprising past scheduled wages data, past employee financial activities data, past disbursed advanced wages data, past restore faults data, or a combination thereof, to predict whether the employee will receive the next scheduled wages. In some embodiments, the first decision engine applies the one or more employments status data using a machine learning model. In some embodiments, the machine learning model incorporates a respective weight for each type of employment status data, wherein each respective weight is determined using trained data of historical employment status data relating to the employee, from a cohort of individuals, or both, wherein each data input is correlated with whether i) the respective individual of the cohort of individuals, or ii) employee, received scheduled wages for a given pay period.
In some embodiments, past scheduled wages data comprises receipt of on-time scheduled wages, missing scheduled wages, the amount of scheduled wages with respect to the predicted pattern amount, or any combination thereof. In some embodiments, past employee financial activities comprise transactions at a financial account associated with the employee, spending by the employee, or both. In some embodiments, the method further comprises performing an employment status prediction at the beginning of each pay period. In some embodiments, the method further comprises sending an alert to the employee, a system administrator, or both, if the employee is predicted not to receive the next scheduled wages.
In some embodiments, verifying the employment status comprises determining an employee risk level using a second decision engine. In some embodiments, a high risk level correlates with a low likelihood of the employee receiving the scheduled wages and an inactive status, and a low risk level correlates with a high likelihood of the employee receiving the scheduled wages and an active status. In some embodiments, the second decision engine applies one or more risk factors data comprising transactions at the employee account data, past verifications of the employee email account data, past verifications of the location of the employee data, past restore faults data, income stability data, past employment inactive status data, or a combination thereof, to determine an employee risk level. In some embodiments, the second decision engine applies the one or more risk factors data using a machine learning model. In some embodiments, the machine learning model incorporates a respective weight for each type of risk factor data, wherein each respective weight is determined using trained data of historical risk factor data relating to the employee, wherein each data input is correlated with whether the employee received the scheduled wages for a given pay period.
In some embodiments, determining the eligibility is based on a type of employer, a name of employer, a length of employment by the employee, a frequency of past scheduled wages received, an amount of the past scheduled wages, spending by the employee, consistency in the scheduled wages and/or frequency of the scheduled wages received, or a combination thereof. In some embodiments, identifying the predictable pattern comprises detecting a plurality of deposits to one or more employee accounts, wherein the plurality of deposits are detected to be within a prescribed tolerance of consistency with each other. In some embodiments, the prescribed tolerance of consistency is at most from about 1% to about 20%. In some embodiments, the prescribed tolerance of consistency is based on an amount of the plurality of direct deposits, a frequency of the direct deposits, or both. In some embodiments, the plurality of deposits comprise at least about 2 deposits, 3 deposits, 5 deposits, 10 deposits, or 20 deposits. In some embodiments, the method further comprises recalculating the available amount at a predetermined frequency corresponding to time worked by the employee. In some embodiments, the predetermined frequency is in real-time, hourly, every two hours, every four hours, daily, weekly, or bi-weekly.
In some embodiments, the threshold percentage is at most about 25%, 50%, 75%, or 90% of the predicted pattern amount of the scheduled wages. In some embodiments, the threshold amount is at most about $100, $250, $500, $1000, or $5000. In some embodiments, disbursing the disbursed amount comprises disbursing funds from the system account. In some embodiments, the method further comprises restoring the disbursed amount, by automatically depositing to the system account the disbursed amount once the employee receives the scheduled wages, wherein the disbursed amount is deducted from the amount of the scheduled wages.
In some embodiments, the employment status comprises verifying the employment email account, verifying the location of the employee via the location indicator, determining an income stability for the employee, determining an employee risk level, verifying a restore record of the employee, receiving a timesheet relating to time worked, performing an employment status prediction, or a combination thereof. In some embodiments, verifying using an employment email comprises receiving an email from the employee. In some embodiments, the employee is designated with an inactive employment status when the email is not received.
In some embodiments, verifying the location of the employee comprises determining an amount of time the employee was detected to be located within a location of employment. In some embodiments, the location indicator comprises a global positioning system (GPS), a mobile device of the employee, an employment access card, or a combination thereof.
In some embodiments, verifying an income stability comprises determining whether an amount of one or more past scheduled wages was received within an income stability tolerance. In some embodiments, the income stability tolerance comprises receiving an amount that is within about 5%, 10%, or 25% of the predicted pattern amount of scheduled wages. In some embodiments, the income stability tolerance comprises receiving the scheduled wages within about 24 hours, 36 hours, 48 hours, or 72 hours of the payment date based on the predicted pattern frequency of scheduled wages. In some embodiments, the method further comprises automatically recalculating the income stability based on a received scheduled wages and/or a missed scheduled wages.
All publications, patents, patent applications and other documents cited in this application are hereby incorporated by reference herein in their entirety for all purposes to the same extent as if each individual publication, patent, patent application or other document were individually indicated to be incorporated by reference for all purposes.
While various specific embodiments have been illustrated and described, the above specification is not restrictive. It will be appreciated that various changes can be made without departing from the spirit and scope of the present disclosure(s). Many variations will become apparent to those skilled in the art upon review of this specification.
This application claims the benefit of and priority to U.S. Patent Application No. 63/421,518, titled “System and Method for Providing Advance Access to Unpaid Wages”, and filed Nov. 1, 2022; to U.S. Patent Application No. 63/421,519, titled “System and Method for Accessing Unpaid Wages”, and filed Nov. 1, 2022; and to U.S. Patent Application No. 63/421,515, titled “System and Method for Automatic Routing of Wages”, and filed Nov. 1, 2022; each of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63421518 | Nov 2022 | US | |
63421519 | Nov 2022 | US | |
63421515 | Nov 2022 | US |