Incremental time window procedure for selecting training samples for a supervised learning algorithm
US-2021117851-A1 · Apr 22, 2021 · US
US11854022B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11854022-B2 |
| Application number | US-202016810443-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 5, 2020 |
| Priority date | Oct 22, 2019 |
| Publication date | Dec 26, 2023 |
| Grant date | Dec 26, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present disclosure involves systems, software, and computer implemented methods for proactively predicting demand based on sparse transaction data. One example method includes receiving a request to predict transaction dates for a plurality of transaction entities for a future time period. Historical transaction data for the transaction entities is identified for a plurality of categories of transacted items. The plurality of categories are organized using a hierarchy of levels. Multiple levels of the hierarchy are iterated over, starting at a lowest level. For each current level in the iteration, a plurality of transaction date prediction models are trained and tested. Heuristics for the plurality of trained transaction date prediction models are compared to determine a most accurate transaction date prediction model. The most accurate transaction date prediction model is used to make a prediction of transaction dates for the current level for the future time period.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving, by a computer, a request to predict transaction dates for a plurality of transaction entities for a future time period; identifying, by the computer, historical transaction data for the transaction entities for a plurality of categories of transacted items, wherein the plurality of categories are organized using a hierarchy of levels; iterating, by the computer, over multiple levels of the hierarchy and combinations of transaction entities and transacted items starting at a lowest level, wherein the iterating includes, determining, as filtered transaction data to use for the lowest level, historical transaction data from pairs of transacted entities and transacted items for which at least a threshold number of transactions have occurred for the lowest level, and wherein the iterating includes, for each current level in the iteration and for each transacted item: dividing the filtered transaction data for the current level and the transacted item into a training data set and a testing data set; identifying a plurality of machine learning transaction date prediction models for the current level and the transacted item, wherein the plurality of machine learning transaction date prediction models include at least one compressed model configured to use compressed training data and at least one uncompressed model configured to use uncompressed data; generating, from the training data set, uncompressed training data for the at least one uncompressed model; generating, from the uncompressed training data, compressed training data for the at least one compressed model, including compressing patterns of multiple zero elements followed by a non-zero element into a single value; training each of the plurality of machine learning transaction date prediction models using either the compressed or uncompressed training data determined from transaction data for the current level to generate a plurality of trained transaction date prediction models; testing each trained transaction date prediction model using the testing data set to generate a heuristic for each trained transaction date prediction model; comparing the heuristics for the plurality of trained transaction date prediction models to determine a most accurate transaction date prediction model for the current level and the transacted item that most accurately predicts transaction dates of transactions of the transacted item in the current level, wherein the comparing includes decompressing compressed results from compressed models before the comparing; and using the determined most accurate transaction date prediction model to make a prediction of transaction dates for the current level for the transacted item for the future time period; determining a next level for a next iteration, where the next level represents a broader category of the transacted item than the current level; determining next filtered transaction data as next pairs of transacted entities and transacted items to use for the next level by determining pairs of transacted entities and transacted items for which at least the threshold number of transactions have not occurred for the current level; and determining, as transaction data to use for the next level, historical transaction data for the next pairs of transacted entities and transacted items for which at least the threshold number of transactions have occurred for the next level; aggregating, by the computer, transaction date predictions for multiple levels of the hierarchy into an aggregated transaction date prediction that includes predicted transaction dates for each pair of transacted entity and transacted item; filtering the aggregated date prediction based on aggregation rules to generate a filtered aggregated transaction date prediction; and providing, by the computer, the filtered aggregated transaction date prediction in response to the request. 2. The method of claim 1 , wherein a first most accurate transaction date prediction model for a first level is different than a second most accurate transaction date prediction model for a second different level. 3. The method of claim 1 , wherein the first most accurate transaction date prediction model is retrained on a first training data set and a first testing data set. 4. The method of claim 1 , wherein the transaction date prediction models include historical mean, historical median, last-observed, or simple exponential smoothing models. 5. The method of claim 1 , wherein the transaction date prediction models comprise a zero-inflated Poisson model or a zero-inflated negative binomial model. 6. The method of claim 1 , where a lowest level of the hierarchy corresponds to a transacted item. 7. The method of claim 6 , wherein higher levels of the hierarchy correspond to more general categories of transacted items. 8. The method of claim 1 , wherein a transaction date prediction for a given level is provided to a transaction quantity forecaster that generates a transaction quantity prediction for the level based on the transaction date prediction for the level. 9. The method of claim 8 , wherein transaction quantity predictions from different levels are aggregated with the aggregated transaction date prediction into an aggregated transaction date and quantity prediction. 10. The method of claim 9 , wherein the aggregated transaction date and quantity prediction comprises a transaction entity visit schedule for scheduling visits to transaction entities that are predicted to have certain transactions on certain dates and in certain quantities. 11. The method of claim 10 , further comprising applying at least one inclusion rule to the transaction entity visit schedule. 12. The method of claim 11 , wherein the at least one inclusion rule includes a minimum visit rule or a minimum predicted transaction value rule. 13. A system comprising: one or more computers; and a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising: receiving, by a computer, a request to predict transaction dates for a plurality of transaction entities for a future time period; identifying, by the computer, historical transaction data for the transaction entities for a plurality of categories of transacted items, wherein the plurality of categories are organized using a hierarchy of levels; iterating, by the computer, over multiple levels of the hierarchy and combinations of transaction entities and transacted items starting at a lowest level, wherein the iterating includes, determining, as filtered transaction data to use for the lowest level, historical transaction data from pairs of transacted entities and transacted items for which at least a threshold number of transactions have occurred for the lowest level, and wherein the iterating includes, for each current level in the iteration and for each transacted item: dividing the filtered transaction data for the current level and the transacted item into a training data set and a testing data set; identifying a plurality of machine learning transaction date prediction models for the current level and the transacted item, wherein the plurality of machine learning transaction date prediction models include at least one compressed model configured to use compressed training data and at least one uncompressed model configured to use uncompressed data; generating, from the training data set, uncompressed training data for the at least one uncompressed model; generating, fro
Market predictions or forecasting for commercial activities · CPC title
Probabilistic graphical models, e.g. probabilistic networks · CPC title
Machine learning · CPC title
Optimisation of routes or paths, e.g. travelling salesman problem · CPC title
Calendar-based scheduling for persons or groups · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.