File

advertisement
Using the FORECAST Function in Excel
(and Open Office Calc)
By Dave Piasecki
© Copyright. Content on InventoryOps.com is copyright-protected and is not available for
republication.
Let me start out by saying that Excel’s Forecast Function is not a complete inventory forecasting
system. Forecasting in inventory management generally involves removing noise from demand,
then calculating and incorporating trends, seasonality, and events. The Forecast Function is not
going to do all these things for you (technically it could, but there are better ways to accomplish
some of these). But it is a neat little function that’s easy to use, and it can certainly be a part of
your forecasting system.
According to Microsoft Help on the Forecast function, “The FORECAST(x,
known_y's,known_x's) function returns the predicted value of the dependent variable
(represented in the data by known_y's) for the specific value, x, of the independent variable
(represented in the data by known_x's) by using a best fit (least squares) linear regression to
predict y values from x values.”
So what exactly does this mean?
Linear regression is a form of regression analysis and can be used to calculate a mathematical
relationship between two (or more) sets of data. In forecasting, you would use this if you thought
one set of data could be used to predict another set of data. For example, if you sold building
supplies, you may find that changes in interest rates can be used to predict sales of your products.
This is a classic example of using regression to calculate a relationship between an external
variable (interest rates) and an internal variable (your sales). However, as we will see later, you
can also use regression to calculate a relationship within the same set of data.
A typical approach towards regression analysis involves using regression to determine the
mathematical relationship, but also to help give you an idea of how valid that relationship is
(that’s the analysis part). The Forecast Function skips the analysis, and just calculates a
relationship and automatically applies it to your output. This makes things easier for the user, but
it assumes your relationship is valid. So essentially, the Forecast function uses linear regression
to predict a value based on a relationship between two sets of data.
Let's see some examples.
In Figure 1A, we have a spreadsheet that includes the average interest rate over the previous 4
years and unit sales during that same 4-year period. We also show a predicted interest rate for the
5th year. We can see in the example that our unit sales go up as interest rates come down, and go
down as interest rates go up. Just looking at the example, we can probably guess that our sales
for year 5 would be somewhere between 5,000 and 6,000 based on the observed relationship
between interest rates and sales during the previous periods. We can use the Forecast Function to
more precisely quantify this relationship and apply it to the 5th year.
Figure 1A
In Figure 1B, you can see the Forecast Function being applied. In this case, the formula in cell
F4 is =FORECAST(F2,B3:E3,B2:E2) . What we have within the parenthesis is known as an
“argument”. An argument is really just a means of passing parameters on to the function being
used (in this case, the Forecast function ). Each parameter is separated by a comma. In order for
the Forecast Function to work, it needs to know the value we are using to predict our output (our
year 5 sales). In our case, the parameter (our Year 5 interest rate) is in cell F2, so the first
element of our argument is F2. Next, it needs to know where it can find the existing values it will
use to determine the relationship to apply to F2. First we need to enter the cells that represent the
values of our dependent variable. In our case, this would be our units sold during the previous 4
years, therefore we enter B3:E3. Then we need to enter the cells that represent the values of our
predictor variable. In our case, this would be the interest rates during the previous 4 years,
therefore we enter B2:E2) .
The Forecast Function can now compare the units sold during years 1 through 4 to the interest
rates in those same years, and then apply that relationship to our predicted Year 5 interest rate to
get our forecasted sales for Year 5 of 5,654 units.
Figure 1B
In the previous example, we can look at the graphs to help try to visualize the relationship. At
first glance, it may not look so obvious because we have an inverse relationship (sales go UP as
interest rates go DOWN), but if you mentally flipped one of the graphs, you would see a very
clear relationship. That’s one of the cool things about the Forecast Function (and regression
analysis). It can easily deal with an inverse relationship.
© Copyright. Content on InventoryOps.com is copyright-protected and is not available for
republication.
Now let’s look at another example. In Figure 2A, we see a new set of data. In this example, our
interest rates went up and down over the previous 4 years, yet our unit sales showed a consistent
upward trend. While it is possible that interest rates had some impact on our sales in this
example, it is obvious that there are much more significant factors at play here. By using our
forecast function with this data, we return a forecast of 7,118 units for Year 5. I think most of us
would look at our sales trend and agree it’s far more likely our sales for Year 5 would be 9,000
units. As I previously mentioned, the Forecast Function assumes the relationship is valid,
therefore it produces output based on the best fit it can make out of the data given to it. In other
words, if we tell it there is a relationship, it believes us and produces the output accordingly
without giving us an error message or any signal that would imply the relationship is very poor.
So, be careful what you ask for.
Figure 2A
The previous examples covered the classic application of regression to forecasting. While all this
sounds pretty slick, this classic application of regression is not as useful as you might think (you
can check out my book for more information on regression and why it may not be a good choice
for your forecasting needs). But now let’s use the Forecast Function to simply identify trend
within a given set of data. Let’s start by looking at Figure 3A. Here we have demand with a very
obvious trend. Most of us should be able to look at this data and feel comfortable predicting that
the demand in Period 7 will likely be 60 units. Yet, if you ran this data through the typical
forecasting calculations used in inventory management, you may be surprised at just how poor
many of these calculations are at accounting for trend.
Figure 3A
Since the Forecast Function requires us to input a dependent variable and a predictor variable,
how do we go about using the Forecast Function if we only have one set of data? Well, while it
is technically true that we have a single set of data (our demand history), we actually do have a
relationship going on within this set of data. In this case, our relationship is time-based.
Therefore, we can use each period’s demand as a predictor variable for the following period’s
demand. So we just need to tell the Forecast Function to use the demand in Periods 1 through 5
as the existing data for the predictor variable, and use demand in Periods 2 through 6 as the
existing data for the dependent variable. Then tell it to apply this relationship to the demand in
Period 6 to calculate our forecast for Period 7.
Figure 3B
You can see in Figure 3B, our formula in Cell I3 is =FORECAST(H2,C2:H2,B2:G2) , and it
does return a forecast of 60 units. Obviously this example is not realistic since the demand is way
too neat (no noise). So let’s look at Figure 3C where we apply this same calculation to some
more realistic data.
Figure 3C
I just want to restate, that while the Forecast Function is useful, it is not a forecasting system. I
typically prefer to have a little more control over exactly how I apply and extend trends to my
forecast. In addition, you would want to first remove any other elements of your demand that are
not related to your base demand and trend. For example, you would want to remove any effects
of seasonality or events (such as promotions) from your demand before applying the Forecast
Function. You would then apply your seasonality index and any event indexes to the output of
the Forecast Function.
You can also play around with your inputs to get a specific desired result. For example, you may
want to try first smoothing your demand history (through a moving average, weighted moving
average, or exponential smoothing), and using that is the predictor variable instead of the raw
demand. For more information of Forecasting, check out my book Inventory Management
Explained.
Using the Forecast Function in Open Office Calc.
For users of Openoffice.org Calc , the Forecast function works pretty much the same as in Excel.
However, there is a slight difference in the syntax used in Calc. Wherever you would use a
comma in an argument in an Excel Function, you would instead use a semicolon in Calc.
So, instead of the Excel Formula
=FORECAST(F2,B3:E3,B2:E2)
You would enter
=FORECAST(F2;B3:E3;B2:E2)
Go to Articles Page for more articles by Dave Piasecki.
© Copyright. Content on InventoryOps.com is copyright-protected and is not available for
republication.
Dave Piasecki, is owner/operator of Inventory Operations Consulting LLC, a consulting firm
providing services related to inventory management, material handling, and warehouse
operations. He has over 25 years experience in operations management and can be reached
through his website (http://www.inventoryops.com), where he maintains additional relevant
information.
FORECAST
Show All
Calculates, or predicts, a future value by using existing values. The predicted value is a y-value
for a given x-value. The known values are existing x-values and y-values, and the new value is
predicted by using linear regression. You can use this function to predict future sales, inventory
requirements, or consumer trends.
Syntax
FORECAST(x,known_y's,known_x's)
X
is the data point for which you want to predict a value.
Known_y's
is the dependent array or range of data.
Known_x's
is the independent array or range of data.
Remarks




If x is nonnumeric, FORECAST returns the #VALUE! error value.
If known_y's and known_x's are empty or contain a different number of data points,
FORECAST returns the #N/A error value.
If the variance of known_x's equals zero, then FORECAST returns the #DIV/0! error
value.
The equation for FORECAST is a+bx, where:
and:
and where x and y are the sample means AVERAGE(known_x's) and AVERAGE(known y's).
Example
The example may be easier to understand if you copy it to a blank worksheet.
How to copy an example
A
B
1 Known Y
Known X
2 6
20
3 7
28
4 9
31
5 15
38
6 21
40
Formula
Description (Result)
=FORECAST(30,A2:A6,B2:B6) Predicts a value for y given an x value of 30 (10.60725)
Did this article help you?
Yes
No
Not what I was looking for
Applies to:
Excel 2003
See Also:
Excel 2003 Statistical Functions Resource Center
GROWTH
LINEST
LOGEST
Statistical functions
TREND
1. Home >
2. MSExcel >
3. Formulas/Functions
MS Excel: FORECAST Function (WS)
In Microsoft Excel, the FORECAST function returns a prediction of a future value based on
existing values provided.
Syntax
The syntax for the FORECAST function is:
FORECAST( x-value, known_y_values, known_x_values )
x-value is the x-value used to predict the y-value.
known_y_values is the known y-values used to predict the y-value.
known_x_values is the known x-values used to predict the y-value.
Note


If x-value is not a numeric value, the FORECAST function will return the #VALUE! error.
If known_y_values and known_x_values contain different numbers of elements, the FORECAST
function will return the #N/A error.
Applies To

Excel 2011 for Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000
Type of Function

Worksheet function (WS)
Worksheet Function Example
Let's take a look at an example to see how you would use the FORECAST function in a
worksheet:
Based on the Excel spreadsheet above, the FORECAST function would return the following:
=FORECAST(5, B2:B6, A2:A6)
would return 20.03269866
=FORECAST(10, B2:B6, A2:A6)
would return 11.8937852
=FORECAST(8, {1,2,3}, {4,5,6})
would return 5
=FORECAST(7, {5.8, -1}, {2, -5})
would return 10.65714286
=FORECAST(50, {-1,-2,-3,-4}, {10,20,30,40}) would return -5
Download