# Safety Stock with Fill Rate Criterion

When applying the base stock inventory policy, assuming the daily demands are normally distributed with parameter $$(\mu, \sigma)$$, we can find the optimal parameter $$S$$ (the base stock level) in several different ways: (say we have 0 lead time and review period is 1 unit period, and assume infinite horizon)

1. From the holding cost/stockout cost criterion: if holding cost per item is $$h$$ and stockout cost per item is $$p$$, then $$S = \mu + \sigma\Phi^{-1}(\frac{p}{p+h})$$, where $$\Phi$$ is the cdf of the standard normal distribution.
2. If the stockout cost $$p$$ is difficult to estimate for the firm, then a service-level-based approach is used, in particular, the two most basic types of service levels are Cycle Service Level (type 1 service rate) and Fill Rate (type 2 service rate): To achieve a type 1 service level of $$\alpha$$, we simply have $$\alpha = \Phi((S-\mu)/\sigma)$$, so the base stock level $$S = \mu + \sigma\Phi^{-1}(\alpha)$$.
3. For a type 2 service level, the calculation is more complicated. The usual formula for approximating the fill rate is $$\beta = 1-\frac{n(S)}{\mu}$$, where $$n(S) = \sigma \mathcal{L}(z), z=(S-\mu)/\sigma$$, and $$\mathcal{L}(z)$$ is the standard normal loss function (see e.g. in the appendix of this book).

The first two approaches give the base stock level a nice structure: $$\mu$$ is the cycle stock to cover the average demand in lead time and review period, while $$\sigma \Phi^{-1}(\alpha)$$ is the safety stock to buffer the fluctuations in lead time demand, and we have a rather simple description of the relation between the safety stock and the service level $$\alpha$$. However, when using the fill rate approach, the base stock level $$S$$ is found by solving the nonlinear equation $$\beta = 1-n(S)/\mu$$, we can still compute the associated base safety stock level $$ss = S-\mu$$, but we no longer have a simple description on the relationship bewteen the safety stock level, the fill rate $$\beta$$ and the demand standard deviation $$\sigma$$.

So my question is: is there any approximate formula/asymptotic expression (as $$\beta$$ approaches $$1$$) that gives the rough relation between the safety stock level $$ss = S-\mu$$ and the fill rate $$\beta$$ when $$S$$ is found by solving the fill rate constraint?

We can work from scratch. Rearrange $$\beta=1-n(S)/\mu$$ to get $$-\frac{\mu\sqrt{2\pi}}\sigma(\beta-1)=e^{-z^2/2}-z\sqrt{2\pi}+z\int_{-\infty}^ze^{-t^2/2}\,dt$$ on using $${\cal L}(z)=\phi(z)-z(1-\Phi(z))$$ and $$\Phi'(z)=\phi(z)=e^{-z^2/2}/\sqrt{2\pi}$$.

To determine the inverse asymptotic behaviour as $$\beta\to1^-$$, we now expand the integral term about infinity to obtain the Laurent series of $$\Phi$$, which is possible by expanding the reciprocal about zero. This gives \begin{align}y:=\frac{\mu\sqrt{2\pi}}\sigma(1-\beta)&=-e^{-z^2/2}\sum_{n=1}^\infty\frac{(-1)^n(2n-1)!!}{z^{2n}},\end{align} where for simplicity, we can cut the sum at the first term as $$\mathcal O(1/z^4)$$ decays much faster than $$1/z^2$$. Thus the RHS can be approximated as $$f(z)=e^{-z^2/2}/z^2$$ with inverse $$f^{-1}(z)=\sqrt{2W\left(\frac1{2z}\right)}$$ where $$W$$ is the Lambert $$W$$ function. This can be reduced to elementary functions through the asymptotic $$W(z)\sim\log z-\log\log z+o(1)$$, so the safety stock is asymptotically equal to $$\textsf{SS}=z\sigma\sim\sigma\sqrt{2\log\left(\frac\sigma{2\mu\sqrt{2\pi}(1-\beta)}\right)-2\log\log\left(\frac\sigma{2\mu\sqrt{2\pi}(1-\beta)}\right)}$$ which indeed tends to infinity as $$\beta\to1^-$$.

• Sorry for the late reply, this is great, thank you!
– TTY
Feb 2 '21 at 2:16
• One question though, as $\beta \to 1$, the safety stock should approach infinity (you need a lot of safety stocks to ensure high service level), why the approximation should be linear?
– TTY
Feb 2 '21 at 2:48
• @TTY The linear approximation was only meant to be an example of how the series reversion would be carried out, as you can obtain many more terms using the recursive approach. I did this by hand but I'm sure a program can handle quadratic, cubic terms and so on. Feb 2 '21 at 8:48
• You are right, I think the problem is not about the linear approximation though. The approximation should approach $\infty$ as $\beta \to 1$, which means the power series should not be developed around $(\beta-1)$. I think the problem comes from that since $z(y=0) = A_0 \neq 0$, the power series representing the functional inverse $y = y(z)$ should be expanded around $z(0) = A_0$ instead of $0$. @TheSimpliFire
– TTY
Feb 2 '21 at 9:35
• @TTY Sorry for a 10-month late edit! It turns out I expanded it about zero instead of infinity, but now it is corrected, with the safety stock tending to infinity. Nov 21 '21 at 10:34

You can solve:

$$\beta = 1-\frac{n(S)}{\mu}$$ wrt $$\mathcal{L}(z)$$

which gives you:

$$\mathcal{L}(z) = \frac{\mu\times(1-\beta)}{\sigma}$$

Then there is a a good approximation function (don't have the specific reference to it) that can convert $$\mathcal{L}(z)$$ to $$z$$:

$$z = 4.85-\mathcal{L}(z)^{1.3}\times0.3924-\mathcal{L}(z)^{0.135}\times 5.359$$

Then the safety stock can be found as:

$$ss = \sigma \times z$$

Example:

$$\beta$$ or fill rate $$= 0.98$$, $$\sigma = 5$$ and $$\mu=30$$

$$\mathcal{L}(z) = \frac{30\times(1-0.98)}{5}$$

$$\mathcal{L}(z) \approx 0.12$$

then

$$z = 4.85-0.12^{1.3}\times0.3924-0.12^{0.135}\times 5.359$$

$$z \approx 0.8$$

and

$$safety\space stock = 5\times 0.8$$

$$\approx4$$

• While this fits well for a range of small values of $1-\beta$ (I believe you used a numerical solver for this), it loses the asymptotic behaviour as $\beta\to1^-$. In particular, the safety stock should tend to infinity but your approximation tends to $4.85$. Nov 22 '21 at 10:27
• you're mathematically right, but in practice this asymptotic behavior is not desired. That's why this transformation is standard inventory control literature (assuming a normal distribution). Be aware that the approximation tends to 4.85 as being the z-value of a standard normal distribution, which is near to 1 for the CDF. Nov 22 '21 at 10:57
• I agree, I tested your function and it matches up to $\beta\le0.999$. I'd be interested to see a reference for the approximation equation. Nov 22 '21 at 10:59
• I know there is some reference, but I need to free up some time to dig in the books :) If I ever come across it, I'll make sure to edit the answer with the reference. Nov 22 '21 at 12:28