Presentation: Automating Inventory at Stitch Fix
What You’ll Learn
- Discuss the business model used by Stitch Fix.
- Hear how Stitch Fix introduced machine learning into their process.
- Learn how Stitch Fix combines machine learning with human insight.
Abstract
Stitch Fix is a personalized styling service for clothing and accessories. Items are selected by a stylist from initial personalized recommendations. The client keeps the items they love, and returns the rest, while providing detailed feedback. We use machine learning and analytics to power every aspect of our business from personalized recommendations, to inventory management and demand modeling.
In this talk, I’ll focus on the use of machine learning within our inventory forecasting system, which relies on information and feedback captured throughout the user lifecycle to predict the flow of apparel and accessories between vendors, warehouses and clients. This problem domain has multiple metrics to measure success and for which to optimize, which makes it challenging. In highlighting the modular components of our forecasting framework, I will illustrate the architecture we have developed in-house.
While describing our use of Bayesian methods to predict which items a stylist will pick to send a client from a ranked list of personalized recommendations, I will give guidance on how this technique can be applied more generally to similar examples of beta binomial regressions. As this component is critical to our inventory forecast of quantity over time, we update the priors daily based on new evidence of stylists’ behavior. This detailed explanation of how machine learning has been applied to determining parameters of our physical process inventory models illustrates the blend of techniques used to accurately capture the variance in stock quantity over time by the inventory optimization team at Stitch Fix.
QCon: Tell us about the types of problems you solve at Stitch Fix.
Sally: At Stitch Fix I work on the inventory forecasting team. Stitch Fix is a retail model where we make recommendations of clothing and accessories that we think clients would like, and then send them a box of five items in it. They decide what they want to keep and then send back what they don't want. There's a lot of interesting data that we can capture. We send things to our clients and then they're sending some back, so we're getting this great feedback cycle. Based on that, we forecast the inventory we're going to need in the future, and we build the process, moving away from traditional retail where everything may have been done in Excel to where we can use machine learning and all the data we collect to anticipate the needs of our clients.
QCon: What's the goal for your talk?
Sally: The goal is to provide some insight into our interesting business model and how machine learning works within our company. We have quite a few lessons learned on how to move away from a manual process to machine learning-based models while still keeping that human element along the way. I think this would be useful for people who are trying to scale up companies or maybe move towards machine learning. In particular I'm going to talk about our forecasting inventory model and the different components. If we have a new style coming in and we don't know a lot about it, we send it out to get reactions from clients, and how to deal with that kind of data by using our knowledge about similar styles and growing that information.
QCon: Can you give me an example of one of the learnings that you might dive into?
Sally: One example of keeping the human element with the machine learning element is coming from the styling team, the way that we come up with recommendations of clothing that we think would suit each client. We come up with the right list of what we think the client is most likely to keep that is then given to a stylist who will go through and curate a set of five items. There's that human element of knowing what goes with what, and reading the specific requests of a client and having a relationship with that client that is almost impossible to capture with a machine. The combination of the two is what makes it successful. Explaining how we decided to combine automated with human is going to be interesting.
QCon: Who's the primary audience for this talk?
Sally: There's definitely some content that's specific to data scientists and machine learning. But it's also for the person that helps the developer who wants to move into machine learning, trying to incorporate it in their company.
QCon: What would you rate the level of this talk?
Sally: This is an intermediate talk but I'm trying to make it accessible to everyone. There may be some details where familiarity with Bayes’ and regression would be useful, but in general it should be accessible to everyone.
QCon: If I am a developer interested in moving into machine learning, and I've never worked with models, what would you suggest to be the first thing that I should be looking at?
Sally: Finding processes that makes sense to automate. Something that you are often doing manually, when you're trying to interpret data in the same way constantly and it will need to scale. Let the machine do it and let the machine learn and get better and better at it. Instead of just slowly chipping away at the problem, take that whole process and replace it with something else which can scale with the business.
I do most of my modeling in Python. In assessing models I like to bring in some of the base libraries, like StatsModels, to be able to assess whether they're actually doing what I want them to do. Exploring that space is a great place to start.
Similar Talks
Scaling DB Access for Billions of Queries Per Day @PayPal
Software Engineer @PayPal
Petrica Voicu
Psychologically Safe Process Evolution in a Flat Structure
Director of Software Development @Hunter_Ind
Christopher Lucian
Not Sold Yet, GraphQL: A Humble Tale From Skeptic to Enthusiast
Software Engineer @Netflix
Garrett Heinlen
Let's talk locks!
Software Engineer @Samsara
Kavya Joshi
PID Loops and the Art of Keeping Systems Stable
Senior Principal Engineer @awscloud
Colm MacCárthaigh
Are We Really Cloud-Native?
Director of Technology @Luminis_eu
Bert Ertman
The Trouble With Learning in Complex Systems
Senior Cloud Advocate @Microsoft
Jason Hand
How Did Things Go Right? Learning More From Incidents
Site Reliability Engineering @Netflix
Ryan Kitchens
Graceful Degradation as a Feature
Director of Product @GremlinInc