In a continuous-review $$(r,Q)$$ inventory system under a type-1 service level constraint, if the demand per unit time is distributed as $$N(\mu,\sigma^2)$$ and the lead time, $$L$$, is a constant, then the lead-time demand also has a normal distribution. The optimal reorder point (under some simplifying assumptions) is given by

$$r = \mu L + z_\alpha\sigma\sqrt{L}$$

where $$h$$ and $$p$$ are the holding and stockout costs, $$\alpha=p/(p+h)$$, and $$z_\alpha$$ is the $$\alpha$$th quantile of the standard normal distribution.

Now suppose the lead time is also stochastic, with distribution $$N(\mu_L,\sigma_L^2)$$. It is well known that the lead-time demand distribution has mean and variance

$$\mu_{LTD} = \mu\mu_L$$

$$\sigma^2_{LTD} = \mu_L\sigma^2 + \mu^2\sigma_L^2$$

I believe this part.

My question is: is the lead-time demand normally distributed? I do not think it is. But many textbooks (including mine!) give the formula for the optimal reorder point as

$$r = \mu_{LTD} + z_\alpha\sigma_{LTD}.$$

This formula is only correct if the lead-time demand is normally distributed. If the LTD is not normally distributed, then this formula is at best an approximation.

• LaTeX formatting has been enabled. – Robert Cartaino May 30 '19 at 21:39
• Larry, I like to think of the setup of models like this a bit differently. Consider a "demand process" that is a continuous-time non-decreasing stochastic process with stationary independent increments. Suppose now that the increments are normally-distributed with mean and variance proportional to the increment duration. Given a stochastic duration (lead time) L, the conditional distribution of demand is normal given L. It does not matter if L is normally distributed. To remove the condition on L, we either sum or integrate the conditional demand distribution preserving normality. – alerera May 31 '19 at 2:34
• @alerera I need to think about this more carefully, but in the meantime, would you move your comment to an answer? – LarrySnyder610 May 31 '19 at 2:49
• I'll provide a written answer once I get off a major deadline. Here's an even simpler setup to consider. Suppose time is discretized, let's say into days, so that lead time is measured in days but is a random variable with some mean and variance. Now suppose that daily demand is (well-approximated) by a normal random variable. I'll take it from there... – alerera May 31 '19 at 14:27
• Just an update that I'm still thinking about this. Suppose demand is a Brownian motion with drift parameters \mu and \sigma^2. While we know that B(\ell) is normal for fixed leadtime \ell, I'm starting to doubt whether B(L) is normal for RV leadtime L even if independent of B(.)... – alerera Jun 4 '19 at 16:34

I had the same doubt, and I arrived at the conclusion that the formula given in the textbooks is, at best, a practical approximation. The lead-time demand, in fact, is not normally distributed.

Let $$L$$ denote the lead-time and $$d$$ denote the demand per unit of time. Working under the assumption that both of them are normally distributed, then the random variable $$L \cdot d$$ can be written as:

$$L \cdot d = \frac{1}{4} (L + d)^2 - \frac{1}{4} (L - d)^2$$

If we further assume that $$L$$ and $$d$$ are independent (indeed, one could argue that the lead time of a supplier can be independent from the consumption rate of a product), then both $$L + d$$ and $$L - d$$ are normally distributed. In this case, then, $$L \cdot d$$ is a linear combination of two $$\chi^2$$ random variables, and therefore it's not a normal random variable! Furthermore, there is no known closed-formula expression for the distribution of a linear combination of $$\chi^2$$ random variables, even though the distribution can be approximated efficiently.

Below should be a Python code to check that $$L \cdot d$$ is not normal (assumes that both $$L$$ and $$d$$ are continuous):

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

samples = 10000
demands = np.random.normal(100, 20, samples)

stats.normaltest(ltd)

plt.hist(ltd, bins = 100);


I get a very low $$p$$-value from normaltest and, according to documentation, this is a D'Agostino-Pearson test with null hypothesis "The data comes from a normal distribution", so a low $$p$$-value allows me to reject the null hypothesis.

• The null hypothesis is that the data comes from a normal distribution! I totally missed that. So indeed, although my histogram looks normal, it is not. Thanks for catching that. – LarrySnyder610 Jun 11 '19 at 17:55

I tried simulating lots of normally distributed lead times and the normally distributed demand in each. The lead time demand sure looks normal:

But a normality test gives $$p = 0$$ to at least 9 decimal places. Edit: Since the null hypothesis for this test is “the data comes from a normal distribution,” this means we can conclude the lead-time demands are not normally distributed.

Here's my Python script in case anyone wants to play around with it (or check my work):

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

mu_D = 100              # mean demand per day
sigma_D = 20            # SD of demand per day
mu_L = 10               # mean lead time (days)
sigma_L = 2             # SD of lead time (days)
T = 10000000            # number of lead times to simulate

# simulate
LTDs = []
for t in range(T):
L = int(max(0, np.round(np.random.normal(mu_L, sigma_L))))

