Proactive request communication system with improved data prediction based on anticipated events
Assignee7-Eleven, Inc.
InventorNicholas E. Evangelopoulos
Life of this patent
Estimating the term…
Abstract
A data prediction subsystem includes receives event data indicating amounts of items removed from locations over a previous period of time. For a first day of the first set of event data having zero events or an empty status indicating that the first item is not believed to be present at the first location, longitudinal and cross-sectional components are determined. An anticipated event value for the first item at the first location is determined using the longitudinal component and the cross-sectional component. Based at least in part on the anticipated event value, a prediction value is determined that corresponds to a recommended amount of the first item to request at a future time.
Claims21
A system, comprising:
- at each of a plurality of locations, an event tracking subsystem comprising a first processor configured to detect item removal events at, at least one location of the plurality of locations;
- a data prediction subsystem comprising:
- a network interface configured to receive event data based on the item removal events detected at the plurality of locations, the event data comprising a first set of event data indicating amounts of a first item removed from a first location on each day over a previous period of time and a second set of event data indicating amounts of the first item removed from other locations than the first location on each day over the previous period of time;
- and
- a second processor communicatively coupled to the network interface, the second processor configured to:
- receive the event data;
- detect an anomalous activity with respect to the received event data, wherein the anomalous activity corresponds to an unexpected amount of item removal events that is greater than an expected number of item removal events according to a recent trend in the event data for the first item;
- in response to detecting the anomalous activity, adjust the received event data by reducing the unexpected amount of item removal events according to the recent trend in the event data;
- generate training data based on the event data, wherein generating the training data comprises:
- determine, based on the event data for days with a not-empty status associated with the first item, a longitudinal component comprising a first set of weighted averages of removal event amounts for the first item at the first location over a first period of time;
- determine, based on the event data for days with the not-empty status associated with the first item, a cross-sectional component comprising a second set of weighted averages of removal event amounts for the first item or for another item from an item category associated with the first item at one or more of the other locations for a second period of time different than the first period of time;
- determine event data properties associated with the plurality of locations, the event data properties comprising characteristics of the received event data comprising a location group size, a sub-zone size, a zone size, and a number of event days;
- configure, from a predefined hierarchy of artificial intelligence models based at least in part on the event data properties, an artificial intelligence model to determine an anticipated event value for the first item at the first location;
- train an algorithm associated with the artificial intelligence model on the training data, wherein training the algorithm associated with the artificial intelligence model on the training data comprises:
- use actual item removal values for the first item on days with the not-empty status as a plurality of target values, wherein each target value from among the plurality of target values indicates an actual amount of removal event for the first item at the first location on a respective day having the not-empty status;
- use the longitudinal component and the cross-sectional component as a plurality of predictors, wherein:
- each predictor from among the plurality of predictors indicates an expected amount of removal event for the first item or another item associated with item category at the first location or at the one or more other locations on the respective day having an empty status;
- and
- a given predictor from among the plurality of predictors is associated with a counterpart target value from among the plurality of target values;
- and
- determine a relationship between the given predictor and the counterpart target value;
- execute the trained algorithm;
- determine, for the first item at the first location having a not-empty status, a number of concurrent days without detected item removal events;
- determine an anticipated item removal amount per day for the first item at the first location;
- determine an event probability based at least in part on the number of concurrent days and the anticipated item removal amount per day, wherein the event probability corresponds to a likelihood that the first item is present at the first location;
- in response to determining that the event probability is less than a threshold value, determine an updated status for the first item at the first location, wherein the updated status corresponds to the empty status indicating that the first item is not believed to be present at the first location in at least one day from among the number of concurrent days;
- for a first day of the first set of event data having zero events corresponding to the empty status indicating that the first item is not believed to be present at the first location:
- determine, by the executed trained algorithm and using the determined relationship between the given predictor and the counterpart target value, the longitudinal component, and the cross-sectional component, the anticipated event value for the first item at the first location, the anticipated event value indicating an expected amount of removal events for the first item per historical day that would have occurred at the first location based on the first set of weighted averages of removal events and the second set of weighted averages of removal events for the days with the not-empty status associated with the first item;
- determine, based at least in part on the anticipated event value and the updated status for the first item at the first location, a prediction value corresponding to a recommended amount of the first item to request at a future time;
- determine, for a given day from among a plurality of days in a future prediction period, a rounded value that represents an integer quantity of predicted item removals for the given day, based at least in part upon a respective prediction value for the given day and a previous cumulative error carried over from one or more previous days;
- determine, based at least in part upon a plurality of rounded values for the plurality of days in the future prediction period, a cumulative rounding error across the future prediction period, wherein the cumulative rounding error indicates a difference between a sum of non-integer prediction values and a sum of rounded prediction values for the plurality of days, wherein each rounded value from among the plurality of days is associated with an adjusted prediction value that comprises a redistributed portion of the cumulative rounding error;
- redistribute the cumulative rounding error across the plurality of days in the future prediction period;
- adjust the prediction value to an integer value for each day of the future prediction period based on the redistributed cumulative rounding error;
- and
- reduce a number of item transportation requests for the first item based on the prediction value as compared to a greater number of transportation requests for the first item if the prediction value was based only on removal events of the first item recorded for the days when the first item had the not-empty status;
- an item request device associated with the first location, the item request device comprising a third processor configured to:
- receive the prediction value;
- in response to receiving the prediction value, automatically populate the prediction value in a field of an interface on a display;
- and
- in response to receiving the prediction value and the prediction value being automatically populated on the field of the interface, automatically initiate a network communication to send a request for an amount of the first item based at least in part on the prediction value;
- and
- a fourth processor, operably coupled with the third processor, and configured to:
- receive the request from the item request device;
- and
- in response to receiving the request, determine, by executing code, a timing and a route to transport the requested amount of the first item from a source location to the first location.
A method, comprising:
- receiving, by a first processor of a data prediction subsystem, event data indicating amounts of items removed from each of a plurality of locations over a previous period of time, the event data comprising a first set of event data indicating amounts of a first item removed from a first location on each day over the previous period of time and a second set of event data indicating amounts of the first item removed from other locations than the first location on each day over the previous period of time;
- detecting an anomalous activity with respect to the received event data, wherein the anomalous activity corresponds to an unexpected amount of item removal events that is greater than an expected number of item removal events according to a recent trend in the event data for the first item;
- in response to detecting the anomalous activity, adjusting the received event data by reducing the unexpected amount of item removal events according to the recent trend in the event data;
- generating, by the first processor, training data based on the event data, wherein generating the training data comprises:
- determining, based on the event data for days with a not-empty status associated with the first item, a longitudinal component comprising a set of weighted averages of removal event amounts for the first item at the first location over a first period of time;
- determining, based on the event data for days with a not-empty status associated with the first item, a cross-sectional component comprising a set of weighted averages of removal event amounts for the first item or for another item from an item category associated with the first item at one or more of the other locations for a second period of time different than the first period of time;
- determining event data properties associated with the plurality of locations, the event data properties comprising characteristics of the received event data comprising a location group size, a sub-zone size, a zone size, and a number of event days;
- configuring, from a predefined hierarchy of artificial intelligence models based at least in part on the event data properties, an artificial intelligence model to determine an anticipated event value for the first item at the first location;
- training, by the first processor, an algorithm associated with an artificial intelligence model on the training data, wherein training the algorithm associated with the artificial intelligence model on the training data comprises:
- using actual item removal values for the first item on days with the not-empty status as a plurality of target values, wherein each target value from among the plurality of target values indicates an actual amount of removal event for the first item at the first location on a respective day having the not-empty status;
- using the longitudinal component and the cross-sectional component as a plurality of predictors, wherein:
- each predictor from among the plurality of predictors indicates an expected amount of removal event for the first item or another item associated with the item category at the first location or at the one or more other locations on the respective day having an empty status;
- and
- a given predictor from among the plurality of predictors is associated with a counterpart target value from among the plurality of target values;
- and
- determining a relationship between the given predictor and the counterpart target value;
- executing, by the first processor, the trained algorithm;
- for a first day of the first set of event data having zero events corresponding to the empty status indicating that the first item is not believed to be present at the first location:
- determining, by the executed trained algorithm and using the determined relationship between the given predictor and the counterpart target value, the longitudinal component, and the cross-sectional component, the anticipated event value for the first item at the first location, the anticipated event value indicating an expected amount of removal events for the first item per historical day that would have occurred at the first location based on the first set of weighted averages of removal events and the second set of weighted averages of removal events for the days with the not-empty status associated with the first item;
- determining, by the first processor and based at least in part on the anticipated event value, a prediction value corresponding to a recommended amount of the first item to request at a future time, wherein the prediction value is used by an item request device to send a request for an amount of the first item based at least in part on the prediction value;
- determining, for a given day from among a plurality of days in a future prediction period, a rounded value that represents an integer quantity of predicted item removals for the given day, based at least in part upon a respective prediction value for the given day and a previous cumulative error carried over from one or more previous days;
- determining, based at least in part upon a plurality of rounded values for the plurality of days in the future prediction period, a cumulative rounding error across the future prediction period, wherein the cumulative rounding error indicates a difference between a sum of non-integer prediction values and a sum of rounded prediction values for the plurality of days, wherein each rounded value from among the plurality of days is associated with an adjusted prediction value that comprises a redistributed portion of the cumulative rounding error;
- redistributing the cumulative rounding error across the plurality of days in the future prediction period;
- and
- adjusting the prediction value to an integer value for each day of the future prediction period based on the redistributed cumulative rounding error;
- reducing, by the first processor, a number of item transportation requests for the first item based on the prediction value as compared to a greater number of transportation requests for the first item if the prediction value was based only on removal events of the first item recorded for the days when the first item had the not-empty status;
- in response to receiving the prediction value, automatically populating, by a second processor of an item request device, the prediction value in a field of an interface on a display;
- in response to receiving the prediction value and the prediction value being automatically populated on the field of the interface, automatically initiating, by the second processor, a network communication to send a request for an amount of the first item based at least in part on the prediction value;
- receiving, by a third processor, the request from the item request device;
- and
- in response to receiving the request, determining, by the third processor executing code, a timing and a route to transport the requested amount of the first item from a source location to the first location.
A non-transitory computer-readable medium storing instructions, that when executed by one or more processors, cause the one or more processors to:
- receive, by a first processor of a data prediction subsystem, event data indicating amounts of items removed from each of a plurality of locations over a previous period of time, the event data comprising a first set of event data indicating amounts of a first item removed from a first location on each day over the previous period of time and a second set of event data indicating amounts of the first item removed from other locations than the first location on each day over the previous period of time;
- generate, by the first processor, training data based on the event data, wherein generating the training data comprises:
- determine, based on the event data for days with a not-empty status associated with the first item, a longitudinal component comprising a first set of weighted averages of removal event amounts for the first item at the first location over a first period of time;
- and
- determine, based on the event data for days with a not-empty status associated with the first item, a cross-sectional component comprising a second set of weighted averages of removal event amounts for the first item or for another item from an item category associated with the first item at one or more of the other locations for a second period of time different than the first period of time;
- determine, by the first processor, event data properties associated with the plurality of locations, the event data properties comprising characteristics of the received event data comprising a location group size, a sub-zone size, a zone size, and a number of event days;
- configure, by the first processor, from a predefined hierarchy of artificial intelligence models based at least in part on the event data properties, an artificial intelligence model to determine an anticipated event value for the first item at the first location;
- train, by the first processor, an algorithm associated with the artificial intelligence model on the training data, wherein training the algorithm associated with the artificial intelligence model on the training data comprises:
- use actual item removal values for the first item on days with the not-empty status as a plurality of target values, wherein each target value from among the plurality of target values indicates an actual amount of removal event for the first item at the first location on a respective day having the not-empty status;
- use the longitudinal component and the cross-sectional component as a plurality of predictors, wherein:
- each predictor from among the plurality of predictors indicates an expected amount of removal event for the first item or another item associated with the item category at the first location or at the one or more other locations on the respective day having an empty status;
- and
- a given predictor from among the plurality of predictors is associated with a counterpart target value from among the plurality of target values;
- and
- determine a relationship between the given predictor and the counterpart target value;
- execute, by the first processor, the trained algorithm;
- for a first day of the first set of event data having zero events corresponding to the empty status indicating that the first item is not believed to be present at the first location:
- determine, by the executed trained algorithm and using the determined relationship between the given predictor and the counterpart target value, the longitudinal component, and the cross-sectional component, the anticipated event value for the first item at the first location, the anticipated event value indicating an expected amount of removal events for the first item per historical day that would have occurred at the first location based on the first set of weighted averages of removal events and the second set of weighted averages of removal events for the days with the not-empty status associated with the first item;
- determine, by the first processor and based at least in part on the anticipated event value, a prediction value corresponding to a recommended amount of the first item to request at a future time, wherein the prediction value is used by an item request device to send a request for an amount of the first item based at least in part on the prediction value;
- determine, for a given day from among a plurality of days in a future prediction period, a rounded value that represents an integer quantity of predicted item removals for the given day, based at least in part upon a respective prediction value for the given day and a previous cumulative error carried over from one or more previous days;
- determine, based at least in part upon a plurality of rounded values for the plurality of days in the future prediction period, a cumulative rounding error across the future prediction period, wherein the cumulative rounding error indicates a difference between a sum of non-integer prediction values and a sum of rounded prediction values for the plurality of days, wherein each rounded value from among the plurality of days is associated with an adjusted prediction value that comprises a redistributed portion of the cumulative rounding error;
- redistribute the cumulative rounding error across the plurality of days in the future prediction period;
- adjust the prediction value to an integer value for each day of the future prediction period based on the redistributed cumulative rounding error;
- reduce, by the first processor, a number of item transportation requests for the first item based on the prediction value as compared to a greater number of transportation requests for the first item if the prediction value was based only on removal events of the first item recorded for the days when the first item had the not-empty status;
- in response to receiving the prediction value, automatically populate, by a second processor of an item request device, the prediction value in a field of an interface on a display;
- in response to receiving the prediction value and the prediction value being automatically populated on the field of the interface, automatically initiate, by the second processor, a network communication to send a request for an amount of the first item based at least in part on the prediction value;
- receive the request from the item request device;
- and
- in response to receiving the request, determine, by executing code, a timing and a route to transport the requested amount of the first item from a source location to the first location.
Dependencies are inferred from the claim text.