IP Library Granted Patent US 11,094,020
Granted Patent B1
US 11,094,020 · App. 16/265,697 · Granted Aug 17, 2021

Methods and apparatus for constructing machine learning models to process user data and provide advance access to payments

Inventors: Jason Lee (New York, NY); Robert Louis Law, II (New York, NY); Konstantin Getmanchuk (Brooklyn, NY)
Assignee: DailyPay, Inc.
G06Q40/125G06F16/215
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,094,020
App. No.
16/265,697
Granted
Aug 17, 2021
Kind
B1
Abstract

Devices, systems, and methods herein relate to generating a machine learning model for providing access to earned income. In some embodiments, an apparatus includes a memory and a processor. The processor may be configured to receive calibration datasets including (1) historical time data indicating time worked by a set of users and (2) historical earnings data indicating earnings made by the set of users. The processor may be configured to construct, based on the calibration datasets, a model for identifying anomalous data. The processor may be configured to receive, from a compute device associated with an entity, raw data for a current time period. The processor may be configured to process the raw data by removing anomalous data to produce processed data. The processor may be configured to determine an available balance for each user from the set of users based on the processed data.

Claims (104)

1. An apparatus, comprising:

a memory; and

a processor operatively coupled to the memory, the processor configured to:

receive calibration datasets including (1) historical time data indicating time worked by a set of users and (2) historical earnings data indicating earnings made by the set of users, the calibration datasets including normal data and anomalous data, the anomalous data including one or more of an input error, a calculation error, or a communication error;

construct, based on the historical time data, a first model for identifying anomalous time data including time data errors;

construct, based on the historical earnings data, a second model for identifying anomalous earnings data including earnings data errors;

receive, from a compute device associated with an entity, raw data for a current time period that includes (1) time data indicating time worked by the set of users affiliated with the entity and (2) earnings data indicating earnings made by the set of users;

identify, using the first model and the second model, anomalous time data and anomalous earnings data in the raw data;

process the raw data by removing the anomalous time data and the anomalous earnings data identified in the raw data, to produce processed data without time data errors and earning data errors associated with the anomalous time data and the anomalous earnings data identified in the raw data; and

determine an available balance for each user from the set of users based on the processed data.

2. The apparatus of claim 1 , wherein:

the processor is configured to construct the first model by:

mapping the historical time data to a feature space based on information associated with the set of users and the entity, the historical time data represented as a first set of data points in the feature space; and

defining a function that represents a boundary in the feature space between (1) a first subset of the first set of data points representing historical time data associated with the normal data and (2) a second subset of the first set of data points representing historical time data associated with the anomalous data; and

the processor is configured to identify, using the first model, the anomalous time data in the raw data by:

mapping the time data to the feature space based on the information associated with the set of users and the entity, the time data represented as a second set of data points in the feature space; and

identifying, using the function, a subset of the second set of data points that is in a region of the feature space that includes the second subset of the first set of data points.

3. The apparatus of claim 1 , wherein the first model is an ensemble model that combines (1) a first output from a support vector machine learning model and (2) a second output from a local outlier factor calculation, to produce a combined output for identifying anomalous time data.

4. The apparatus of claim 1 , wherein the processor is further configured to calculate aggregated time data by:

aggregating, for each user from the set of users, time data of that user;

aggregating, for each subset of users from a group of subsets of users from the set of users sharing one or more characteristics, time data of one or more users within that subset; and

aggregating the time data across the set of users,

the processor configured to identify, using the first model, the anomalous time data based on the aggregated time data.

5. The apparatus of claim 1 , wherein the calibration datasets further include historical net-to-gross ratio data indicating ratios of net pay to gross pay for the set of users;

the processor is further configured to:

construct, based on the historical net-to-gross ratio data and the calibration datasets, a third model for determining a net-to-gross ratio; and

determine, using the third model and using the raw data, a net-to-gross ratio for each user from the set of users,

the processor configured to determine the available balance for each user from the set of users based on the processed data and the net-to-gross ratio for that user.

6. The apparatus of claim 1 , wherein the processor is configured to determine the available balance for each user from the set of users by:

determining gross earnings for that user for the current time period;

determining a level of risk associated with that user based on information associated with that user; and

adjusting the gross earnings based on a net-to-gross ratio for that user and the level of risk associated with that user.

7. The apparatus of claim 1 , wherein the compute device is a first compute device, and the processor is further configured to:

receive, from the first compute device, user roster data including information identifying the set of users and direct deposit data associated with the set of users;

