SeDFAM: Semiconductor Demand Forecast Accuracy Model Metin C ¸ akanyıldırım School of Management, University of Texas at Dallas, Richardson, Texas 75080. Robin O. Roundy Operations Research and Industrial Engineering, Cornell University, Ithaca, New York 14850. Abstract In the semiconductor industry, many critical decisions are based on demand forecasts. However, these forecasts are subject to random error. In this paper, we lay out a scheme estimating the vari- ance and correlation of forecast errors (without altering given forecasts) and modeling the evolution of forecasts over time. Our scheme allows correlations across time, products and technologies. It also addresses the case of nonstationary errors due to ramps (technology migrations). It can be used to simulate chip demands for production planning / capacity expansion studies.
36
Embed
SeDFAM: Semiconductor Demand Forecast Accuracy Modelmetin/Research/forecast.pdf · variable, estimate its distribution, and randomly generate possible futures with minimal user input.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
SeDFAM: Semiconductor Demand Forecast Accuracy Model
Metin Cakanyıldırım
School of Management, University of Texas at Dallas, Richardson, Texas 75080.
Robin O. Roundy
Operations Research and Industrial Engineering, Cornell University, Ithaca, New York 14850.
Abstract
In the semiconductor industry, many critical decisions are based on demand forecasts. However,
these forecasts are subject to random error. In this paper, we lay out a scheme estimating the vari-
ance and correlation of forecast errors (without altering given forecasts) and modeling the evolution
of forecasts over time. Our scheme allows correlations across time, products and technologies. It
also addresses the case of nonstationary errors due to ramps (technology migrations). It can be used
to simulate chip demands for production planning / capacity expansion studies.
1 Introduction
In this paper, we will attempt to quantify forecast errors, i.e., the differences between forecasts and actual demands
for semiconductors. Some of the most important, difficult and risky decisions made by semiconductor companies are
based on demand forecasts. Capacity acquisition and deployment are prime examples. Cakanyıldırım and Roundy
[1] mentions that a semiconductor machine costs around $1-3M while a fab costs $1-2B. Because of long machine
delivery lead times, capacity acquisition decisions must be made well in advance with inaccurate demand forecasts.
Our primary goal is to quantify the risks associated with capacity acquisition decisions, and with a variety of other
forecast-based decisions.
We take a set of current and historical demand forecasts, model the forecast error as a vector-valued random
variable, estimate its distribution, and randomly generate possible futures with minimal user input. However, totally
autonomous generation of forecasts is outside the scope of this study. Semiconductor demand forecasting is a complex
process. In this process, forecasters use many sources of information. The process is difficult to quantify and represent
mathematically. Therefore, we do not propose an alternative forecasting scheme.
The study of forecast quality is particularly relevant for the semiconductor industry because high volatility makes
forecasting challenging. Moreover, it is believed in the industry that forecast accuracy is getting worse, both because
product life cycles are shortening and because line-widths are shrinking (see [1]). Line-width shrinkage often makes
it harder to sell chips produced under an old technology with wider widths unless substantial discounts are made.
Thus, demand for a certain line-width of a certain product often resembles that of a style good which will not be
demanded after a certain point in time.
Within the context of forecasting, semiconductor product families can be divided roughly into two groups. Families
in the first group have persistent demand over extended periods of time, such as memory, ASICS, CPUs, controller
chips for desktop printers, etc. As time advances these families evolve, and they are migrated to finer and finer line
widths, but the overall demand for the product family continues. For these product families, the requirements for
manufacturing capacity is a function of overall family demand, of line width migrations, and of a variety of other
technological factors, all of which need to be forecasted.
1
Product families in the second group are just coming into existence, and consequently have no historical data
that can be used in forecasting. For these families methodologies that were developed for style goods and by Meixell
and Wu [2] are applicable. This paper focuses on semiconductor families that have persistent demand over extended
periods of time.
A primary concern will be the evolution of forecasts as time passes. Consider forecasts of domestic PC sales in
December 2000. We start forecasting at the beginning of January 2000 and update the forecast every month. At the
beginning of December 2000, we will have produced 12 forecasts for December sales. Actual sales can be thought
as a forecast with zero error. Putting these 13 numbers into chronological order we see how forecasts for December
sales evolve over time from a highly uncertain forecast in January to a sharply accurate one in December.
2 Literature Survey
There is a huge time-series literature on methods to generate demand forecasts (see Hamilton [3]). Since we
investigate forecast errors for a style good (semiconductors) as opposed to forecast generation, we mention a few,
relatively recent, papers that study forecasting, especially for new products or style goods. Mahajan and Wind
[4] survey the new product forecasting models. Murray and Silver [5] represent the demand of a style good as
a binomial random variable where the number of potential buyers is constant but the probability of a customer
purchase is updated using past sales. Chang and Fyffe [6] visualize monthly demands as a fixed fraction of the total
demand for a style good. Total demands are modified as monthly sales are revealed.
In forecasting new product demands, the Bass function [7] is often used. Norton and Bass [8] model diffusion
of a new product (demand migration) in the markets. Kurawarwala and Matsuo [9] study seasonal PC demands.
In both models parameters of the Bass function are updated periodically.
Another stream studies forecast revisions with partially observed (demand) data. The main driving idea in
Guerrero and Elizondo [10], Kekre et al. [11], and Bodily and Freeland [12] is presuming that the forecasted
quantity is revealed in steps (over time). Moreover, partial observations can be used to forecast the whole quantity.
For example, in one of the models it is assumed that the ratio of orders received up to a certain time to the whole
2
demand is approximately constant. After the proportionality constant is estimated, forecasts are readily generated
from the partially observed demands.
A relatively early example of updating forecasts in a Bayesian manner is Azoury [13]. It assumes that demand
has a particular density and updates parameters of that density by conditioning on previous demands. The idea
of updating forecasts in a Bayesian fashion through leading indicator products is introduced by Meixell and Wu in
[2]. In this scheme, forecaster observes the demand for a particular product and revises forecasts for other products
whose demands are strongly correlated with those of the particular product. For new products, and for products that
are being phased out, the general approaches that have been developed within this scheme, and those for style good
forecasting, are applicable. The scheme developed by Meixell and Wu outputs demand scenarios instead of forecasts,
thus it constitutes an example of the contemporary practice of forecasting with scenarios argued by Bunn and Salo
[14]. Angelus et al. [15] ties the current period’s demand to the last period’s demand through a random multiplier
whose expected value is greater than one. Works of Meixell and Wu, and Angelus are done on semiconductor demands
and so are particularly relevant. However, they primarily aim to generate demand scenarios/forecasts whereas our
primary goal is to evaluate the quality of the forecasts.
As far as we know, the first work that attempted to understand the evolution of forecasts is Hausman [16]. For
some real life data sets, he statistically validates the hypothesis that ratios of successive forecasts are Lognormal
variates. Graves, Meal, Dasu and Qui [17] treats the forecasting process as a black box and study forecast variances.
However, [17] assumes that forecasts are serially independent. Heath and Jackson [18], unaware of [17], propose a
more general model allowing serial dependence and estimate the covariance matrix of stationary demand forecasts.
That matrix is also used to simulate demand forecasts. In recent studies, Gullu [19] and Toktay [20] have investigated
the value of incorporating this technique into production planning and inventory holding, respectively. Graves, Kletter
and Hetzel [21] also use Heath-Jackson framework to study production smoothing and safety stock holding tradeoffs.
They show how to linearly convert forecast updates into production schedule updates so that a measure of production
smoothing is minimized subject to an upper bound on a measure of safety stock.
We focus on semiconductor product families that have persistent demand over extended periods of time, but which
are affected by successive waves of technological innovation and improvement. The level of detail in our models is
3
driven by a desire to support the acquisition of manufacturing capacity, and related decisions. At this level of detail
demands become nonstationary with technology improvements. We propose a forecast evolution model that handles
nonstationarity and that is a result of ideas blended from Heath-Jackson framework and style goods forecasting. Our
primary goal is the estimation of variances and covariances of forecast errors affecting different products in different
time periods. We have also created a tool that can be used to simulate the manner in which forecasts evolve.
3 Fractional and Perceived Age Forecasts
In this section we present two concepts, fractional forecasts and perceived age forecasts. We also discuss the role
that these forecasts play in our forecast error estimation procedure.
We group part numbers into product families at the highest level and into products at a finer level. Chips belonging
to the same functional category are put into the same product family. For example memory chips constitute a product
family. Chips of the same product family are further grouped according to technology (e.g. CMOS 12). Let p and
tec denote a generic product family and a technology respectively. The product family p and the technology tec
define a product (p, tec) uniquely. An example of a product defined as such is (Memory,CMOS 12).
In the semiconductor industry, within each product family, demand for a given technology dies out and is replaced
by demand for a newer technology. We call this process migration of product families. The S-curve (p, tec) represents
forecasted demand for the family p and for the technology tec plus demands for all technologies newer than tec.
In Figure 1, a piece of the S-curve (Memory,CMOS 8), and S-curves (Memory,CMOS 10) and (Memory,CMOS 12)
are shown. Due to migration of product families, one often expects those curves to be nondecreasing. The vertical
distances between consecutive S-curves is the demand for memory chips with a single technology.
In addition to working with absolute quantities on the vertical axis of Figure 1, the ratio of those absolute figures
to the total product family demand will be of interest. Let dp,tecs,t be the demand of product family p and technology
tec, forecasted from period s for period t. From now on, we use the phrase from s for t to refer to forecasts made in
period s for demands to be realized in period t. When s = t, the quantity in question is no longer a forecast but an
actual demand. For practical reasons, in each period s forecasts are made only for the next H periods: s+1,...,s+H.
4
We refer to H as the forecast horizon. Let cdp,tecs,t be the (cumulative) demand for all technologies newer than or
equal to tec of family p, from s for t. Furthermore define dps,t, the forecast for family p, and fp,tec
s,t , the fractional
forecast, as
dps,t =
∑
tec
dp,tecs,t
cdp,tecos,t =
∑
tec is tec0 or newer
dp,tecs,t
fp,tecs,t =
cdp,tecs,t
dps,t
. (1)
Note that 0 ≤ fp,tecs,t ≤ 1, and that fp,tec
s,t can be easily calculated from the demand forecast data.
We summarize commonly used notation in Appendix A. For simplicity we discuss family demands with no trend
or seasonality. For the case where trend or seasonality are present see Appendix B.
Recall that we are dealing with the demand forecasts for products that correspond to various technologies within
existing product families rather than demand forecasts for new product families. For such products and product
families, partly due to product compatibility the relationship between a semiconductor manufacturer and an OEM
tends to be more stable than many other aspects of the consumer electronics business. Therefore, the market (exterior
forces) is the primary driver for family demands dpt,t. Contrary to that, the company’s technology (interior forces)
mostly drives fractional demands fp,tect,t . This idea is embodied in the first of the following independence assumptions.
(I1): Product family demands and fractional demands are independent. Meixell and Wu [2] (see section II.A.2)
also make a similar assumption. For a formal statement of the assumption see (9).
(I2): Random variables which we observe as fp,tec1s,t and fp,tec2
s,t are independent for tec1 6= tec2. In other words
shifts in different S-curves of Figure 1 are independent. For a formal statement see (10).
An example will clarify and motivate Assumption (I2). Let A, B denote the fractional demands for technologies
8 and 10 of the same product family at a particular time, respectively. Then the fractional cumulative demands
are A+B, and B for 8 and 10, respectively. If the forecast for B increases (corresponding to faster migration than
estimated), then the forecast for A will probably decrease, because demand for B will replace demand for A. However,
it is not clear how A+B will behave. In practice one might expect A and A+B to have some degree of correlation.
5
However, there is no indication of significant correlations (between different ramps) either in our interviews with
people in the semiconductor industry (see [1]) or in the industrial data we have.
When using (1) in practice a word of caution is in order. Wafers are a common unit of measure for semiconductor
products. However, if a new memory chip stores more data per wafer and there is a constant demand for data
storage, demand for wafers will go down. When aggregating data, units should be chosen to minimize the impact of
technology changes on total family demand.
Suppose that fp,tecs,t = 0.4 and fp′,tec′
s,t = 0.98. In period s + 1 these forecasts will be updated by amounts,
a = fp,tecs+1,t − fp,tec
s,t and a′ = fp′,tec′s+1,t − fp′,tec′
s,t . But a is likely to be larger in absolute value than a′ because fp′,tec′s,t
is very close to its maximum value 1. To eliminate this effect we transform fractional forecasts into perceived age
forecasts. Let L be the average length of a technology ramp, i.e. the average length of the S-curves in Figure 1. We
use the phrase age of a ramp to refer to the duration between the start of the ramp and the current time. Define
a nondecreasing ramp function R : [0, L] → [0, 1], which maps the age of a typical ramp to the fraction of product
family demand achieved. R is obtained by fitting a curve to all the S-curves available in the historical database while
requiring R(0) = 0 and R(L) = 1. We extend the domain of R to (−∞,∞) by defining R(δ) = 0 if δ ≤ 0, and
R(δ) = 1 if δ ≥ L. Let δp,tecs,t be the perceived age forecast from s for t, where
δp,tecs,t = R−1(fp,tec
s,t ). (2)
δp,tecs,t is different from the actual age of the ramp. If R−1(0.3) = 6 then in a “typical” ramp, 30% of the family demand
shifts to the new technology 6 months after the beginning of the ramp. If δp,tecs,t = 6 (or equivalently fp,tec
s,t = 0.3),
then according to the period s forecast, at time t the (p, tec) ramp will be at the 30% level. If the ramp up during
period t is forecasted to be faster (slower) than usual, then δp,tecs,t+1 > δp,tec
s,t + 1 (δp,tecs,t+1 < δp,tec
s,t + 1).
Forecast evolution studies the incremental transition of forecasts as time advances. We will now define some
statistics that capture the mechanism of forecast evolution.
To illustrate the concept of forecast evolution, note that the family demand forecast dps−1,t, the fractional forecast
fp,tecs−1,t and the perceived ramp age forecast δp,tec
s−1,t are all generated at time s−1. During period s−1 more information
is obtained. Consequently, in period s the forecaster produces revised forecasts dps,t, fp,tec
s,t and δp,tecs,t . Updates on
6
perceived ramp ages δp,tecs,t and product family demands dp
s,t are denoted with up,tecs,t with vp
s,t. These are calculated
as
vps,t = dp
s,t − dps−1,t and
up,tecs,t = δp,tec
s,t − δp,tecs−1,t = R−1(fp,tec
s,t )− R−1(fp,tecs−1,t). (3)
At every time period s, an update vector vs for family demand forecasts will be constructed as
vs = [vX86s,s , ..., vX86
s,s+H−1, vMems,s , ..., vPPC
s,s , ..]
where X86, Memory, PPC are typical product families in the semiconductor industry. The perceived age update
vector utecs is similar, but more intricate. At every time period s, an update vector for a currently ramping technology
will be constructed by putting all updates (H updates for each product family) into a vector utecs . For example,
assume that memory and X86 are the only two product families. At time s, we create two vectors u8s and u10
s , one
for technology 8 and one for technology 10 as follows
u8s = [uX86,8
s,s , ..., uX86,8s,s+H−1, u
Mem,8s,s , ..., uMem,8
s,s+H−1] u10s = [uX86,10
s,s , ..., uX86,10s,s+H−1, u
Mem,10s,s , ..., uMem,10
s,s+H−1]. (4)
This specific construction lets us observe several update vectors (one for each active technology) in a single period.
Different technologies are not put into the same update vector because they are assumed to be independent (see
(I2)). In general, utecs has entries for each product p and each t, s ≤ t < s + H.
However, with the above construction, not all components of a given update vector will be observed in all periods.
If tec = 10 is introduced into family X86 at time t, then no perceived age forecast δX86,10s,∗ will be available in period
s = t−H − 1. Two periods later in period t−H + 1, the update vector u10t−H+1 will have a single observed element,
uX86,10t−H+1,t. In the next period, the update vector u10
t−H+2 will have two observed elements, and so forth. At a given
point in time a particular technology may be used for some product families, but not for the others. In that case,
only forecast updates of product families using that technology will be observed. Many (or most) of the update
vectors will have missing data. This will affect our estimation procedures.
We will finish this section by introducing a procedure called SeDFAM (acronym for Semiconductor Demand
Forecast Accuracy Model). SeDFAM uses historical and current forecasts to estimate variances and covariances of
7
Computation See Section
Inputs : Historical Demand forecasts, dp,tecs,t , for all s, t, s ≤ t ≤ s + H. 3
1. Compute historical family forecasts dps,t and fractional forecasts fp,tec
s,t . Use (1). 3
2. Fit ramp function R to historical ramps. See the paragraph before (2). 3
3. Compute perceived age forecasts δp,tecs,t = R−1(fp,tec
s,t ); see (2). 3
4. Compute family forecast updates vps,t = dp
s,t − dps−1,t; see (3). 3
5. Compute perceived age forecast updates up,tecs,t = δp,tec
s,t − δp,tecs−1,t; see (3). 3
6. Estimate family forecast update covariance matrix, Λ. Use standard statistical techniques. 4
7. Estimate perceived age forecast update covariance matrix, Σ. Use the EM algorithm. 4
8. Use R , Λ , Σ to compute variances and covariances of demands as seen in period now. 5
Use the Monte-Carlo approach described in Section 5.
Table 1: Steps of the SeDFAM
future demands. Table 1 summarizes the computations required by SeDFAM. In this section we have discussed steps
1-5.
Section 4 uses the language of random variables to describe update vectors. We also estimate the covariance
matrices for update vectors (steps 6 and 7) in Section 4. In Section 5 we complete our definition of SeDFAM by
laying out the Monte-Carlo approach used to compute variances and covariances of future demands based on current
and historical forecasts. This corresponds to step 8 in Table 1.
4 A Probabilistic Model for Forecast Evolution
In this section, we provide a probabilistic model for forecast evolution and describe steps 6 and 7 of SeDFAM. From
now on we will use capital letters for random variables and small letters for observations from those random variables.
We will focus our discussion on the evolution of perceived ramp age forecasts δs,t. The evolution of product family
demand forecasts is treated exactly the same way: it suffices to replace δp,tecs,t (∆p,tec
s,t ) with dps,t (Dp
s,t) and up,tecs,t
8
(U tecs ) with vp
s,t (Vs) in the current section. Assumptions we make in this section, (A1-3) and (I3), apply to updates
on both product family forecasts and perceived ramp age forecasts.
Let =r be the information available at time r (=r stands for the σ − field at time r). We will use notation
inspired from conditioning to distinguish between the versions of the forecasts as seen from different time periods.
Specifically, Dp,tecs,t |=r, F p,tec
s,t |=r, ∆p,tecs,t |=r and Up,tec
s,t |=r refer to the random variables corresponding to dp,tecs,t fp,tec
s,t ,
δp,tecs,t and up,tec
s,t , as seen from period r. Thus, F p,tecs,t |=r, ∆p,tec
s,t |=r and Up,tecs,t |=r are all random for r < s, but
fp,tecs,t = F p,tec
s,t |=s, δp,tecs,t = ∆p,tec
s,t |=s and up,tecs,t = Up,tec
s,t |=s are deterministic.
We describe semiconductor demand forecasts using a hierarchy of random variables based on (1), (2) and (3). In
Figure 2 the dependence on the information set is suppressed. Thus we write Dps,t for Dp
s,t|=r, etc. The matrices Λ
and Σ of Figure 2 are defined in Assumption (I3) below.
The stochastic version of equation (3) is
Up,tecs,t |=r = (∆p,tec
s,t −∆p,tecs−1,t)|=r. (5)
Following Heath and Jackson [18], we make the following assumptions on the update random variable:
(A1) No Learning: Nothing is learned about Up,tecs,t before period s. Up,tec
s,t indeed represents the additional information
learned in period s. For r < s, all Up,tecs,t |=r have the same distribution as the generic random variable Up,tec
s,t :=
Up,tecs,t |=s−1. No Learning implies that Up,tec
s,t and Up,tecr,w are uncorrelated for s 6= r.
(A2) Stationarity: Up,tecs,t = Up,tec
s+h,t+h in distribution for any increment h.
(A3) Zero Expected Value: E(Up,tecs,t ) = 0. Appendix C discusses how to proceed when this assumption fails.
As we mentioned earlier, we defined perceived ramp age forecasts so that (A2) becomes a reasonable assumption.
Fractional updates (fp,tecs,t − fp,tec
s−1,t) tend to be smaller when fp,tecs,t is close to either 0 or 1, so fractional updates
depend on ramp ages. Up,tecs,t is called a normalized update because its distribution depends on the difference between
t and s (by (A2)), but not on t, s or the ramp age.
We now discuss the algebra relating forecast updates to forecasts. Forecasts made for periods too far into the
future are not useful, so we have a finite forecast horizon H. Thus, perceived age forecasts ∆p,tecs,t |=r for s < t −H
will not be defined. Before period t − H + 1, the only information available on period t demand is δp,tect−H,t, so for
9
r ≤ t − H ≤ s, ∆p,tecs,t |=r = ∆p,tec
s,t |=t−H and ∆p,tect−H,t|=r = δp,tec
t−H,t. Then it follows via (5) that the perceived age
forecast is
∆p,tecs,t |=r = ∆p,tec
s,t |=t−H = δp,tect−H,t +
s∑
j=t−H+1
Up,tecj,t |=t−H r ≤ t−H ≤ s ≤ t. (6)
Note that ∆p,tecs,t |=r does not evolve with r for r ≤ t−H. The case of r ≥ t−H is more interesting. In general, from
Equation (5)
∆p,tecs,t |=r = δp,tec
(r∧s)∨(t−H),t +s
∑
j=[(r∧s)∨(t−H)]+1
Up,tecj,t |=r∨(t−H)
= δp,tect−H,t +
(r∧s)∨(t−H)∑
j=t−H+1
up,tecj,t +
s∑
j=[(r∧s)∨(t−H)]+1
Up,tecj,t , t−H ≤ s ≤ t (7)
where r ∧ s = min(r, s) and r ∨ s = max(r, s). The second equality follows from the assumption of No Learning
about updates Up,tecj,t before they are observed. Indeed, (7) generalizes (6), i.e., it holds for any value of r as long as
t−H ≤ s ≤ t. As r increases, the deterministic component of perceived age forecasts (for fixed s and t) grows, and
the forecast eventually becomes deterministic at r = s (δp,tecs,t = ∆p,tec
s,t |=s). It follows from Equation (7) that the
stochastic parts of ∆p,tecs,t |=r and ∆p,tec
s+h,t+h|=r+h have the same distribution for any increment h.
Obtaining forecasts via Equation (7) has a nice feature. The mean square error of perceived age forecasts is
non-increasing and goes to zero as s approaches t for any r, i.e.,
E[(∆p,tect,t −∆p,tec
s,t )2|=r] =t
∑
j=(s∨r)+1
var(Up,tecj,t ) + {
r∧t∑
j=(s∧r)+1
up,tecj,t }2.
The last equality follows from the No Learning assumption and the Zero Expected Value assumption.
Perceived age forecasts are unbiased if (A3) holds. Unbiasedness indicate that an observation δp,tecs,t is equal to
the expected value of ∆p,tect,t where the expectation is taken relative to information available in period s. Although
∆p,tecs,t |=r and ∆p,tec
s,t |=r+1 have different means, perceived age forecasts as given by equation (7) satisfy
E(∆p,tect,t |=s) = ∆p,tec
s,t |=s = δp,tecs,t . (8)
Thus, as a consequence of the No Learning and Zero Expected Value assumptions, perceived age forecasts are unbiased.
When forecasts are made from s for t (where s ≤ t), we coin the term (forecast) lag for t−s. We say that δp,tecs,t (dp
s,t)
is a lag biased forecast if E(Up,tecs,t ) (E(V p
s,t)) differs from zero by a deterministic function of the lag. In Appendix C,
we illustrate how our work can be extended to accommodate lag bias.
10
Fractional forecasts are related to perceived age forecasts via a nonlinear ramp curve R (see Equation (2)).
Perceived age forecasts are unbiased by (8) but, there will be bias in fractional forecasts F p,tecs,t . That is because R
is a nonlinear function, so E(F p,tect,t |=s) = E(R(∆p,tec
t,t )|=s) 6= R(E(∆p,tect,t |=s)) = fp,tec
s,t . In regions where the ramp
function is approximately linear, this nonlinearity-induced bias will be small. We will revisit the magnitude of the
bias in the numerical experiments section.
Perceived age forecasts constitute a martingale, i.e. E(∆p,tecs,t |=r) = δp,tec
r,t if t − H ≤ r ≤ s ≤ t. Perceived age
forecasts could be constructed as conditional expectations, i.e. we could define δp,tecs,t = E(∆p,tec
t,t |=s). We could also
define δp,tecs,t as a minimum mean-squared error forecast. These approaches are discussed in Brockwell and Davis
[22], and Heath and Jackson [18].
Now we are in a position to give formal statements of our first two independence assumptions.
(I1) : U tecs and Vs are independent for all s and tec. (9)
(I2) : U tec1s and U tec2
s are independent if tec1 6= tec2. (10)
For convenience, we assume normality of update vectors:
(I3): U tecs is normally distributed with covariance matrix Σ for all (s, tec).
Vs is normally distributed with covariance matrix Λ for all s.
Assumptions (A1), (A3), (I2) and (I3) imply that update vectors U tecs are i.i.d., distributed as U ∼ N(0,Σ). If
s1 6= s2, independence of U tec1s1
and U tec2s2
is a consequence of (A1) and (I3). If tec1 6= tec2, it is a restatement of (I2).
However, the components of the vector U tecs will be dependent among themselves. Thus, we still capture demand
correlations among different product families as well as among time periods. We make assumptions analogous to
(A1)-(A3) and (I3) to deduce that family forecast update vectors, Vs are normally distributed as V ∼ N(0, Λ). For
a full characterization of our update vectors U tecs and Vs, it suffices to estimate Σ and Λ.
Step 6 of SeDFAM, the estimation of the covariance matrix Λ for the update vector Vs is straightforward because
the vector Vs has no missing elements. See Anderson [23] for details.
We now discuss the step 7 of SeDFAM, the estimation of Σ, the covariance matrix for perceived age updates.
Estimation will be based on a maximum likelihood framework. We number the vectors utecs from 1 to N , to obtain
11
the sample {ui : i = 1..N}. N is approximately the number of time periods times the average number of active
technologies produced at a given time. The MLE estimator Σ of the covariance matrix Σ solves the following problem:
minΣN2
log|Σ| +12
N∑
i=1
uiΣ−1uTi .
The solution to this minimization problem is easily found when no data is missing (see [23]). Since the vectors U tecs
have missing data, we use an iterative procedure called the EM algorithm for maximizing the likelihood function
given the observed data. The EM algorithm has both a Frequentist and a Bayesian version. Details of the EM
algorithm are found in Schafer [24]. When it converges, we recommend the Frequentist version because of the
difficulty of obtaining appropriate priors (see Section 8.2).
5 Estimating Demand Covariances via Simulations of Future
Before describing the final step of SeDFAM, we describe a procedure for simulating future realizations of demands
and forecasts, given current and historical forecasts. This capacity can be used to quantify the risk associated with
a business decision. It can drive simulations of fabs, of supply chains, etc. It can also be used to automatically
generate scenarios for stochastic optimization algorithms.
Having completed steps 1-7 of SeDFAM, we use Monte-Carlo simulation to generate a set of future forecasts
for period t, now < t ≤ now + N , where now is the current time period and N denotes the number of periods
beyond now whose forecasts are of interest. Note that when s = t forecasts are actual demands. We assume that for
future periods t, now + H < t ≤ now + N , dp,tect−H,t are exogenously generated. Let τt = now ∨ (t −H). Thus δp,tec
τt,t
and dpτt,t are given for all t, now < t ≤ now + N , - being taken from the current forecasts if τt = now, and being
computed from dp,tect−H,t if τt = t−H > now. Noting that not all technologies are used in all time periods, we define
Π := {(t, p, tec) : now < t ≤ now + N , δp,tecτt,t exists}.
We use δp,tecs,t to refer to an observation drawn from the random variate ∆p,tec
s,t |=now, with up,tecs,t , vp
s,t, fp,tecs,t , dp
s,t
and dp,tecs,t being similarly defined. Table 2 contains our Forecast Simulator. Note that it follows the hierarchical
structure in Figure 2.
The Forecast Simulator algorithm generates future forecasts [dp,tecs,t : (t, p, tec) ∈ Π , τt < s ≤ t], a random
12
1. Generate update vectors. utect and vt for all (t, tec) such that (t, p, tec) ∈ Π for some p. utec
t and
vt are drawn from N(0, Σ) and N(0, Λ).
2. Compute future family, perceived age and fractional forecasts: Following (7) and (2) we obtain
forecasts for period t as
δp,tecs,t = δp,tec
τt,t +∑s
j=τt+1 up,tecj,t , (t, p, tec) ∈ Π , τt < s ≤ t
dps,t = dp
τt,t +∑s
j=τt+1 vpj,t , (t, p, tec) ∈ Π for some tec , τt < s ≤ t.
fp,tecs,t = R(δp,tec
s,t |=now) , (t, p, tec) ∈ Π , τt < s ≤ t
3. Generate future product demands: By the definition of fractional forecasts in (1), we obtain
product forecasts for period t by combining product family and fractional forecasts:
dp,tecs,t = (dp
s,t)(fp,tecs,t − fp,tec+
s,t ) , (t, p, tec) ∈ Π , τt < s ≤ t
Table 2: Steps of Forecast Simulator.
instance drawn from [Dp,tecs,t |=now : (t, p, tec) ∈ Π , τt < s ≤ t]. The algorithm can be executed for K times to
generate an independent and identically distributed (iid) sample of K random instances of [Dp,tecs,t |=now : (t, p, tec) ∈
Π , τt < s ≤ t]. If future demands are of interest but future forecasts are not, steps 2 and 3 can be limited to s = t.
The final step of SeDFAM is to compute the covariance matrix of [Dp,tect,t |=now : (t, p, tec) ∈ Π], where N = H.
We accomplish this by setting N = H, s = t and executing the Forecast Simulator K times to obtain a sample of