Methods, systems, articles of manufacture, and apparatus to detect promotion events
Systems, apparatus, articles of manufacture, and methods are disclosed to detect promotion events. An apparatus includes interface circuitry to obtain aligned sales data corresponding to products, the products corresponding to a market and a category; computer readable instructions; and programmable circuitry to instantiate event detection circuitry to: identify product-level promotions based on the aligned sales data and corresponding baseline data for the products; and group ones of the product-level promotions to identify promotion events; and expansion circuitry to determine uplift factors for different promotion characteristics based on the market and the category; and apply the uplift factors to the product-level promotions and the promotion events to identify incremental sales.
1 . A system for centralized processing of promotion event data from a plurality of entities, the system comprising:
a first networked database to collect movement data from point-of-sale (POS) devices, the movement data corresponding to sales of products during a promotion, the POS devices including first POS devices associated with a first entity and second POS devices associated with a competitor entity, the movement data including universal product code (UPC) sales volume data and UPC sales value data for the products, the products including a first product and the movement data including first movement data for the first product, the first movement data misaligned with a first reporting period associated with the promotion;
machine-readable instructions; and
at least one programmable circuit to at least one of instantiate or execute the machine-readable instructions to:
correct the misaligned first movement data for the first product by:
determining promotional sales in the first movement data missing from the first reporting period relative to the first product;
selecting a minimum value of (a) the promotional sales in the first movement data missing from the first reporting period or (b) an amount of first incremental sales corresponding to a second reporting period, the second reporting period immediately adjacent the first reporting period, the first movement data overlapping with the first reporting period and the second reporting period; and
moving the selected minimum value from the second reporting period to the first reporting period to generate adjusted sales data for the first product, the adjusted sales data including (a) UPC-market sales volume data corresponding to aggregated UPC sales volume data for the first entity and the competitor entity for the first product and (b) UPC-market sales value data corresponding to aggregated UPC sales value data for the first entity and the competitor entity for the first product;
generate sales data for the other ones of the products for corresponding reporting periods by aggregating the movement data for the first entity and the competitor entity for the other ones of the products, the sales data including UPC-market sales volume data and UPC-market sales value data for the other ones of the products for the first entity and the competitor entity;
generate, based on the adjusted sales data for the first product and the sales data for the other ones of the products, a data structure having data objects, ones of the data objects including respective UPC-market sales volume data and UPC-market sales value data aggregated by product and reporting period and respective discount indicators by product and reporting period;
remove ones of the data objects not associated with the promotion from the data structure;
detect product-level promotion events in the data structure based on one or more of the discount indicators or inventory indicators, the inventory indicators based on the UPC-market sales value data;
cluster ones of the product-level promotion events based on promotion execution variables to identify a group of first ones of the products promoted during the promotion;
store the clustered ones of the product-level promotion events in a second networked database;
generate a model indicative of incremental sales of the products in the group resulting from the promotion; and
execute the model to output, via an application platform in communication with the second networked database, a graphical user interface identifying the clustered ones of the product-level promotion events and the incremental sales of the products in the group resulting from the promotion.
2 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to determine the promotional sales in the first movement data missing from the first reporting period based on (a) a percentage of the promotional sales in the first movement data that are correctly flagged and (b) an amount of second incremental sales corresponding to the first reporting period.
3 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to determine the promotional sales in the first movement data responsive to the first movement data including a promotion tag.
4 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to determine the promotional sales in the first movement data responsive to the first movement data being associated with a promotion price index (PPI) value that satisfies a PPI threshold.
5 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to:
identify a first data object corresponding to a first promotion week and a second data object corresponding to a second promotion week; and
identify the second promotion week as a start of a new promotion event when the first promotion week and the second promotion week are not consecutive.
6 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to:
identify a first data object corresponding to a first promotion week and a second data object corresponding to a second promotion week; and
identify the second promotion week as a start of a new promotion event when (a) the first promotion week and the second promotion week are consecutive, (b) a difference between a first discount corresponding to the first promotion week relative to a second discount corresponding to the second promotion week satisfies a first criterion, and (c) a difference between a first promotion price corresponding to the first promotion week relative to a second promotion price corresponding to the second promotion week satisfies a second criterion.
7 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to:
identify a first data object corresponding to a first promotion week and a second data object corresponding to a second promotion week; and
identify the second promotion week as a start of a new promotion event when a difference between a first promotion price corresponding to the first promotion week relative to a second promotion price corresponding to the second promotion week satisfies a second criterion.
8 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to cluster the ones of the product-level promotion events using density-based clustering.
9 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to split a first product-level promotion of the product-level promotion events into a first portion and a second portion when a duration of the first product-level promotion exceeds a threshold promotion duration, the first portion of the first product-level promotion to include a maximum amount of promotion weeks, the second portion of the first product-level promotion to start at a first promotion week after the maximum.
10 . A non-transitory machine-readable storage medium comprising machine-readable instructions to cause at least one programmable circuit to at least:
correct misaligned first movement data for a first product by:
determining promotional sales in the first movement data missing from a first reporting period relative to the first product, the first movement data included in movement data collected from point-of-sale (POS) devices, the POS devices including first POS devices associated with a first entity and second POS devices associated with a competitor entity, the movement data corresponding to sales of products during a promotion, the movement data including universal product code (UPC) sales volume data and UPC sales value data for the products, the products including the first product, the first reporting period associated with the promotion, the first movement data misaligned with the first reporting period;
selecting a minimum value of (a) the promotional sales in the first movement data missing from the first reporting period or (b) an amount of first incremental sales corresponding to a second reporting period, the second reporting period immediately adjacent the first reporting period, the first movement data overlapping with the first reporting period and the second reporting period; and
moving the selected minimum value from the second reporting period to the first reporting period to generate adjusted sales data for the first product, the adjusted sales data including (a) UPC-market sales volume data corresponding to aggregated UPC sales volume data for the first entity and the competitor entity for the first product and (b) UPC-market sales value data corresponding to aggregated UPC sales value data for the first entity and the competitor entity for the first product;
generate sales data for the other ones of the products for corresponding reporting periods by aggregating the movement data for the first entity and the competitor entity for the other ones of the products, the sales data including UPC-market sales volume data and UPC-market sales value data for the other ones of the products for the first entity and the competitor entity;
generate, based on the adjusted sales data for the first product and the sales data for the other ones of the products, a data structure having data objects, ones of the data objects including respective UPC-market sales volume data and UPC-market sales value data aggregated by product and reporting period and respective discount indicators by product and reporting period;
remove ones of the data objects not associated with the promotion;
detect product-level promotion events in the data structure based on one or more of the discount indicators or inventory indicators, the inventory indicators based on the UPC-market sales value data;
cluster ones of the product-level promotion events based on promotion execution variables to identify a group of first ones of the products promoted during the promotion;
store the clustered ones of the product-level promotion events in a networked database;
generate a model indicative of incremental sales of the products in the group resulting from the promotion; and
execute the model to output, via an application platform in communication with the networked database, a graphical user interface identifying the clustered ones of the product-level promotion events and the incremental sales of the products in the group resulting from the promotion.
11 . The non-transitory machine-readable storage medium of claim 10 , wherein the machine-readable instructions are to cause one or more of the at least one programmable circuit to determine the promotional sales in the first movement data responsive to the first movement data being associated with a promotion price index (PPI) value that satisfies a PPI threshold.
12 . The non-transitory machine-readable storage medium of claim 10 , wherein the machine-readable instructions are to cause one or more of the at least one programmable circuit to:
identify a first data object corresponding to a first promotion week and a second data object corresponding to a second promotion week; and
identify the second promotion week as a start of a new promotion event when the first promotion week and the second promotion week are not consecutive.
13 . The non-transitory machine-readable storage medium of claim 10 , wherein the machine-readable instructions are to cause one or more of the at least one programmable circuit to:
identify a first data object corresponding to a first promotion week and a second data object corresponding to a second promotion week; and
identify the second promotion week as a start of a new promotion event when (a) the first promotion week and the second promotion week are consecutive, (b) a difference between a first discount corresponding to the first promotion week relative to a second discount corresponding to the second promotion week satisfies a first criterion, and (c) a difference between a first promotion price corresponding to the first promotion week relative to a second promotion price corresponding to the second promotion week satisfies a second criterion.
14 . The non-transitory machine-readable storage medium of claim 10 , wherein the machine-readable instructions are to cause one or more of the at least one programmable circuit to:
identify a first data object corresponding to a first promotion week and a second data object corresponding to a second promotion week; and
identify the second promotion week as a start of a new promotion event when a difference between a first promotion price corresponding to the first promotion week relative to a second promotion price corresponding to the second promotion week satisfies a second criterion.
15 . The non-transitory machine-readable storage medium of claim 10 , wherein the machine-readable instructions are to cause one or more of the at least one programmable circuit to cluster the ones of the product-level promotion events using density-based clustering.
16 . The system of claim 1 , wherein one or more of the at least one programmable circuit is to apply a constraint to the model based on promotion mechanic data, the promotion mechanic data indicative of the promotion being associated with (a) an advertisement, (b) an in-store display, (b) the advertisement and the in-store display, or (c) a temporary price reduction.
17 . The non-transitory machine-readable storage medium of claim 10 , wherein the machine-readable instructions are to cause one or more of the at least one programmable circuit to apply a constraint to the model based on promotion mechanic data, the promotion mechanic data indicative of the promotion being associated with (a) an advertisement, (b) an in-store display, (b) the advertisement and the in-store display, or (c) a temporary price reduction.