receive a request for advance payment from a user;

determine, in response to receiving the request, that the user belongs to the set of users based on the user roster data and the direct deposit data; and

send, after determining that the user belongs to the set of users, an instruction to a second compute device to transfer at least a portion of the available balance determined for the user to an account accessible by the user, the second compute device being independent of the first compute device.

8. The apparatus of claim 1 , wherein the earnings data includes gross earnings data and net earnings data,

the processor is further configured to determine a net-to-gross ratio for each user from the set of users based on the gross earnings data and the net earnings data,

the processor configured to determine the available balance for each user from the set of users based on the processed data and the net-to-gross ratio for that user.

9. A method, comprising:

receiving, at a first compute device, calibration datasets including (1) historical time data indicating time worked by a set of users and (2) historical earnings data indicating earnings made by the set of users, the calibration datasets including normal data and anomalous data, the anomalous data including one or more of an input error, a calculation error, or a communication error;

constructing, based on the calibration datasets, a model that defines a separation between the normal data and the anomalous data;

receiving, from a second compute device associated with an entity, raw data for a current time period that includes (1) time data indicating time worked by the set of users affiliated with the entity and (2) earnings data indicating earnings made by the set of users;

generating, based on the raw data, a first set of outputs using the model;

generating, based on the raw data, a second set of outputs using a local outlier factor algorithm;

identifying, based on the first set of outputs and the second set of outputs, (1) anomalous time data including time data errors and (2) anomalous earnings data in the raw data including earnings data errors;

processing the raw data by removing the anomalous time data and the anomalous earnings data, to produce processed data without the time data errors and the earnings data errors; and

determining an available balance for each user from the set of users based on the processed data.

10. The method of claim 9 , wherein:

constructing the model includes:

mapping the calibration datasets to a feature space based on information associated with the set of users and the entity, the calibration datasets represented as a first set of data points in the feature space; and

defining a function that represents a boundary in the feature space between (1) a first subset of the first set of data points associated with the normal data and (2) a second subset of the first set of data points associated with the anomalous data; and

generating the first set of outputs using the model includes:

mapping the raw data to the feature space based on the information associated with the set of users and the entity, the raw data represented as a second set of data points in the feature space;

classifying, using the function, each data point from the second set of data points as normal or anomalous; and

generating the first set of outputs based on the classifying.

11. The method of claim 9 , wherein the model is a first model, and the calibration datasets further include historical net-to-gross ratio data indicating ratios of net pay to gross pay for the set of users,

the method further including:

constructing, based on the historical net-to-gross ratio data and the calibration datasets, a second model for determining a net-to-gross ratio; and

determining, using the second model and using the raw data, a net-to-gross ratio for each user from the set of users,

the available balance determined for each user from the set of users based on the processed data and the net-to-gross ratio for that user.

12. The method of claim 9 , wherein determining the available balance for each user from the set of users includes:

determining gross earnings for that user for the current time period;

determining a level of risk associated with that user based on information associated with that user; and

adjusting the gross earnings based on a net-to-gross ratio for that user and the level of risk associated with that user.

13. The method of claim 9 , further comprising:

receiving, from the second compute device, user roster data including information identifying the set of users and direct deposit data associated with the set of users;

receiving a request for advance payment from a user;

determining, in response to receiving the request, that the user belongs to the set of users based on the user roster data and the direct deposit data; and

sending, after determining that the user belongs to the set of users, an instruction to a third compute device to transfer at least a portion of the available balance determined for the user to an account accessible by the user, the third compute device being independent of the first compute device and the second compute device.

14. The method of claim 9 , wherein the earnings data includes gross earnings data and net earnings data, the method further comprising:

determining a net-to-gross ratio for each user from the set of users based on the gross earnings data and the net earnings data,

the available balance determined for each user from the set of users based on the processed data and the net-to-gross ratio for that user.

15. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:

receive calibration datasets including (1) historical time data indicating time worked by a set of users and (2) historical earnings data indicating earnings made by the set of users, the calibration datasets including normal data and anomalous data, the anomalous data including one or more of an input error, a calculation error, or a communication error;

construct, based on the calibration datasets, an ensemble model including a plurality of component models, each of the plurality of component models implementing a different anomaly detection algorithm;

receive, from a compute device associated with an entity, raw data for a current time period that includes (1) time data indicating time worked by the set of users affiliated with the entity and (2) earnings data indicating earnings made by the set of users;

identify, using the ensemble model, (1) anomalous time data in the raw data including time data errors and (2) anomalous earnings data in the raw data including earnings data errors;

