In this challenge, you are provided with many months of invoice data for a parts supply company. The company supplies all the builders in North America with plumbing parts.
The company is aware that, for a given job, their customers buy a large percentage of the required plumbing materials from them, but not 100%. They realize that some portion of the required materials is supplied by competitors instead. They realize the reason for this in some cases is simply because inventory is not immediately available in sufficient quantity (see note below). But in other cases, the company believes inventory is not the reason, and customers are buying materials from competitors for other reasons. The reasons could include price, color or manufacturer, etc, but the exact reasons are unknown to them.
Regardless of the reason, the company wants to know which items are being left out of orders that should otherwise include them.
The company’s customers take exactly-on-time delivery very seriously. This means that customers schedule an exact delivery time, to an exact place, to the Company, and expect the company to successfully meet that requirement. If the company does not meet that requirement, the customers must then pay their labor force to sit idle at the building site, until the delivery arrives. For this reason, sufficient inventory supply and delivery reliability are together very important. Therefore the availability or lack of it of a certain type of item is one reason why a customer may order that item from another supplier.
An “order” may be represented by several invoices over time. For example, imagine a fake customer who installed only bathrooms. They might buy all the faucets and pipes in one order, and then buy the toilets in a later order. Providing they are both sent to the same shipping location and/or they have the same contract ID, and/or they are otherwise meant for the same job, then they are part of the same order and wouldn’t be considered left out (meaning they bought them somewhere else).
Using the analogy above, an example of the type of condition we ARE looking for is if all the bathroom-only customers typically bought the faucets, pipes and toilets together, but a subset of customers consistently bought only the pipes and faucets, and never or almost never bought the toilets. We’d assume the toilets are getting supplied by somebody else.
In this challenge, your goal is to help the company understand which items their customers are buying elsewhere that they COULD be buying from them instead.
Your input data is two data sets. The first data set is the list of invoice headers. The second dataset is the list of line item details for each invoice header.
Your input data also includes tips and suggestions from the Company on which customers types or buyer profiles to prioritize in your work.
Your output should be:
Groups of “buying profiles” according to similarities in orders over the period of time.
For each group, the list of customer membership - the list should name the customer, invoice number, date, and ship-to address (as information - its up to you whether or not these should provide input on grouping) for each order that is considered included
For each group, the list of items that are expected when a purchase of this group type is placed
For each group, the list of items that were expected but not included in specific orders along with the customer ID, contract ID, quantity that was expected (if possible) and date for the exception
How Winners will be Identified
You will need to provide a write-up as described below. You will need to perform analysis on the data and develop an approach that produces output as described above, and provide a POC implementation. Most important: you need to provide statistical explanations for items you determine were “left out.” For example, you could show that the exclusion of item X from Buyer Group 1 can’t be explained by random chance. The contestants who perform these tasks best and provide the strongest reasoning for “left-out” items will rank highest.