# simulate LTD
LTD = np.random.normal(mu_D * L, sigma_D * np.sqrt(L))

LTDs.append(LTD)

k2, p = stats.normaltest(LTDs)
print("p-value = {:.9f}".format(p))

# draw histogram
plt.hist(LTDs, bins=100)
plt.show()

• Yes, the normal approximation is a good one! I'm going to edit my answer with a few more ideas... – alerera Jun 10 '19 at 14:37
• But I'm simulating the actual lead-time demands, not an approximation of them. So doesn't that suggest that the LTD is normal, not that the normal distribution is a good approxation for it? – LarrySnyder610 Jun 10 '19 at 14:39
• I'm not sure. I'm pretty sure for example that if you used $E[L]=0$ and $var(L)=10$ that it might not look so normal. This is a question about compound distributions, and I don't know whether even if you don't screen at zero whether the resulting distribution is normal. See my answer edits. – alerera Jun 10 '19 at 15:13
• You are taking (1) $L \sim \mathcal{N}(\mu_L, \sigma_L)$ and then (2) $L \cdot d \sim \mathcal{N}(L \mu_d, L \sqrt{\sigma_d})$ but I think this second step only makes sense if $L$ is a constant, not another random variable. I would take $D \sim \mathcal{N}(\mu_d, \sigma_d)$ and then check what happens to the "object" $L \cdot d$. – Alberto Santini Jun 11 '19 at 15:09
• Editing my answer to reflect this answer... – Alberto Santini Jun 11 '19 at 15:12

I've thought about this for a bit, and I now believe that leadtime demand in most common situations is not normally distributed, although it may be as usual a good approximation.

Of course, we know that the normal distribution has infinite tails which means you could argue that it is not ever appropriate for non-negative random variables, like demand. This is a silly argument; after all, the Central Limit Theorem holds that the distribution of the sum of a large number of independent non-negative random variables tends to a normal distribution.

When modeling demand over time, I find it useful to think about a cumulative stochastic process $$D(t)$$ counting all demand from time zero to $$t$$ where $$D(0)=0$$. If this process has independent increments and if the distribution of $$D(t)$$ is assumed to be normal with mean $$\mu_D t$$ and variance $$\sigma_D^2 t$$, then it is a classic Brownian motion with drift coefficient $$\mu$$ (also assuming continuous paths in time, which is somewhat technical).

After some thought, I have realized that while $$D(t)$$ is a normal random variable for any fixed $$t$$, it is not true in general that $$D(L)$$ is a normal random variable for a stochastic lead time $$L$$. The simplest counterargument is to suppose that $$L$$ is a Bernoulli random variable; in this case, the probability density of $$D$$ would include a point mass of $$p$$ at zero mixed with a continuous density everywhere else. This is not any normal density of course.

The last important question is how good is a normal approximation in this case, with mean $$\mu_D\Bbb E[L]$$ and variance $$\sigma_D^2 \Bbb E[L] + \mu^2 \operatorname{var}(L)$$, for setting an appropriate reorder point.

Larry's answer shows that when we assume $$L$$ is nearly normally-distributed, the distribution of $$D(L)$$ also appears to be well-approximated by a normal distribution. In his answer, $$L$$ is a truncated non-negative normal random variable, taking value $$0$$ with probability $$P(N(\mu_L, \sigma^2_L)\leq 0)$$ but having a normal density for $$L > 0$$. When $$\mu_L$$ is large enough and $$\sigma^2_L$$ is small enough, my guess is that the normal approximation is a good one.

The idea we are exploring here is one of compounding distributions. A compound probability distribution $$H$$ results when a parametrized distribution $$F$$ is marginalized given a distribution for the parameter. In our case, we have a single parameter $$L$$ (univariate), and thus: $$f_D(t) = \int f_N(t \mid \ell) \; f_L(\ell) \, d\ell,$$ where $$f_N(t \mid \ell)$$ is normal with mean $$\mu_D \ell$$ and variance $$\sigma_D^2 \ell$$ and $$f_L(\ell)$$ is normal with mean $$\mu_L$$ and variance $$\sigma^2_L$$.

I don't know much about compounding distributions. From what I've read, compounding a normal distribution with a normally-distributed mean leads to a another normal distribution. In our case, we have a normally-distributed mean and normally-distributed variance and they depend on the same underlying normal parameter $$\ell$$. It would be exciting to find out that such a compounding led to a normal distribution.

• Let's remove the truncation from the picture to avoid that complication. What if we allow $L$, $D$, and the LTD to be negative, i.e., we don't truncate at 0? Does that change anything? (I re-ran the simulation with that change; no change to the results, not surprisingly.) – LarrySnyder610 Jun 10 '19 at 21:15
In practical situations, direct usage of formula $$\sigma^2_{LTD} = \mu_L\sigma^2 + \mu^2\sigma_L^2$$ spikes up safety stock significantly and provide over protection from stock out situations. It is strongly recommended to look at variability in lead time and take measures to reduce variability.