5
$\begingroup$

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?

$\endgroup$
1

2 Answers 2

2
$\begingroup$

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^-$.

$\endgroup$
3
  • $\begingroup$ Quick question...it seems that this only works when $\beta$ gets very close to $1$, right? When $\mu$ is relatively big and $\beta$ goes significantly below $1$, like e.g. $0.95$, this seems to be not defined. Any comments on that? $\endgroup$ Oct 5, 2022 at 17:25
  • 1
    $\begingroup$ @Steven01123581321 Yes. If we wish to be more realistic and take $\beta\approx0.9$ we can use the same method illustrated by expanding about $0.9$ instead of $1$. $\endgroup$
    – TheSimpliFire
    Oct 9, 2022 at 9:32
  • $\begingroup$ okay, I get it. Would help the answer though if you would add that note, maybe with an example. $\endgroup$ Oct 10, 2022 at 6:40
1
$\begingroup$

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$$

$\endgroup$
4
  • $\begingroup$ 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$. $\endgroup$
    – TheSimpliFire
    Nov 22, 2021 at 10:27
  • $\begingroup$ 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. $\endgroup$ Nov 22, 2021 at 10:57
  • 1
    $\begingroup$ 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. $\endgroup$
    – TheSimpliFire
    Nov 22, 2021 at 10:59
  • $\begingroup$ 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. $\endgroup$ Nov 22, 2021 at 12:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.