process the raw data by removing the anomalous time data and the anomalous earnings data, to produce processed data without the time data errors and the earnings data errors; and

determine an available balance for each user from the set of users based on the processed data.

16. The non-transitory processor-readable medium of claim 15 , wherein the plurality of component models includes:

a first component model that implements a support vector machine algorithm; and

a second component model that implements a local outlier factor algorithm.

17. The non-transitory processor-readable medium of claim 15 , wherein the calibration datasets further include historical net-to-gross ratio data indicating ratios of net pay to gross pay for the set of users,

the code further comprising code to cause the processor to:

construct, based on the historical net-to-gross ratio data and the calibration datasets, a model for determining a net-to-gross ratio; and

determining, using the model and using the raw data, a net-to-gross ratio for each user from the set of users,

the code configured to cause the processor to determine the available balance including code to cause the processor to determine the available balance for each user from the set of users based on the processed data and the net-to-gross ratio for that user.

18. The non-transitory processor-readable medium of claim 15 , wherein the code to cause the processor to determine the available balance for each user from the set of users includes code to cause the processor to:

determine gross earnings for that user for the current time period;

determine a level of risk associated with that user based on information associated with that user; and

adjust the gross earnings based on a net-to-gross ratio for that user and the level of risk associated with that user.

19. The non-transitory processor-readable medium of claim 15 , wherein the compute device is a first compute device, the code further comprising code to cause the processor to:

receive, from the first compute device, user roster data including information identifying the set of users and direct deposit data associated with the set of users;

receive a request for advance payment from a user;

determine, in response to receiving the request, that the user belongs to the set of users based on the user roster data and the direct deposit data; and

send, after determining that the user belongs to the set of users, an instruction to a second compute device to transfer at least a portion of the available balance determined for the user to an account accessible by the user, the second compute device being independent of the first compute device.

20. The non-transitory processor-readable medium of claim 15 , wherein the earnings data includes gross earnings data and net earnings data,

the code further comprising code to cause the processor to determine a net-to-gross ratio for each user from the set of users based on the gross earnings data and the net earnings data,

the code configured to cause the processor to determine the available balance including code to cause the processor to determine the available balance for each user from the set of users based on the processed data and the net-to-gross ratio for that user.

21. The apparatus of claim 1 , wherein the input error comprises one or more of a time entry error and a wrong time period.

22. The apparatus of claim 1 , wherein the calculation error comprises an earnings miscalculation.

23. The apparatus of claim 1 , wherein the communication error comprises corrupted data.

Assignments (9)
SECURITY INTEREST Recorded Jan 5, 2026
From: DAILYPAY, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 073366/0167 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY COLLATERAL AT REEL/FRAME NO. 60750/0307 Recorded Dec 30, 2025
From: INNOVATION CREDIT GROWTH FUND IX, L.P., AS AGENT
To: DAILYPAY, LLC (F/K/A DAILYPAY, INC.)
Reel/Frame 074136/0573 →
CHANGE OF NAME Recorded Nov 26, 2025
From: DAILYPAY, INC.
To: DAILYPAY, LLC
Reel/Frame 073715/0628 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY AT R/F 053964/0005 Recorded Aug 9, 2022
From: TRINITY CAPITAL INC.
To: DAILYPAY, INC.
Reel/Frame 061132/0625 →
SECURITY INTEREST Recorded Aug 9, 2022
From: DAILYPAY, INC.
To: INNOVATION CREDIT GROWTH FUND IX, L.P., AS AGENT
Reel/Frame 060750/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2020
From: LEE, JASON; LAW, II, ROBERT LOUIS; GETMANCHUK, KONSTANTIN
To: DAILYPAY, INC.
Reel/Frame 054266/0804 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE DATA PREVIOUSLY RECORDED ON REEL 053964 FRAME 0005. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 20, 2020
From: DAILYPAY, INC.
To: TRINITY CAPITAL INC.
Reel/Frame 054157/0034 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 1, 2020
From: DAILYPAY, INC.
To: TRINITY CAPITAL INC., AS AGENT
Reel/Frame 053964/0005 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2019
From: COOPER, SCOTT; SCHUVER, SAMUEL; CLICK, CAROL
To: OWENS-BROCKWAY GLASS CONTAINER INC
Reel/Frame 048266/0806 →
Continuity (1)
Provisional Application 62625118 · Feb 1, 2018
Cited By (4)
US 12,282,954 US 12,561,684 US 12,657,176 US 12,725,209