Inventory Management Part Deux: The Newsvendor Problem 3/21/2016 My objectives in teaching this class: 1. Give you a set of analytical tools that you can actually use in future jobs 2. Develop an ability to identify the tradeoffs inherent in all decisions 3. Make you better at Microsoft Excel E[O/P]Q ertain & Constant Deman E[O/P]Q Decision: How much to order/produce at a time

Tradeoff: Fixed setup vs. variable holding costs Heroic Assumptions: Constant demand All costs constant & precisely known No randomness anywhere Newsvendor Model Decision: How much to order at a time Tradeoff: Different costs for too few/too many Heroic Assumptions: Random but statistically well-defined demand All costs constant & precisely known No randomness anywhere Newsvendor Model We must decide TODAY how many papers to buy for resale TOMORROW. We dont know exactly how many

people will come tomorrow, but we do know the demand DISTRIBUTION (i.e. historical demand). We know the purchase cost, selling price, and salvage value of each paper. Demand 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 J 91 63 49 10 16 90

35 60 50 23 59 23 79 60 9 65 47 91 8 61 32 48 65 69 13 73 69 73 78

5 71 F 62 12 79 18 80 20 27 7 49 24 47 41 77 3 11 88 25 69 20

10 88 26 29 82 88 96 54 98 M 5 76 89 63 95 93 44 29 88 52 39 90

28 80 51 27 86 37 68 12 66 74 75 18 23 25 56 2 7 45 18 A 76 98

43 22 46 74 20 87 62 10 52 82 37 39 72 33 99 72 78 35 7 80 95 22 5

63 65 59 98 50 M 94 1 63 56 16 93 33 12 17 35 14 29 7 80 67 9

69 6 6 79 96 84 59 63 14 38 67 33 52 61 53 J 27 37 86 58 89 85

61 91 35 51 47 91 97 26 67 34 74 35 33 3 88 3 32 97 78 22 67 5 100

90 J 62 27 88 30 7 54 46 75 81 25 66 38 39 22 32 14 96 62 98 24

90 33 44 6 60 83 74 5 50 58 77 A 3 67 35 42 20 23 28 27 51 4

40 79 97 5 40 8 78 81 62 71 34 32 17 26 46 52 38 15 26 26 65 S

85 84 94 32 55 43 53 99 95 12 23 7 92 25 22 32 67 75 38 24 94 26 30

45 20 57 78 45 93 78 O 15 60 84 93 75 11 20 65 7 33 18 42 91 5

4 56 41 85 61 3 95 8 24 42 76 47 90 64 83 40 77 N 17 3 3 95

36 44 29 4 9 88 76 37 31 82 80 23 96 47 100 17 20 73 24 49 78 57 50

36 42 71 D 94 19 15 57 43 83 22 58 74 13 17 39 12 99 59 87 26 94

94 86 43 34 67 11 19 32 82 0 79 20 57 Demand Uniform (0,100) Demand 100 90 80 70 60 50

40 30 20 10 0 1/1 7/1 1 Demand Uniform (0,100) Economic Factors Cost to buy each paper is $0.30. Selling price of each paper is $1.20. At the end of the day, unsold papers are worthless (i.e., they have no salvage value) Economic Factors Cost = $0.30 Selling price = $1.20 What if we order one paper too

many? What if we order one paper too few? Objective Maximize expected profit Aside: Expected For every possible Value outcome, multiply the value of that outcome by the probability of that outcome, and add them all up. Aside: Expected I will give you Value $10 for sure.

Aside: Expected Flip a coin.Value If its heads, Ill give you $10, but if it is tails, you dont get anything. Aside: Expected Roll one die. Value If it is a six, Ill give you $10, otherwise, you dont get anything. Aside: Expected Roll one die. Value If you roll a one, Ill give you $1; if you roll a two, Ill give you $2;

Review of Setting Cost = $0.30 Selling price = $1.20 Demand ~ Uniform (0,100) Average Demand = ? Underage Cost = ? =? Overage Cost Review of Setting Cost = $0.30 Selling price = $1.20 Demand ~ Uniform (0,100) Average Demand = 50 Underage Cost = $0.90 = $0.30

Overage Cost Marginal Analysis Average demand is 50 papers. Let the default action be to order 50 papers. Now, would we be better off by ordering 51, instead? Highly Recommended Source: http://faculty.chicagobooth.edu/donald.eisenstein/research/NewsvendorModel.pdf Marginal Analysis P(51st item is not sold) = P(Demand 50) P(51st item IS sold) = P(Demand > 50) E[Marginal Cost] = P(Demand 50) Overage Cost E[Marginal Profit] = P(Demand > 50) Underage Cost E[Marginal Cost] = P(Demand 50) $0.30 E[Marginal Profit] = P(Demand > 50) $0.90 Highly Recommended Source: http://faculty.chicagobooth.edu/donald.eisenstein/research/NewsvendorModel.pdf

Marginal Analysis Thus, we should increase our order from 50 to 51 IF E[Marginal Cost] < E[Marginal Profit] P(Demand 50) $0.30 < P(Demand > 50) $0.90 50% $0.30 < 50% $0.90 Highly Recommended Source: $0.15 < $0.45 http://faculty.chicagobooth.edu/donald.eisenstein/research/NewsvendorModel.pdf Marginal Analysis In general, we increase or order while And we stop increasing once Highly Recommended Source: http://faculty.chicagobooth.edu/donald.eisenstein/research/NewsvendorModel.pdf Marginal Analysis In other words, we stop at an optimal when Highly Recommended Source:

http://faculty.chicagobooth.edu/donald.eisenstein/research/NewsvendorModel.pdf Critical Fractile Back to our original example, we have If there is no salvage value in the case of overage and no chance for emergency restock in the case of shortage, then Unit Profit Margin or Contribution Critical Fractile What does this critical fractile really mean? Unif or m Dis tr ibution 75% 25% =75 01 23 456 78910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 990919293949596979899 100

75% of Area Uniform Distribution Critical Fractile What does this critical fractile really mean? Nor m al Dis tr ibution 75% 25% 0 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 100 75% of Area Normal Curve =66 Critical Fractile

What does this critical fractile really mean? Nor m al Dis tr ibution 75% 25% 01 23 456 78910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 990919293949596979899 100 75% of Area =57 Normal Curve Solving for Critical Fractile But how do we solve for ? 1. Using math: Inverse Cumulative Demand Function 2. Using simple Excel functions Solving for Critical

Fractile If demand ~ Uniform(min, max) CF * (max min) + min If demand ~ Normal(, 2) NORM.INV(CF, , ))