Automating Inventory at Stitch Fix Using Beta Binomial Regression - - PowerPoint PPT Presentation

automating inventory at stitch fix
SMART_READER_LITE
LIVE PREVIEW

Automating Inventory at Stitch Fix Using Beta Binomial Regression - - PowerPoint PPT Presentation

Automating Inventory at Stitch Fix Using Beta Binomial Regression for Cold Start Problems Sally Langford - Data Scientist How Stitch Fix works: How Stitch Fix works: - Tell us about your style, fit and price preferences. How Stitch Fix works:


slide-1
SLIDE 1

Automating Inventory at Stitch Fix

Using Beta Binomial Regression for Cold Start Problems

Sally Langford - Data Scientist

slide-2
SLIDE 2

How Stitch Fix works:

slide-3
SLIDE 3
  • Tell us about your style, fit and price preferences.

How Stitch Fix works:

slide-4
SLIDE 4
  • Tell us about your style, fit and price preferences.
  • A personal stylist will curate five pieces for you.

How Stitch Fix works:

slide-5
SLIDE 5
  • Tell us about your style, fit and price preferences.
  • A personal stylist will curate five pieces for you.
  • Try all the items on at home.

How Stitch Fix works:

slide-6
SLIDE 6
  • Tell us about your style, fit and price preferences.
  • A personal stylist will curate five pieces for you.
  • Try all the items on at home.
  • Give your stylist feedback on all items, then only pay for what you keep.

How Stitch Fix works:

slide-7
SLIDE 7
  • Tell us about your style, fit and price preferences.
  • A personal stylist will curate five pieces for you.
  • Try all the items on at home.
  • Give your stylist feedback on all items, then only pay for what you keep.
  • Return the other items in envelope provided.

How Stitch Fix works:

slide-8
SLIDE 8

Benefits of Machine Learning in Inventory Management:

  • Scalable with business.
  • Rapid reforecasting.
  • Capture nonlinear relationships.
  • Cold start problems.
slide-9
SLIDE 9

time number of units

  • rder arrives

in warehouse shirt is sent to clients and is sold plaid shirt

slide-10
SLIDE 10

time

  • rder arrives

in warehouse shirt is sent to clients and is sold plaid shirt number of units

slide-11
SLIDE 11

Inventory consumption of a style is proportional to;

  • daily demand,
  • clients for which the style is recommended,
  • whether there are units in the warehouse,
  • probability a stylist chooses to send the client this style,
  • if the client buys the style.
slide-12
SLIDE 12

Inventory consumption of a style is proportional to;

  • daily demand,
  • clients for which the style is recommended,
  • whether there are units in the warehouse,
  • probability a stylist chooses to send the client this style,
  • if the client buys the style.
slide-13
SLIDE 13

Inventory consumption of a style is proportional to;

  • daily demand,
  • clients for which the style is recommended,
  • whether there are units in the warehouse,
  • probability a stylist chooses to send the client this style,
  • if the client buys the style.
slide-14
SLIDE 14

Ranked styles recommended for client - which will the stylist choose to send?

slide-15
SLIDE 15

Ranked styles recommended for client - which will the stylist choose to send?

slide-16
SLIDE 16

Ranked styles recommended for client - which will the stylist choose to send?

slide-17
SLIDE 17

Ranked styles recommended for client - which will the stylist choose to send?

slide-18
SLIDE 18

Ranked styles recommended for client - which will the stylist choose to send?

slide-19
SLIDE 19

plaid long-sleeve shirt

slide-20
SLIDE 20

?

plaid long-sleeve shirt

slide-21
SLIDE 21

plaid long-sleeve shirt

slide-22
SLIDE 22

plaid long-sleeve shirt

slide-23
SLIDE 23

...

plaid long-sleeve shirt

slide-24
SLIDE 24

... P(chosen) + P(not chosen) = 1

plaid long-sleeve shirt

slide-25
SLIDE 25

? ...

plaid long-sleeve shirt blue long-sleeve shirt

slide-26
SLIDE 26
slide-27
SLIDE 27

Prior Beliefs

slide-28
SLIDE 28

Prior Beliefs Evidence

slide-29
SLIDE 29

Prior Beliefs Posterior Beliefs Evidence

slide-30
SLIDE 30

N ~ Binom(Nav, p)

slide-31
SLIDE 31

N ~ Binom(Nav, p)

slide-32
SLIDE 32

N ~ Binom(Nav, p) p ~ B(α, β)

slide-33
SLIDE 33

B(α’, β’) = B(α0 + k, β0 + n - k)

slide-34
SLIDE 34

B(α’, β’) = B(α0 + k, β0 + n - k)

slide-35
SLIDE 35

Step 1: Use maximum likelihood to calculate α0 and β0 for the distribution of p in groups of similar styles. Step 2: After a period of time, update this prior for the number of times the new style has been recommended for a client (n), and chosen to be sent (k). Step 3: Calculate the mean and confidence interval of p from the resulting

  • distribution. This is used as the probability that the new style will be chosen to be

sent to a client. Step 4: Repeat steps 2-3.

slide-36
SLIDE 36

VGAM (in python):

import rpy2.robjects as robjects robjects.r.library("VGAM") robjects.r("fit = vglm(cbind(successData,trialData - successData) ~ 1, betabinomialff, trace=TRUE)") alpha, beta = robjects.r("Coef(fit)") import scipy fit = scipy.stats.beta.fit(data, floc=0, fscale=1) alpha, beta = fit[0], fit[1]

  • result = scipy.optimize.minimize(loss_function, p0, jac=True, **kwargs)
slide-37
SLIDE 37

Data Storage Job Scheduler SQL Engine SQL Engine Hive Metastore Flotilla: Auto scaling cluster Job server for Spark cluster Data Scientist Code

slide-38
SLIDE 38
slide-39
SLIDE 39

Top 5 recommendations for client D Top 5 recommendations for client C Top 5 recommendations for client B Top 5 recommendations for client A Top 5 recommendations for client E

slide-40
SLIDE 40

B(α , β ) = B(μ/σ, (1 - μ)/σ)

μ σ

slide-41
SLIDE 41

μ = μ0 + μn log(1 + n)

slide-42
SLIDE 42

number of units time

now planned orders new styles

slide-43
SLIDE 43

number of units time

now forecasted units planned orders new styles

slide-44
SLIDE 44

How do we use our inventory forecast model?

  • When should we re-order inventory?
  • How should we buy inventory by size?
  • How should orders be separated into different warehouses?
  • When should a style not be sent out anymore, in place of a new option?
slide-45
SLIDE 45

Metrics of success:

  • Fraction of inventory out with clients compared to in the warehouse?
  • How many styles are available to send to a client?
  • ∆ in the beginning of month projected units.
  • Cumulative units sold over time.
slide-46
SLIDE 46

Do you want to calculate the probability of success in a binomial process? Not enough data? Use Beta Binomial Regression for your cold start problem!

slide-47
SLIDE 47

slangford@stitchfix.com Stitch Fix Algorithms Blog Algorithms Tour @stitchfix_algo