Retail Product Recommendations
This Python based projects attempts to generate a list of products for a salesperson to recommend.
Overview
The retailer currently trains new employees in what is called "4 on the Floor". "4 on the Floor" is when a customer asks to try on a shoe, the employee brings back the requested product and an additional 3 pairs of shoes to attempt to sell. Only experienced salespeople can do this with any accuracy. This project attempts provide suggestions to guide training and assist new salespeople with making suggestions.
We were tasked with finding suggestions based on a set of guidelines set forth by the retailer. A recommendation must be a pairing that was sold together more than 3 times and 90% or more products at a given hierarchy level should have 3 or more recommendations. We investigated recommended secondary purchases that were shoes and accessories separately.
GitHub Repository
The first major part of this project is the sold_with_updated notebook. This notebook makes the initial selections using a user defined function that takes a product number, hierarchy level, and hierarchy ID as inputs and returns up to the top three product pairings. I used this function within a for-loop to go through different levels of the hierarchy, returning all the matches found.
The second notebook, pivot_tables_updated, filters and reformats these results.
Findings
This spreadsheet contains shoe recommendations. I began searching for recommendations at the district level first as exploratory analysis had shown there was not enough data to be considered at the store level.
The primary_stockno column is the product that you need recommendations for. The shoe1 column is the first recommended product. The level1 column is the business level that the recommendation is from and count1 column is how many times that pairing occurred within the supplied data. This process was repeated for accessories.
Quick Stats
The spreadsheet at the left shows how many products are represented in a district, the number of shoes and accessories we were able to make product recommendations for and the percent of products in a given district with 3 recommendations.
If a product could not return at least 3 recommendations, it does not make it to the final spreadsheet.
Conclusions
We were unable to meet the 90% of shoes having 3 recommended products at any given level. Expanding the recommendations in the way that I chose allows for more recommendations, but still doesn't reach 90%.
The purchase of two pairs of a shoes in a single transaction is somewhat rare outside of a sales promotion. Given we only had three months of data to work with and product numbers are specific to color and style, a combination does not occur as often as one would think. Better results could be achieved by selecting recommended brands or styles, exclusive of color or other modifications that would generate new product numbers. Given the data, it was not possible to categorize products at a less specific level with meaningful results.