SlideShare a Scribd company logo
1 of 20
Download to read offline
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 1
ORACLE APPLICATIONS DISCUSSION PAPER–
FORECASTING
AUTHOR: VINDALOO SYSTEMS
VERSION: ISSUE I
VERSION DATE: MONDAY, 10 JUNE 2003
DOC. REF.: ORCL-AUS-FORECAST -11I
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 2
DDDOOOCCCUUUMMMEEENNNTTT CCCOOONNNTTTRRROOOLLL
CCCHHHAAANNNGGGEEE RRREEECCCOOORRRDDD
Date Author Version Change Reference
10-Jun-2003 Vindaloo Systems Draft 1a No previous version
06-Jun-2004 Vindaloo Systems Issue 1 Changes for Internal
discussion
RRREEEVVVIIIEEEWWWEEERRRSSS
Name Position
Vindaloo Systems
DDDIIISSSTTTRRRIIIBBBUUUTTTIIIOOONNN
Approved versions of this document (i.e., where the Version is ISSUE rather than DRAFT) have
been distributed to the following:
Name Location/Title
Master Copy Vindaloo Systems Library
Grant Wild Vindaloo Systems
Consulting Director
All reviewers (see Reviewers table above)
NOTE To Holders:
If you receive an electronic copy of this document and print it out, you should write your name on
the front cover (for document control purposes).
If you receive a hard copy of this document, please write your name on the front cover (for
document control purposes).
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 3
CCCOOONNNTTTEEENNNTTTSSS
DOCUMENT CONTROL................................................................................................................. 2
Change Record............................................................................................................................................... 2
Reviewers....................................................................................................................................................... 2
Distribution .................................................................................................................................................... 2
CONTENTS..................................................................................................................................... 3
INTRODUCTION ............................................................................................................................. 5
DEFINITIONS.................................................................................................................................. 6
LOADING FORECAST DATA ........................................................................................................ 7
Forecast Entries form.................................................................................................................................... 7
Open Forecast Interface................................................................................................................................. 7
Focus and Statistical forecast generation. ..................................................................................................... 8
How focus forecasting works........................................................................................................................ 8
How to generate a focus forecast .................................................................................................................. 9
How statistical forecasting works................................................................................................................ 10
How to generate a statistical forecast.......................................................................................................... 11
FORECAST CONSUMPTION....................................................................................................... 12
Communicating sales order demand to Oracle Manufacturing.................................................................. 12
How forecast consumption works............................................................................................................... 12
What about demand classes?....................................................................................................................... 13
TECHNICAL DETAILS ................................................................................................................. 14
REPORTING ON FORECAST DATA........................................................................................... 18
ALERTS ........................................................................................................................................ 20
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 4
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 5
IIINNNTTTRRROOODDDUUUCCCTTTIIIOOONNN
This paper will cover all aspects of forecasting in Oracle manufacturing, including setup of
forecasts and forecast sets, demand classes, forecast consumption and planning bills of
materials. It will also cover in detail the technical architecture of the forecasting module, discuss
how to report on forecast data, and suggest useful Alerts.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 6
DDDEEEFFFIIINNNIIITTTIIIOOONNNSSS
A forecast is an estimate of anticipated customer demand on your company s inventory items. In
Oracle, forecasts are defined within a three-level hierarchical structure. From most specific to
most general, the three levels are forecast entries, forecasts, and forecast sets.
A forecast entry is a specific expected product demand. A forecast entry must contain an item
number, plus the date(s) and quantity of the expected demand.
Related forecast entries are grouped into forecasts. A forecast may be defined for a specific
customer, customer site, or other user-defined classification of demand, for example, a
geographic region or customer type. The user-defined classifications of demand are called
demand classes.
A forecast set is a group of forecasts that are somehow related. For example, each of the
forecasts in a particular forecast set may represent the forecast for a region. Forecast sets
contain the parameters that govern forecast consumption.
Forecast consumption is the process by which actual customer orders replace forecasted orders
in theplanning process.
A planning bill of material is an artificial grouping of items in bill of material format, which
represents an entire product family. On a planning bill of material, rather than the BOM indicating
the quantity per assembly of each component, it specifies a "planning percentage" representative
of the forecasted percentage of demand for each component.
The Planning Manager is a background process in Oracle Master Scheduling/MRP which is
responsible for many of the performing many of the functions described in this paper, including
forecast consumption and the open forecast interface process. To use any of these functions,
insure that this process is running on your system by checking the Start Planning Manager form
in Oracle Master Scheduling/MRP.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 7
LLLOOOAAADDDIIINNNGGG FFFOOORRREEECCCAAASSSTTT
DDDAAATTTAAA
Oracle provides three methods to load forecast data into the database:
• Forecast Entries form (manual data entry)
• Open Forecast Interface
• Focus and Statistical forecast generation
The first two options are used when the actual forecast dates and quantities are generated
externally to Oracle, and your only requirement is to load the forecasts into Oracle. The third
option can be used to generate the forecasts based on historical information, provided sufficient
history exists in your Oracle Applications database.
FFFOOORRREEECCCAAASSSTTT EEENNNTTTRRRIIIEEESSS FFFOOORRRMMM...
The simplest way to load externally generated forecast data into Oracle is to use the Forecast
Entries form to enter the data manually. On this form, you are first required to select the forecast
into which the entries are to be placed, then proceed to enter the actual forecast entries.
At the minimum, a forecast entry contains an item number, quantity, bucket type, and an effective
date or range of dates. The bucket type works in conjunction with the dates as follows:
Each forecast entry is valid for a particular period of time broken down into one of three forecast
buckets: days, weeks, or periods. A daily forecast is valid only for the day or days specified by the
forecast entry. When entering the forecast dates for a daily forecast, you are restricted to
selecting workdays on the manufacturing calendar.
A weekly forecast is valid for the entire week(s) for which it is defined. When entering the forecast
dates for a weekly forecast, you are restricted to selecting only week start dates as defined by the
manufacturing calendar. When using the standard five days on/two days off calendar, this means
you will only be able to enter Mondays as the forecast start and/or end dates. Note that in this
case the "end date" of the forecast entry actually signifies the first date in the last bucket covered
by this forecast entry. Therefore if the end date is entered to be 12-JUL-99, this means that the
forecast actually covers through the end of the week beginning on 12-JUL-99. This is equivalent
to stating that the forecast is valid through 18-JUL-99.
A period forecast is valid for the entire period(s) for which it is defined. When entering the forecast
dates for a period forecast, you are restricted to selecting only period start dates as defined by
the manufacturing calendar. Depending on the calendar type (regular calendar months, 4/4/5
week pattern, etc.), the period start dates may or may not correspond to calendar month start
dates. The "end date" is the same as for the weekly forecast entry, so if the end date is entered to
be 01-NOV-99, this means that the forecast entry actually covers through the end of the period
beginning on 01-NOV-99. This is equivalent to stating that the forecast is valid through 30-NOV-
99.
The forecasted quantity entered on the Forecast Entries form is a per bucket quantity. For
example, if you specify 1,000 as the quantity on a forecast with bucket type "Weeks", you are
stating that the anticipated demand for the given item will be 1,000 units per week for each week
covered by the entered date range.
OOOPPPEEENNN FFFOOORRREEECCCAAASSSTTT IIINNNTTTEEERRRFFFAAACCCEEE...
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 8
The open forecast interface provides a way to import externally generated forecasts into Oracle.
To use the open forecast interface, you must load the MRP_FORECAST_INTERFACE table with
the forecast data to be imported. A complete description of how to use the open forecast interface
is available in the Oracle Manufacturing Implementation Manual.
A few of the key columns in the interface table include:
• INVENTORY_ITEM_ID, the forecasted item
• FORECAST_DESIGNATOR, the forecast into which the entry is to be placed
• BUCKET_TYPE, Days, Weeks, or Periods, indicated by 1, 2, or 3, respectively
• FORECAST_DATE, the start date of the forecast entry
• FORECAST_END_DATE, (optional) the end date of the forecast entry
• FORECAST_QUANTITY, the per bucket quantity of the forecast entry
The Planning Manager polls this table for records to import, so there is no separate concurrent
program to launch to perform the forecast import process.
FFFOOOCCCUUUSSS AAANNNDDD SSSTTTAAATTTIIISSSTTTIIICCCAAALLL FFFOOORRREEECCCAAASSSTTT GGGEEENNNEEERRRAAATTTIIIOOONNN...
A third way to load forecast information is to have Oracle generate the forecasts based on
historical information. Oracle Manufacturing provides two methods of forecast generation: focus
forecasting and statistical forecasting.
Note that both of these methods are only available if sufficient historical information is available in
Oracle. If you have a new installation of Oracle then you will not have this history available.
HHHOOOWWW FFFOOOCCCUUUSSS FFFOOORRREEECCCAAASSSTTTIIINNNGGG WWWOOORRRKKKSSS.
In focus forecasting, Oracle uses five basic models to determine future demand requirements. It
then uses each model to calculate the "forecast" for a previous bucket where the actual demand
is already known. Then the results of each of the five models is compared with the actual demand
from the prior bucket to see which method produced the most accurate "forecast" for that period.
The method with the most accurate forecast is chosen to generate the next bucket’s forecast.
In the following explanations of each model, assume March 1999 is the most recent period for
which actual demand data exists, and that focus forecasting is being called upon to generate the
forecast for April 1999. Focus forecasting will begin by using the five different models to produce
a "forecast" for March 1999:
Model I: This years forecast is equal to the actual demand from the same period last year.
This model sets the March 1999 forecast equal to the actual demand from March 1998. This
model requires a 12-month history of demand data and does not account for rates of growth or
decline.
Model II: This years forecast is equal to the actual demand from the same period last year,
times the rate of change between the prior periods year over year. This model sets the
March 1999 forecast equal to the actual demand from March 1998 multiplied by the ratio of the
February 1999 demand to the February 1998 demand. This model requires a 13-month history of
demand data and accounts for year over year growth or decline.
Model III: This years forecast is equal to the actual demand from the prior period this year.
This model sets the March 1999 forecast equal to the actual demand from February 1999. This
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 9
model requires only one month of historical demand data, but does not account for growth or
decline.
Model IV: This years forecast is equal to the average actual demand from the two prior
periods this year. This model sets the March 1999 forecast equal to the average of the actual
demands from January and February 1999. This model requires two months of historical demand
data and does not account for growth or decline.
Model V: This years forecast is equal to the actual demand from the prior period this year,
times the rate of change between the two prior periods this year. This model sets the March
1999 forecast equal to the actual demand from February 1999 multiplied by the ratio of the
February 1999 demand to the January 1999 demand. This model requires two months of
historical demand data and accounts for growth or decline between the two prior periods.
Focus forecasting will calculate the March 1999 using each of these models for which sufficient
demand history exists. For each model, the absolute difference between the "forecasted" quantity
and the actual demand quantity is then divided by the actual demand quantity to determine the
error percentage for that model. The model that produces the lowest error percentage is chosen
and the April 1999 forecast is then generated using that model.
Whenever new actual demand data is generated for current periods, the focus forecasting
process can be re-run to update the next period's forecast.
HHHOOOWWW TTTOOO GGGEEENNNEEERRRAAATTTEEE AAA FFFOOOCCCUUUSSS FFFOOORRREEECCCAAASSSTTT
First define a Forecast Rule using the Forecast Rules form, available in Oracle Inventory. Specify
a name and description for the new forecast rule, and select Focus for the forecasting method
option. When defining a forecast rule to use focus forecasting, the forecast rule only requires two
other types of information:
Bucket Type: Specify days, weeks, or periods to indicate the bucket type of forecast entries
generated using this forecast rule.
Include: Specify which of types of actual demand should be included when compiling the demand
history for the items. Choices are sales order shipments, issues to WIP, miscellaneous issues,
and inter-org transfers. Choose any and all types of demand that are appropriate for your
inventory items.
If you are planning on generating a new forecast using the forecast rule, define the new forecast.
Otherwise you can use the forecast rule to generate additional forecast entries in an existing
forecast. See "Define a forecast" in the Setting Up section.
Now you can generate the focus forecast. Launch the Generate Forecast concurrent program,
available in Oracle Inventory. The concurrent program accepts the following parameters:
Forecast Name: Specify the name of the forecast into which you would like the generated entries placed.
Forecast Rule: Specify the name of the forecast rule to use when generating the forecast entries.
Selection: Specify All Inventory Items, Specific Inventory Item, or Specific Category to determine which
inventory items are to have forecasts generated for them.
Specific Item: Specify an item number here only if you chose Specific Inventory Item for the Selection
parameter. Forecast entries will be generated only for this item.
Specific Category Set: Specify a category set here only if you chose Specific Category for the Selection
parameter.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 10
Specific Category: Specify a category combination here only if you chose Specific Category for the Selection
parameter. All inventory items assigned to this category will be included.
Overwrite: Specify All Entries, No, or Same Source Only to determine how the Generate Forecast program
handles any forecast entries which currently exist in the target forecast. Select All Entries to purge the target
forecast before generating the new entries. Select No to add the new entries to any entries already
belonging to the target forecast. Select Same Source Only to purge the target forecast of
Start Date: Enter the first bucket for which a forecast entry should be generated.
Cutoff Date: Enter the last bucket for which a forecast entry should be generated.
Note that focus forecasting only produces a single-bucket forecast. In our example above, a
forecast quantity for April 1999 is generated by the focus forecasting process. If the cutoff date is
chosen to be later than April 1999, the April 1999 quantity is duplicated each period up to the
cutoff date.
HHHOOOWWW SSSTTTAAATTTIIISSSTTTIIICCCAAALLL FFFOOORRREEECCCAAASSSTTTIIINNNGGG WWWOOORRRKKKSSS...
In statistical forecasting, Oracle uses a mathematical model to determine future demand
requirements. At its most basic level, this model uses much or all of the available historical
demand data and uses an exponential smoothing function to average the demand together to
produce the forecast.
Oracle provides three ways to customize the exponential smoothing function to meet your specific
needs.
First is an alpha smoothing factor that gives relative weight to newer historical data versus older
data. Alpha is a user-defined number between zero and one. A larger alpha value gives greater
weight to newer forecast data. If the historical demand is relatively smooth, then changing the
value of alpha will not make a significant difference in the statistical forecast that is generated.
However, if the demand is not smooth, then choosing a larger alpha value will cause the
generated forecast to track more closely the most recent demand data.
In addition to the alpha smoothing factor, Oracle also provides for trend-enhanced and season-
enhanced options in statistical forecasting. These modifications to the exponential smoothing
function can be used separately, or together to produce the trend and season-enhanced forecast.
A trend-enhanced forecast starts with the exponential smoothing function described above, and
adds a "trend index" which mirrors the current demand trend. A trend factor similar to the alpha
smoothing factor is required, and similar to alpha, the larger the value for the trend factor, the
greater weight is given to the current demand trends.
A season-enhanced forecast is required when demand for particular items is highly seasonal in
nature. In consumer products perhaps the demand is much higher during the last calendar
quarter during the Christmas season, or perhaps certain other items demand peaks during
summer, etc. To use season-enhanced forecasting, a seasonality index is entered for each
calendar period to indicate how far above or below average is the demand for that particular
period. When entering seasonality indices, consider the value 1 to be the period with "average"
demand. Therefore, a value of 1.5 would indicate that the demand is 50% higher during that
period.
One important note is that the Generate Forecast program normalizes the seasonality indices
before using them in the calculations. Therefore, if all seasonality indices are entered to be 2,
then 2 is considered to be the "average" demand and no seasonal adjustments are made to the
generated forecast.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 11
When demand is seasonal in nature and you wish to take trend into account as well, then the
trend factor and the seasonality indices can both be used to generate the new forecast.
HHHOOOWWW TTTOOO GGGEEENNNEEERRRAAATTTEEE AAA SSSTTTAAATTTIIISSSTTTIIICCCAAALLL FFFOOORRREEECCCAAASSSTTT...
As in focus forecasting, the first step to generate a statistical forecast is to define a forecast rule.
In addition to the two options required when defining a forecast rule to use focus forecasting, a
forecast rule to use statistical forecasting requires entry of the statistical forecasting parameters
discussed above:
Maximum Past Periods: Specify the maximum number of periods of historical data Oracle should consider
during the statistical forecasting process.
Alpha Factor: Specify the smoothing factor, a value between 0 and 1, where larger values give more weight
to recent historical data.
Use Trend Model: Check this box to use the trend-enhanced forecast.
Trend Factor: Specify the trend factor, a value between 0 and 1, where larger values give more weight to the
recent demand trends.
Use Seasonality Model: Check this box to use the season-enhanced forecast.
Seasonality Factor: Specify the seasonality factor, a value between 0 and 1, where larger values give more
weight to the recent seasonality factors.
Seasonality Indices: Specify the seasonality indices for each period, to indicate how the demand in each
period has historically compared to the "average" demand.
After defining the forecast rule, launch the Generate Forecast program to generate the statistical
forecast. This program is discussed in the preceding section for focus forecasting.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 12
FFFOOORRREEECCCAAASSSTTT
CCCOOONNNSSSUUUMMMPPPTTTIIIOOONNN
Forecast consumption refers to the process of replacing forecasted demand with actual demand,
as the actual demand is received.
CCCOOOMMMMMMUUUNNNIIICCCAAATTTIIINNNGGG SSSAAALLLEEESSS OOORRRDDDEEERRR DDDEEEMMMAAANNNDDD TTTOOO OOORRRAAACCCLLLEEE MMMAAANNNUUUFFFAAACCCTTTUUURRRIIINNNGGG...
When using Oracle Order Entry (OE) and Oracle Receivables (AR), the forecast consumption
process is automated. Sales order and customer information is automatically transferred from OE
to Oracle Inventory. At this point, Oracle Master Scheduling/MRP can read the sales order
demand and consume the appropriate forecast entries according to the consumption parameters
defined for each forecast set.
When using an external order entry system, the sales order demand must be passed into Oracle
Master Scheduling/MRP through the Open Demand Interface. For complete information on the
Open Demand Interface, please consult the appropriate Oracle Manufacturing Implementation
Manual for your release of the applications.
When importing sales order demand through this interface, pay particular attention to the
following three columns in the demand interface table:
• CUSTOMER_ID
• SHIP_TO_SITE_USE_ID
• BILL_TO_SITE_USE_ID
The Oracle Manufacturing Implementation Manual lists these three columns as optional columns
when importing sales order demand. However, to enable forecast consumption for this demand,
these columns are mandatory. Any sales order demand that does not contain this information will
not consume any forecast entries. If OE and AR are not installed on your system, then these
numbers are not validated, and you should enter any value into these columns.
In addition to those three columns, if your forecasts are associated with demand classes, be sure
to populate the DEMAND_CLASS along with the imported demand.
HHHOOOWWW FFFOOORRREEECCCAAASSSTTT CCCOOONNNSSSUUUMMMPPPTTTIIIOOONNN WWWOOORRRKKKSSS.
Three parameters govern how the Planning Manager consumes forecasts with sales order
demand.
The outlier update percent specifies how much of a given forecast s original (pre-consumption)
quantity can be consumed by a single sales order.
The backward consumption days and the forward consumption days tell the Planning Manager
how many days backwards and forwards from the sales order schedule date it may look when
locating forecast entries to consume.
Whenever new sales order demand is introduced, the Planning Manager first attempts to find
forecast entries with dates that exactly match the sales order schedule date:
• a daily forecast for the same day as the new sales order demand, or
• a weekly forecast for the week containing the date of the new sales order demand, or
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 13
• a period forecast for the period containing the date of the new sales order demand
If a matching forecast entry is located, the Planning Manager decrements the forecast quantity by
the amount of the demand quantity.
If the demand quantity exceeds the forecast quantity, or if no matching forecast entry is found,
then the forecast quantity is set to zero and the process continues.
Next the Planning Manager moves backwards, up to the number of backward consumption days,
until it finds enough quantity on forecast entries to satisfy the entire sales order demand. If the
Planning Manager has moved as far back as the backward consumption days will allow, it moves
forward, up to the forward consumption days limit.
If the Planning Manager exhausts the entire "window" of possible forecast entries and some
quantity of the demand still remains, the forecast is overconsumed. The Planning Manager
creates a forecast entry in the forecast set, with a negative forecast quantity. These
overconsumption entries are not considered during the planning process.
WWWHHHAAATTT AAABBBOOOUUUTTT DDDEEEMMMAAANNNDDD CCCLLLAAASSSSSSEEESSS???
If the sales order demand contains a demand class, the Planning
Manager first searches for forecast entries within forecasts defined for the same demand class. If
the Planning Manager does not find sufficient entries to consume, it will then consume any entries
within forecasts without a demand class.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 14
TTTEEECCCHHHNNNIIICCCAAALLL DDDEEETTTAAAIIILLLSSS
Forecast sets, forecasts, and forecast entries are stored in these three tables:
• MRP_FORECAST_DESIGNATORS
• MRP_FORECAST_ITEMS
• MRP_FORECAST_DATES
Another table is used to store the details of forecast consumption:
• MRP_FORECAST_UPDATES
The table MRP_FORECAST_DESIGNATORS contains the information pertaining to both
forecast sets and forecasts. Each forecast will have one row in the table; the name of the forecast
is stored in column FORECAST_DESIGNATOR, and the column FORECAST_SET will contain
the name of the forecast set to which the forecast belongs.
This table also contains the forecast consumption parameters discussed above, in the
appropriate columns:
• DEMAND_CLASS
• FOREWARD_UPDATE_TIME_FENCE
• BACKWARD_UPDATE_TIME_FENCE
(the previous two columns are actually the "forward consumption days" and "backward
consumption days" parameters previously discussed)
• OUTLIER_UPDATE_PERCENTAGE
• CUSTOMER_ID
• SHIP_ID
• BILL_ID
The table MRP_FORECAST_ITEMS contains a unique listing of each item belonging to each
forecast. Therefore, an inventory item will have exactly one record in this table for each different
forecast to which it belongs.
MRP_FORECAST_DATES contains the actual forecast entries for a given forecast. The key
forecast information is stored in the following columns:
• FORECAST_DESIGNATOR: This column, a foreign key reference to the table
MRP_FORECAST_DESIGNATORS, will contain the name of the forecast for which the
entry is defined.
• INVENTORY_ITEM_ID: This column, a foreign key reference to the table
MTL_SYSTEM_ITEMS, contains the identifier of the item for which the entry is defined.
• BUCKET_TYPE: This column will contain a 1 for daily forecast entries, a 2 for weekly
forecast entries, and a 3 for period forecast entries. This column will always contain a
value.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 15
• FORECAST_DATE: This column will contain the forecast start date and will always
contain a value.
• RATE_END_DATE: This column is populated for multiple-bucket forecast entries, and
contains the end date of the forecast. The column is validated exactly like the
FORECAST_DATE column, so will contain only valid workdays, week start dates, or
period start dates, for daily, weekly, or period forecast entries, respectively.
• ORIGINAL_FORECAST_QUANTITY: This column contains the quantity specified at the
time the forecast entry is created. In the case of multiple bucket forecast entries, the
number in this column reflects the per-bucket quantity. This value in this column is not
changed during forecast consumption.
Please note that despite the "original" in the name of this column, the forecast quantity
represented here may or may not actually represent the first quantity for which the entry
was defined. If a forecast quantity is changed at any time after the forecast is first
entered, the new quantity replaces the old quantity in this column. Please see Reporting
on forecast data for more information.
• CURRENT_FORECAST_QUANTITY: This column contains the current (remaining)
forecast quantity after consuming the entry with actual sales order demand. At entry time,
this column contains the same value as ORIGINAL_FORECAST_QUANTITY. Once the
forecast entry has been completely consumed by sales order demand, this column will be
set to zero.
One interesting point when considering how forecast entries are stored arises when considering
the case of multiple bucket entries. Note that even in this case, only one record in the
MRP_FORECAST_DATES table is created.
As an example, consider a weekly forecast entry created for a 13-week period starting with the
week of 26-APR-99 and ending with the week of 19-JUL-99, at a quantity of 1000 per week. At
the time of entry, a single record in MRP_FORECAST_DATES is created with the following
column values:
• FORECAST_DATE: 26-APR-99
• RATE_END_DATE: 19-JUL-99
• ORIGINAL_FORECAST_QUANTITY: 1000
• CURRENT_FORECAST_QUANTITY: 1000
This single record in MRP_FORECAST_DATES actually represents thirteen different forecast
entries and makes reporting on forecast data less than straightforward. Simply summing the
forecast quantity for a particular item will understate the total quantity if multiple bucket forecast
entries exist for an item. See the section Reporting On Forecast Data for more details.
Now, assume that a sales order for this item is booked for quantity 250 for the week of 26-APR-
99. Remember that the forecast entry represents 13 different forecast entries, each weekly for a
quantity of
1000. If the forecast consumption process simply updated the current forecast quantity on the
record in MRP_FORECAST_DATES from 1000 to 750, then it would indicate that a sales order
for 250 had been received in each of the 13 weeks covered by the forecast entry. Since this is
clearly not the case, the forecast consumption process must break up the record into two
separate records in MRP_FORECAST_DATES. It does this by first creating a new record in
MRP_FORECAST_DATES with the following values:
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 16
• FORECAST_DATE: 26-APR-99
• RATE_END_DATE: <blank>
• ORIGINAL_FORECAST_QUANTITY: 1000
• CURRENT_FORECAST_QUANTITY: 750
The NULL value for RATE_END_DATE indicates that the forecast entry is valid only for the week
indicated by FORECAST_DATE. It then updates the original record in MFD:
• FORECAST_DATE: 03-MAY-99
• RATE_END_DATE: 19-JUL-99
• ORIGINAL_FORECAST_QUANTITY: 1000
• CURRENT_FORECAST_QUANTITY: 1000
Each time consumption takes place in a new time bucket, the forecast consumption process
creates a new record in MFD, valid for that bucket only.
Each time a forecast entry is consumed, the details for that consumption are stored in the
following columns in MRP_FORECAST_UPDATES:
• TRANSACTION_ID
Links back to MRP_FORECAST_DATES to indicate which forecast entry was consumed
• SALES_ORDER_SCHEDULE_DATE
The scheduled ship date of the sales order that consumed the forecast
• FORECAST_UPDATE_DATE
The date of the forecast entry that was consumed
• SALES_ORDER_QUANTITY
The total quantity of the sales order
• UPDATE_QUANTITY
The quantity of the forecast entry that was consumed by this sales order
The table (owned by Oracle Inventory) that holds sales order demand is MTL_DEMAND.
Forecast consumption is only one of the many ways this extremely important table is used. Here
are the columns from this table which are relevant to forecast consumption only:
• UPDATED_FLAG
Initially 1 to indicate that the Planning Manager has not yet processed this demand. Set
to 2 after processing by Planning Manager.
• SHIP_TO_SITE_USE_ID
• BILL_TO_SITE_USE_ID
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 17
• CUSTOMER_ID
These three columns must contain a value to enable forecast consumption. If OE and AR
are installed, these will reference actual records in the customer master. If OE and AR
are not installed and the demand was imported through the Open Demand Interface,
these fields should contain any value (not validated).
• DEMAND_CLASS
The demand class of the sales order.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 18
RRREEEPPPOOORRRTTTIIINNNGGG OOONNN
FFFOOORRREEECCCAAASSSTTT DDDAAATTTAAA
Due to the nature with which forecast entries are stored in the database, generating custom
reports on forecast data is not a trivial exercise. For example, recall the multiple-week forecast
discussed in the previous section:
• FORECAST_DATE: 26-APR-99
• RATE_END_DATE: 19-JUL-99
• ORIGINAL_FORECAST_QUANTITY: 1000
• CURRENT_FORECAST_QUANTITY: 1000
Remember that this forecast entry is a single record in the table MRP_FORECAST_DATES. This
record actually represents thirteen separate forecast entries, each valid for a specific week, with a
forecasted quantity of 1000 for that week. Any report that includes the entire date range covered
by this forecast entry should show a total forecasted quantity of 13,000.
Consider a simple custom report that shows the forecasted quantity for a specific item in a user
entered date range. A simple SELECT statement, which would compute the sum of the column
ORIGINAL_FORECAST_QUANTITY for the given date range, would certainly understate the
forecasted quantity for this entry. Since there is only one record in the table for this entry, the sum
would only total 1000.
Also, what if the report date range included only part of the period of time covered by the forecast
entry?
One technique I have employed for many custom reports involving forecast data involves a
custom database packaged procedure that acts a sort of "pre-processor." This stored procedure
is invoked in the BEFORE REPORT trigger of any custom report which requires forecast data.
Simply put, the stored procedure "explodes" the forecast into separate entries per bucket and
stores the records in a temporary table, which is then queried by the report. Another stored
procedure in the package is invoked in the AFTER REPORT trigger which purges the data from
the temporary table.
The basic premise of the procedure is to loop through all appropriate forecast entries in
MRP_FORECAST_DATES, and for each record in the table, apply the following logic:
If RATE_END_DATE for the record is NULL, this forecast entry is defined only for one bucket, so
insert this record directly into the temporary table.
If RATE_END_DATE is NOT NULL, this forecast entry is defined for multiple buckets. The
procedure then determines the number of buckets covered between the FORECAST_DATE and
RATE_END_DATE, and inserts an equal number of single-bucket records into the temporary
table for reporting. Each record inserted into the temporary table would have a
FORECAST_DATE appropriate for the individual bucket that it covers. In the example given at
the beginning of this section, the procedure would insert 13 records into the temporary table, as
follows:
(record 1)
FORECAST_DATE: 26-APR-99
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 19
ORIGINAL_FORECAST_QUANTITY: 1000
(record 2)
FORECAST_DATE: 03-MAY-99
ORIGINAL_FORECAST_QUANTITY: 1000
.
.
.
(record 12)
FORECAST_DATE: 12-JUL-99
ORIGINAL_FORECAST_QUANTITY: 1000
(record 13)
FORECAST_DATE: 19-JUL-99
ORIGINAL_FORECAST_QUANTITY: 1000
After this procedure is complete, designing any type of custom forecasting report is quite simple.
The report can then bucket and present the data in a variety of ways.
One useful custom forecast report involves computing the accuracy of previous period forecasts.
The forecast error can be computed in any number of generally accepted ways, the most
common of which may be the mean absolute deviation, or MAD. To produce the MAD for a
forecast, take the average of the absolute values of the difference between the forecast for a
period and the actual demand for that period. Absolute values are used so that positive and
negative forecast errors do not offset each other.
Vindaloo Systems White Paper – Forecasting
Doc ref: ORCL-AUS-FORECAST-11I
Page 20
AAALLLEEERRRTTTSSS
A very useful Alert relating to forecasting comes pre-installed with Oracle. This alert is designed
to trigger when the Planning Manager overconsumes a forecast for a forecasted item. This occurs
when the total sales order demand during a given period exceeds the total forecast during that
period, as governed by the consumption rules for the forecast set.
By default, this alert is installed but not enabled. In addition, certain modifications to this alert can
be used to make the alert even more effective.
One enhancement to this alert is to modify the alert so that the planner of the item in question is
notified whenever the overconsumption occurs. When Planners are defined on the Define
Planners form in Oracle Inventory, an electronic mail address is associated with each planner
code. The alert can easily use the electronic mail address specified for the planner to send the
planner an e-mail each time one of that planner s items is overconsumed.
.

More Related Content

What's hot

128224154 oracle-inventory-ppt
128224154 oracle-inventory-ppt128224154 oracle-inventory-ppt
128224154 oracle-inventory-pptRamthilak R
 
Ascp training manual_v1.2
Ascp training manual_v1.2Ascp training manual_v1.2
Ascp training manual_v1.2Charan Reddy
 
Oracle Sourcing Setup
Oracle Sourcing SetupOracle Sourcing Setup
Oracle Sourcing SetupAjay Singh
 
How to auto create trip in oracle order management
How to auto create trip in oracle order managementHow to auto create trip in oracle order management
How to auto create trip in oracle order managementshravan kumar chelika
 
Oracle min-max-planning
Oracle min-max-planningOracle min-max-planning
Oracle min-max-planningmgarg82
 
Oracle R12 Work In Process
Oracle R12 Work In ProcessOracle R12 Work In Process
Oracle R12 Work In ProcessPritesh Mogane
 
Oracle Process Manufacturing Setup EBS12.2
Oracle Process Manufacturing Setup EBS12.2Oracle Process Manufacturing Setup EBS12.2
Oracle Process Manufacturing Setup EBS12.2Mina Lotfy
 
Oracle R12.1.3 Costing Overview
Oracle R12.1.3 Costing OverviewOracle R12.1.3 Costing Overview
Oracle R12.1.3 Costing OverviewPritesh Mogane
 
Inventory in Oracle apps
Inventory in Oracle apps Inventory in Oracle apps
Inventory in Oracle apps gbalagee
 
Oracle Purchasing R12 Setup Steps
Oracle Purchasing R12 Setup StepsOracle Purchasing R12 Setup Steps
Oracle Purchasing R12 Setup StepsAhmed Elshayeb
 
How to Close Period in Oracle Apps Inventory
How to Close Period in Oracle Apps Inventory How to Close Period in Oracle Apps Inventory
How to Close Period in Oracle Apps Inventory Bizinsight Consulting Inc
 
Oracle EBS R12 Order Management Notes
Oracle EBS R12 Order Management NotesOracle EBS R12 Order Management Notes
Oracle EBS R12 Order Management NotesTech Leads IT
 
Elshayeb Oracle R12 Order Management
Elshayeb Oracle R12 Order ManagementElshayeb Oracle R12 Order Management
Elshayeb Oracle R12 Order ManagementAhmed Elshayeb
 
Pick pack and ship confirm process in oracle apps
Pick pack and ship confirm process in oracle appsPick pack and ship confirm process in oracle apps
Pick pack and ship confirm process in oracle appsshravan kumar chelika
 
Oracle WIP – Supply Types:
Oracle WIP – Supply Types:Oracle WIP – Supply Types:
Oracle WIP – Supply Types:Boopathy CS
 
Oracle SCM Purchasing R12
Oracle SCM Purchasing R12Oracle SCM Purchasing R12
Oracle SCM Purchasing R12Zabi Khan
 

What's hot (20)

128224154 oracle-inventory-ppt
128224154 oracle-inventory-ppt128224154 oracle-inventory-ppt
128224154 oracle-inventory-ppt
 
Ascp training manual_v1.2
Ascp training manual_v1.2Ascp training manual_v1.2
Ascp training manual_v1.2
 
Oracle Sourcing Setup
Oracle Sourcing SetupOracle Sourcing Setup
Oracle Sourcing Setup
 
How to auto create trip in oracle order management
How to auto create trip in oracle order managementHow to auto create trip in oracle order management
How to auto create trip in oracle order management
 
Oracle min-max-planning
Oracle min-max-planningOracle min-max-planning
Oracle min-max-planning
 
Oracle R12 Work In Process
Oracle R12 Work In ProcessOracle R12 Work In Process
Oracle R12 Work In Process
 
Oracle Process Manufacturing Setup EBS12.2
Oracle Process Manufacturing Setup EBS12.2Oracle Process Manufacturing Setup EBS12.2
Oracle Process Manufacturing Setup EBS12.2
 
oracle order management
oracle order managementoracle order management
oracle order management
 
Oracle R12.1.3 Costing Overview
Oracle R12.1.3 Costing OverviewOracle R12.1.3 Costing Overview
Oracle R12.1.3 Costing Overview
 
Oracle iProcurement
Oracle iProcurementOracle iProcurement
Oracle iProcurement
 
Inventory in Oracle apps
Inventory in Oracle apps Inventory in Oracle apps
Inventory in Oracle apps
 
Oracle Purchasing R12 Setup Steps
Oracle Purchasing R12 Setup StepsOracle Purchasing R12 Setup Steps
Oracle Purchasing R12 Setup Steps
 
How to Close Period in Oracle Apps Inventory
How to Close Period in Oracle Apps Inventory How to Close Period in Oracle Apps Inventory
How to Close Period in Oracle Apps Inventory
 
Oracle EBS R12 Order Management Notes
Oracle EBS R12 Order Management NotesOracle EBS R12 Order Management Notes
Oracle EBS R12 Order Management Notes
 
Oracle ASCP Training
Oracle ASCP TrainingOracle ASCP Training
Oracle ASCP Training
 
Elshayeb Oracle R12 Order Management
Elshayeb Oracle R12 Order ManagementElshayeb Oracle R12 Order Management
Elshayeb Oracle R12 Order Management
 
Pick pack and ship confirm process in oracle apps
Pick pack and ship confirm process in oracle appsPick pack and ship confirm process in oracle apps
Pick pack and ship confirm process in oracle apps
 
Basics of Oracle Order Management
Basics of Oracle Order ManagementBasics of Oracle Order Management
Basics of Oracle Order Management
 
Oracle WIP – Supply Types:
Oracle WIP – Supply Types:Oracle WIP – Supply Types:
Oracle WIP – Supply Types:
 
Oracle SCM Purchasing R12
Oracle SCM Purchasing R12Oracle SCM Purchasing R12
Oracle SCM Purchasing R12
 

Similar to Forecasting in Oracle Inventory

Whats new in Primavera P6 EPPM 15.2?
Whats new in Primavera P6 EPPM 15.2?Whats new in Primavera P6 EPPM 15.2?
Whats new in Primavera P6 EPPM 15.2?p6academy
 
Hyperion psb new featuers
Hyperion psb  new featuersHyperion psb  new featuers
Hyperion psb new featuersIssam Hejazin
 
Oracle grc install
Oracle grc installOracle grc install
Oracle grc installParas Ali
 
P6 analytics install_and_config_guide
P6 analytics install_and_config_guideP6 analytics install_and_config_guide
P6 analytics install_and_config_guidevishaalkumar11
 
Oracle Concurrent Program Setup document
Oracle Concurrent Program Setup  documentOracle Concurrent Program Setup  document
Oracle Concurrent Program Setup documentvenkatesh gurusamy
 
Oracle Apps INVENTORY
Oracle Apps INVENTORY Oracle Apps INVENTORY
Oracle Apps INVENTORY Manu MK
 
Forecasting Capacity Issues in Stateful Systems: A Proactive Approach
Forecasting Capacity Issues in Stateful Systems: A Proactive ApproachForecasting Capacity Issues in Stateful Systems: A Proactive Approach
Forecasting Capacity Issues in Stateful Systems: A Proactive ApproachIRJET Journal
 
Oracle database monitors and tools
Oracle database monitors and toolsOracle database monitors and tools
Oracle database monitors and toolsKprjgd Kprjgd
 
Xd planning guide - storage best practices
Xd   planning guide - storage best practicesXd   planning guide - storage best practices
Xd planning guide - storage best practicesNuno Alves
 
Splunk4Rookies - Attendee - May 2023.pdf
Splunk4Rookies - Attendee - May 2023.pdfSplunk4Rookies - Attendee - May 2023.pdf
Splunk4Rookies - Attendee - May 2023.pdfdjdhhdddhhd
 
sfbaug20230215-230310221623-88beae19.pdf
sfbaug20230215-230310221623-88beae19.pdfsfbaug20230215-230310221623-88beae19.pdf
sfbaug20230215-230310221623-88beae19.pdfJeffForrest8
 
SFBA Splunk User Group Meeting February 2023
SFBA Splunk User Group Meeting February 2023SFBA Splunk User Group Meeting February 2023
SFBA Splunk User Group Meeting February 2023Becky Burwell
 
Eresource nfra project management
Eresource nfra project managementEresource nfra project management
Eresource nfra project managementeresourceerpuae
 
Hierarchical Forecasting and Reconciliation in The Context of Temporal Hierarchy
Hierarchical Forecasting and Reconciliation in The Context of Temporal HierarchyHierarchical Forecasting and Reconciliation in The Context of Temporal Hierarchy
Hierarchical Forecasting and Reconciliation in The Context of Temporal HierarchyIRJET Journal
 
Spry Scheduling and Haulage model - Tutorial
Spry Scheduling and Haulage model - TutorialSpry Scheduling and Haulage model - Tutorial
Spry Scheduling and Haulage model - TutorialVR M
 

Similar to Forecasting in Oracle Inventory (20)

PBCS-User-Guide (3).pdf
PBCS-User-Guide (3).pdfPBCS-User-Guide (3).pdf
PBCS-User-Guide (3).pdf
 
Whats new in Primavera P6 EPPM 15.2?
Whats new in Primavera P6 EPPM 15.2?Whats new in Primavera P6 EPPM 15.2?
Whats new in Primavera P6 EPPM 15.2?
 
Hyperion psb new featuers
Hyperion psb  new featuersHyperion psb  new featuers
Hyperion psb new featuers
 
Oracle grc install
Oracle grc installOracle grc install
Oracle grc install
 
P6 analytics install_and_config_guide
P6 analytics install_and_config_guideP6 analytics install_and_config_guide
P6 analytics install_and_config_guide
 
Oracle Concurrent Program Setup document
Oracle Concurrent Program Setup  documentOracle Concurrent Program Setup  document
Oracle Concurrent Program Setup document
 
Oracle Apps INVENTORY
Oracle Apps INVENTORY Oracle Apps INVENTORY
Oracle Apps INVENTORY
 
Forecasting Capacity Issues in Stateful Systems: A Proactive Approach
Forecasting Capacity Issues in Stateful Systems: A Proactive ApproachForecasting Capacity Issues in Stateful Systems: A Proactive Approach
Forecasting Capacity Issues in Stateful Systems: A Proactive Approach
 
Take Off and Landing Prediction Using Fuzzy Logic
Take Off and Landing Prediction Using Fuzzy LogicTake Off and Landing Prediction Using Fuzzy Logic
Take Off and Landing Prediction Using Fuzzy Logic
 
Oracle database monitors and tools
Oracle database monitors and toolsOracle database monitors and tools
Oracle database monitors and tools
 
Dacota sunflower
Dacota sunflowerDacota sunflower
Dacota sunflower
 
Xd planning guide - storage best practices
Xd   planning guide - storage best practicesXd   planning guide - storage best practices
Xd planning guide - storage best practices
 
Splunk4Rookies - Attendee - May 2023.pdf
Splunk4Rookies - Attendee - May 2023.pdfSplunk4Rookies - Attendee - May 2023.pdf
Splunk4Rookies - Attendee - May 2023.pdf
 
sfbaug20230215-230310221623-88beae19.pdf
sfbaug20230215-230310221623-88beae19.pdfsfbaug20230215-230310221623-88beae19.pdf
sfbaug20230215-230310221623-88beae19.pdf
 
SFBA Splunk User Group Meeting February 2023
SFBA Splunk User Group Meeting February 2023SFBA Splunk User Group Meeting February 2023
SFBA Splunk User Group Meeting February 2023
 
Balco ps user manual
Balco ps user manualBalco ps user manual
Balco ps user manual
 
Eresource nfra project management
Eresource nfra project managementEresource nfra project management
Eresource nfra project management
 
Hierarchical Forecasting and Reconciliation in The Context of Temporal Hierarchy
Hierarchical Forecasting and Reconciliation in The Context of Temporal HierarchyHierarchical Forecasting and Reconciliation in The Context of Temporal Hierarchy
Hierarchical Forecasting and Reconciliation in The Context of Temporal Hierarchy
 
4 01 peters
4 01 peters4 01 peters
4 01 peters
 
Spry Scheduling and Haulage model - Tutorial
Spry Scheduling and Haulage model - TutorialSpry Scheduling and Haulage model - Tutorial
Spry Scheduling and Haulage model - Tutorial
 

More from Baker Khader Abdallah, PMP

More from Baker Khader Abdallah, PMP (20)

Oracle Carry Forward Methods
Oracle Carry Forward MethodsOracle Carry Forward Methods
Oracle Carry Forward Methods
 
TE040 Oracle AP Testscript
TE040 Oracle AP TestscriptTE040 Oracle AP Testscript
TE040 Oracle AP Testscript
 
Oracle Payables Reference Guide
Oracle Payables Reference GuideOracle Payables Reference Guide
Oracle Payables Reference Guide
 
Entering Invoices in Oracle Payables
Entering Invoices in Oracle PayablesEntering Invoices in Oracle Payables
Entering Invoices in Oracle Payables
 
BR100 Oracle AP Setup
BR100 Oracle AP SetupBR100 Oracle AP Setup
BR100 Oracle AP Setup
 
Quick Reference Guide
Quick Reference GuideQuick Reference Guide
Quick Reference Guide
 
PCS iProcurement
PCS iProcurement PCS iProcurement
PCS iProcurement
 
Oracle R12 iProcurement Reference Guide
Oracle R12 iProcurement Reference GuideOracle R12 iProcurement Reference Guide
Oracle R12 iProcurement Reference Guide
 
Leveraging iProcurement to Increase Cash Flow
Leveraging iProcurement to Increase Cash FlowLeveraging iProcurement to Increase Cash Flow
Leveraging iProcurement to Increase Cash Flow
 
iProcurement Reference Guide
iProcurement Reference GuideiProcurement Reference Guide
iProcurement Reference Guide
 
Oracle Internet Procurement
Oracle Internet ProcurementOracle Internet Procurement
Oracle Internet Procurement
 
FIS Oracle iProcurement
FIS Oracle iProcurementFIS Oracle iProcurement
FIS Oracle iProcurement
 
CDU iProcurement R12 Manual
CDU iProcurement R12 ManualCDU iProcurement R12 Manual
CDU iProcurement R12 Manual
 
Understanding Physical Inventory
Understanding Physical InventoryUnderstanding Physical Inventory
Understanding Physical Inventory
 
Stock Maintenance
Stock MaintenanceStock Maintenance
Stock Maintenance
 
Oracle Inventory Kanban
Oracle Inventory KanbanOracle Inventory Kanban
Oracle Inventory Kanban
 
Inventory Transaction Types
Inventory Transaction TypesInventory Transaction Types
Inventory Transaction Types
 
Accounting in Oracle Inventory
Accounting in Oracle InventoryAccounting in Oracle Inventory
Accounting in Oracle Inventory
 
Oracle Fixed Assets Testscripts
Oracle Fixed Assets TestscriptsOracle Fixed Assets Testscripts
Oracle Fixed Assets Testscripts
 
R12 Mass Additions
R12 Mass AdditionsR12 Mass Additions
R12 Mass Additions
 

Recently uploaded

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

Forecasting in Oracle Inventory

  • 1. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 1 ORACLE APPLICATIONS DISCUSSION PAPER– FORECASTING AUTHOR: VINDALOO SYSTEMS VERSION: ISSUE I VERSION DATE: MONDAY, 10 JUNE 2003 DOC. REF.: ORCL-AUS-FORECAST -11I
  • 2. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 2 DDDOOOCCCUUUMMMEEENNNTTT CCCOOONNNTTTRRROOOLLL CCCHHHAAANNNGGGEEE RRREEECCCOOORRRDDD Date Author Version Change Reference 10-Jun-2003 Vindaloo Systems Draft 1a No previous version 06-Jun-2004 Vindaloo Systems Issue 1 Changes for Internal discussion RRREEEVVVIIIEEEWWWEEERRRSSS Name Position Vindaloo Systems DDDIIISSSTTTRRRIIIBBBUUUTTTIIIOOONNN Approved versions of this document (i.e., where the Version is ISSUE rather than DRAFT) have been distributed to the following: Name Location/Title Master Copy Vindaloo Systems Library Grant Wild Vindaloo Systems Consulting Director All reviewers (see Reviewers table above) NOTE To Holders: If you receive an electronic copy of this document and print it out, you should write your name on the front cover (for document control purposes). If you receive a hard copy of this document, please write your name on the front cover (for document control purposes).
  • 3. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 3 CCCOOONNNTTTEEENNNTTTSSS DOCUMENT CONTROL................................................................................................................. 2 Change Record............................................................................................................................................... 2 Reviewers....................................................................................................................................................... 2 Distribution .................................................................................................................................................... 2 CONTENTS..................................................................................................................................... 3 INTRODUCTION ............................................................................................................................. 5 DEFINITIONS.................................................................................................................................. 6 LOADING FORECAST DATA ........................................................................................................ 7 Forecast Entries form.................................................................................................................................... 7 Open Forecast Interface................................................................................................................................. 7 Focus and Statistical forecast generation. ..................................................................................................... 8 How focus forecasting works........................................................................................................................ 8 How to generate a focus forecast .................................................................................................................. 9 How statistical forecasting works................................................................................................................ 10 How to generate a statistical forecast.......................................................................................................... 11 FORECAST CONSUMPTION....................................................................................................... 12 Communicating sales order demand to Oracle Manufacturing.................................................................. 12 How forecast consumption works............................................................................................................... 12 What about demand classes?....................................................................................................................... 13 TECHNICAL DETAILS ................................................................................................................. 14 REPORTING ON FORECAST DATA........................................................................................... 18 ALERTS ........................................................................................................................................ 20
  • 4. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 4
  • 5. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 5 IIINNNTTTRRROOODDDUUUCCCTTTIIIOOONNN This paper will cover all aspects of forecasting in Oracle manufacturing, including setup of forecasts and forecast sets, demand classes, forecast consumption and planning bills of materials. It will also cover in detail the technical architecture of the forecasting module, discuss how to report on forecast data, and suggest useful Alerts.
  • 6. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 6 DDDEEEFFFIIINNNIIITTTIIIOOONNNSSS A forecast is an estimate of anticipated customer demand on your company s inventory items. In Oracle, forecasts are defined within a three-level hierarchical structure. From most specific to most general, the three levels are forecast entries, forecasts, and forecast sets. A forecast entry is a specific expected product demand. A forecast entry must contain an item number, plus the date(s) and quantity of the expected demand. Related forecast entries are grouped into forecasts. A forecast may be defined for a specific customer, customer site, or other user-defined classification of demand, for example, a geographic region or customer type. The user-defined classifications of demand are called demand classes. A forecast set is a group of forecasts that are somehow related. For example, each of the forecasts in a particular forecast set may represent the forecast for a region. Forecast sets contain the parameters that govern forecast consumption. Forecast consumption is the process by which actual customer orders replace forecasted orders in theplanning process. A planning bill of material is an artificial grouping of items in bill of material format, which represents an entire product family. On a planning bill of material, rather than the BOM indicating the quantity per assembly of each component, it specifies a "planning percentage" representative of the forecasted percentage of demand for each component. The Planning Manager is a background process in Oracle Master Scheduling/MRP which is responsible for many of the performing many of the functions described in this paper, including forecast consumption and the open forecast interface process. To use any of these functions, insure that this process is running on your system by checking the Start Planning Manager form in Oracle Master Scheduling/MRP.
  • 7. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 7 LLLOOOAAADDDIIINNNGGG FFFOOORRREEECCCAAASSSTTT DDDAAATTTAAA Oracle provides three methods to load forecast data into the database: • Forecast Entries form (manual data entry) • Open Forecast Interface • Focus and Statistical forecast generation The first two options are used when the actual forecast dates and quantities are generated externally to Oracle, and your only requirement is to load the forecasts into Oracle. The third option can be used to generate the forecasts based on historical information, provided sufficient history exists in your Oracle Applications database. FFFOOORRREEECCCAAASSSTTT EEENNNTTTRRRIIIEEESSS FFFOOORRRMMM... The simplest way to load externally generated forecast data into Oracle is to use the Forecast Entries form to enter the data manually. On this form, you are first required to select the forecast into which the entries are to be placed, then proceed to enter the actual forecast entries. At the minimum, a forecast entry contains an item number, quantity, bucket type, and an effective date or range of dates. The bucket type works in conjunction with the dates as follows: Each forecast entry is valid for a particular period of time broken down into one of three forecast buckets: days, weeks, or periods. A daily forecast is valid only for the day or days specified by the forecast entry. When entering the forecast dates for a daily forecast, you are restricted to selecting workdays on the manufacturing calendar. A weekly forecast is valid for the entire week(s) for which it is defined. When entering the forecast dates for a weekly forecast, you are restricted to selecting only week start dates as defined by the manufacturing calendar. When using the standard five days on/two days off calendar, this means you will only be able to enter Mondays as the forecast start and/or end dates. Note that in this case the "end date" of the forecast entry actually signifies the first date in the last bucket covered by this forecast entry. Therefore if the end date is entered to be 12-JUL-99, this means that the forecast actually covers through the end of the week beginning on 12-JUL-99. This is equivalent to stating that the forecast is valid through 18-JUL-99. A period forecast is valid for the entire period(s) for which it is defined. When entering the forecast dates for a period forecast, you are restricted to selecting only period start dates as defined by the manufacturing calendar. Depending on the calendar type (regular calendar months, 4/4/5 week pattern, etc.), the period start dates may or may not correspond to calendar month start dates. The "end date" is the same as for the weekly forecast entry, so if the end date is entered to be 01-NOV-99, this means that the forecast entry actually covers through the end of the period beginning on 01-NOV-99. This is equivalent to stating that the forecast is valid through 30-NOV- 99. The forecasted quantity entered on the Forecast Entries form is a per bucket quantity. For example, if you specify 1,000 as the quantity on a forecast with bucket type "Weeks", you are stating that the anticipated demand for the given item will be 1,000 units per week for each week covered by the entered date range. OOOPPPEEENNN FFFOOORRREEECCCAAASSSTTT IIINNNTTTEEERRRFFFAAACCCEEE...
  • 8. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 8 The open forecast interface provides a way to import externally generated forecasts into Oracle. To use the open forecast interface, you must load the MRP_FORECAST_INTERFACE table with the forecast data to be imported. A complete description of how to use the open forecast interface is available in the Oracle Manufacturing Implementation Manual. A few of the key columns in the interface table include: • INVENTORY_ITEM_ID, the forecasted item • FORECAST_DESIGNATOR, the forecast into which the entry is to be placed • BUCKET_TYPE, Days, Weeks, or Periods, indicated by 1, 2, or 3, respectively • FORECAST_DATE, the start date of the forecast entry • FORECAST_END_DATE, (optional) the end date of the forecast entry • FORECAST_QUANTITY, the per bucket quantity of the forecast entry The Planning Manager polls this table for records to import, so there is no separate concurrent program to launch to perform the forecast import process. FFFOOOCCCUUUSSS AAANNNDDD SSSTTTAAATTTIIISSSTTTIIICCCAAALLL FFFOOORRREEECCCAAASSSTTT GGGEEENNNEEERRRAAATTTIIIOOONNN... A third way to load forecast information is to have Oracle generate the forecasts based on historical information. Oracle Manufacturing provides two methods of forecast generation: focus forecasting and statistical forecasting. Note that both of these methods are only available if sufficient historical information is available in Oracle. If you have a new installation of Oracle then you will not have this history available. HHHOOOWWW FFFOOOCCCUUUSSS FFFOOORRREEECCCAAASSSTTTIIINNNGGG WWWOOORRRKKKSSS. In focus forecasting, Oracle uses five basic models to determine future demand requirements. It then uses each model to calculate the "forecast" for a previous bucket where the actual demand is already known. Then the results of each of the five models is compared with the actual demand from the prior bucket to see which method produced the most accurate "forecast" for that period. The method with the most accurate forecast is chosen to generate the next bucket’s forecast. In the following explanations of each model, assume March 1999 is the most recent period for which actual demand data exists, and that focus forecasting is being called upon to generate the forecast for April 1999. Focus forecasting will begin by using the five different models to produce a "forecast" for March 1999: Model I: This years forecast is equal to the actual demand from the same period last year. This model sets the March 1999 forecast equal to the actual demand from March 1998. This model requires a 12-month history of demand data and does not account for rates of growth or decline. Model II: This years forecast is equal to the actual demand from the same period last year, times the rate of change between the prior periods year over year. This model sets the March 1999 forecast equal to the actual demand from March 1998 multiplied by the ratio of the February 1999 demand to the February 1998 demand. This model requires a 13-month history of demand data and accounts for year over year growth or decline. Model III: This years forecast is equal to the actual demand from the prior period this year. This model sets the March 1999 forecast equal to the actual demand from February 1999. This
  • 9. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 9 model requires only one month of historical demand data, but does not account for growth or decline. Model IV: This years forecast is equal to the average actual demand from the two prior periods this year. This model sets the March 1999 forecast equal to the average of the actual demands from January and February 1999. This model requires two months of historical demand data and does not account for growth or decline. Model V: This years forecast is equal to the actual demand from the prior period this year, times the rate of change between the two prior periods this year. This model sets the March 1999 forecast equal to the actual demand from February 1999 multiplied by the ratio of the February 1999 demand to the January 1999 demand. This model requires two months of historical demand data and accounts for growth or decline between the two prior periods. Focus forecasting will calculate the March 1999 using each of these models for which sufficient demand history exists. For each model, the absolute difference between the "forecasted" quantity and the actual demand quantity is then divided by the actual demand quantity to determine the error percentage for that model. The model that produces the lowest error percentage is chosen and the April 1999 forecast is then generated using that model. Whenever new actual demand data is generated for current periods, the focus forecasting process can be re-run to update the next period's forecast. HHHOOOWWW TTTOOO GGGEEENNNEEERRRAAATTTEEE AAA FFFOOOCCCUUUSSS FFFOOORRREEECCCAAASSSTTT First define a Forecast Rule using the Forecast Rules form, available in Oracle Inventory. Specify a name and description for the new forecast rule, and select Focus for the forecasting method option. When defining a forecast rule to use focus forecasting, the forecast rule only requires two other types of information: Bucket Type: Specify days, weeks, or periods to indicate the bucket type of forecast entries generated using this forecast rule. Include: Specify which of types of actual demand should be included when compiling the demand history for the items. Choices are sales order shipments, issues to WIP, miscellaneous issues, and inter-org transfers. Choose any and all types of demand that are appropriate for your inventory items. If you are planning on generating a new forecast using the forecast rule, define the new forecast. Otherwise you can use the forecast rule to generate additional forecast entries in an existing forecast. See "Define a forecast" in the Setting Up section. Now you can generate the focus forecast. Launch the Generate Forecast concurrent program, available in Oracle Inventory. The concurrent program accepts the following parameters: Forecast Name: Specify the name of the forecast into which you would like the generated entries placed. Forecast Rule: Specify the name of the forecast rule to use when generating the forecast entries. Selection: Specify All Inventory Items, Specific Inventory Item, or Specific Category to determine which inventory items are to have forecasts generated for them. Specific Item: Specify an item number here only if you chose Specific Inventory Item for the Selection parameter. Forecast entries will be generated only for this item. Specific Category Set: Specify a category set here only if you chose Specific Category for the Selection parameter.
  • 10. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 10 Specific Category: Specify a category combination here only if you chose Specific Category for the Selection parameter. All inventory items assigned to this category will be included. Overwrite: Specify All Entries, No, or Same Source Only to determine how the Generate Forecast program handles any forecast entries which currently exist in the target forecast. Select All Entries to purge the target forecast before generating the new entries. Select No to add the new entries to any entries already belonging to the target forecast. Select Same Source Only to purge the target forecast of Start Date: Enter the first bucket for which a forecast entry should be generated. Cutoff Date: Enter the last bucket for which a forecast entry should be generated. Note that focus forecasting only produces a single-bucket forecast. In our example above, a forecast quantity for April 1999 is generated by the focus forecasting process. If the cutoff date is chosen to be later than April 1999, the April 1999 quantity is duplicated each period up to the cutoff date. HHHOOOWWW SSSTTTAAATTTIIISSSTTTIIICCCAAALLL FFFOOORRREEECCCAAASSSTTTIIINNNGGG WWWOOORRRKKKSSS... In statistical forecasting, Oracle uses a mathematical model to determine future demand requirements. At its most basic level, this model uses much or all of the available historical demand data and uses an exponential smoothing function to average the demand together to produce the forecast. Oracle provides three ways to customize the exponential smoothing function to meet your specific needs. First is an alpha smoothing factor that gives relative weight to newer historical data versus older data. Alpha is a user-defined number between zero and one. A larger alpha value gives greater weight to newer forecast data. If the historical demand is relatively smooth, then changing the value of alpha will not make a significant difference in the statistical forecast that is generated. However, if the demand is not smooth, then choosing a larger alpha value will cause the generated forecast to track more closely the most recent demand data. In addition to the alpha smoothing factor, Oracle also provides for trend-enhanced and season- enhanced options in statistical forecasting. These modifications to the exponential smoothing function can be used separately, or together to produce the trend and season-enhanced forecast. A trend-enhanced forecast starts with the exponential smoothing function described above, and adds a "trend index" which mirrors the current demand trend. A trend factor similar to the alpha smoothing factor is required, and similar to alpha, the larger the value for the trend factor, the greater weight is given to the current demand trends. A season-enhanced forecast is required when demand for particular items is highly seasonal in nature. In consumer products perhaps the demand is much higher during the last calendar quarter during the Christmas season, or perhaps certain other items demand peaks during summer, etc. To use season-enhanced forecasting, a seasonality index is entered for each calendar period to indicate how far above or below average is the demand for that particular period. When entering seasonality indices, consider the value 1 to be the period with "average" demand. Therefore, a value of 1.5 would indicate that the demand is 50% higher during that period. One important note is that the Generate Forecast program normalizes the seasonality indices before using them in the calculations. Therefore, if all seasonality indices are entered to be 2, then 2 is considered to be the "average" demand and no seasonal adjustments are made to the generated forecast.
  • 11. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 11 When demand is seasonal in nature and you wish to take trend into account as well, then the trend factor and the seasonality indices can both be used to generate the new forecast. HHHOOOWWW TTTOOO GGGEEENNNEEERRRAAATTTEEE AAA SSSTTTAAATTTIIISSSTTTIIICCCAAALLL FFFOOORRREEECCCAAASSSTTT... As in focus forecasting, the first step to generate a statistical forecast is to define a forecast rule. In addition to the two options required when defining a forecast rule to use focus forecasting, a forecast rule to use statistical forecasting requires entry of the statistical forecasting parameters discussed above: Maximum Past Periods: Specify the maximum number of periods of historical data Oracle should consider during the statistical forecasting process. Alpha Factor: Specify the smoothing factor, a value between 0 and 1, where larger values give more weight to recent historical data. Use Trend Model: Check this box to use the trend-enhanced forecast. Trend Factor: Specify the trend factor, a value between 0 and 1, where larger values give more weight to the recent demand trends. Use Seasonality Model: Check this box to use the season-enhanced forecast. Seasonality Factor: Specify the seasonality factor, a value between 0 and 1, where larger values give more weight to the recent seasonality factors. Seasonality Indices: Specify the seasonality indices for each period, to indicate how the demand in each period has historically compared to the "average" demand. After defining the forecast rule, launch the Generate Forecast program to generate the statistical forecast. This program is discussed in the preceding section for focus forecasting.
  • 12. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 12 FFFOOORRREEECCCAAASSSTTT CCCOOONNNSSSUUUMMMPPPTTTIIIOOONNN Forecast consumption refers to the process of replacing forecasted demand with actual demand, as the actual demand is received. CCCOOOMMMMMMUUUNNNIIICCCAAATTTIIINNNGGG SSSAAALLLEEESSS OOORRRDDDEEERRR DDDEEEMMMAAANNNDDD TTTOOO OOORRRAAACCCLLLEEE MMMAAANNNUUUFFFAAACCCTTTUUURRRIIINNNGGG... When using Oracle Order Entry (OE) and Oracle Receivables (AR), the forecast consumption process is automated. Sales order and customer information is automatically transferred from OE to Oracle Inventory. At this point, Oracle Master Scheduling/MRP can read the sales order demand and consume the appropriate forecast entries according to the consumption parameters defined for each forecast set. When using an external order entry system, the sales order demand must be passed into Oracle Master Scheduling/MRP through the Open Demand Interface. For complete information on the Open Demand Interface, please consult the appropriate Oracle Manufacturing Implementation Manual for your release of the applications. When importing sales order demand through this interface, pay particular attention to the following three columns in the demand interface table: • CUSTOMER_ID • SHIP_TO_SITE_USE_ID • BILL_TO_SITE_USE_ID The Oracle Manufacturing Implementation Manual lists these three columns as optional columns when importing sales order demand. However, to enable forecast consumption for this demand, these columns are mandatory. Any sales order demand that does not contain this information will not consume any forecast entries. If OE and AR are not installed on your system, then these numbers are not validated, and you should enter any value into these columns. In addition to those three columns, if your forecasts are associated with demand classes, be sure to populate the DEMAND_CLASS along with the imported demand. HHHOOOWWW FFFOOORRREEECCCAAASSSTTT CCCOOONNNSSSUUUMMMPPPTTTIIIOOONNN WWWOOORRRKKKSSS. Three parameters govern how the Planning Manager consumes forecasts with sales order demand. The outlier update percent specifies how much of a given forecast s original (pre-consumption) quantity can be consumed by a single sales order. The backward consumption days and the forward consumption days tell the Planning Manager how many days backwards and forwards from the sales order schedule date it may look when locating forecast entries to consume. Whenever new sales order demand is introduced, the Planning Manager first attempts to find forecast entries with dates that exactly match the sales order schedule date: • a daily forecast for the same day as the new sales order demand, or • a weekly forecast for the week containing the date of the new sales order demand, or
  • 13. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 13 • a period forecast for the period containing the date of the new sales order demand If a matching forecast entry is located, the Planning Manager decrements the forecast quantity by the amount of the demand quantity. If the demand quantity exceeds the forecast quantity, or if no matching forecast entry is found, then the forecast quantity is set to zero and the process continues. Next the Planning Manager moves backwards, up to the number of backward consumption days, until it finds enough quantity on forecast entries to satisfy the entire sales order demand. If the Planning Manager has moved as far back as the backward consumption days will allow, it moves forward, up to the forward consumption days limit. If the Planning Manager exhausts the entire "window" of possible forecast entries and some quantity of the demand still remains, the forecast is overconsumed. The Planning Manager creates a forecast entry in the forecast set, with a negative forecast quantity. These overconsumption entries are not considered during the planning process. WWWHHHAAATTT AAABBBOOOUUUTTT DDDEEEMMMAAANNNDDD CCCLLLAAASSSSSSEEESSS??? If the sales order demand contains a demand class, the Planning Manager first searches for forecast entries within forecasts defined for the same demand class. If the Planning Manager does not find sufficient entries to consume, it will then consume any entries within forecasts without a demand class.
  • 14. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 14 TTTEEECCCHHHNNNIIICCCAAALLL DDDEEETTTAAAIIILLLSSS Forecast sets, forecasts, and forecast entries are stored in these three tables: • MRP_FORECAST_DESIGNATORS • MRP_FORECAST_ITEMS • MRP_FORECAST_DATES Another table is used to store the details of forecast consumption: • MRP_FORECAST_UPDATES The table MRP_FORECAST_DESIGNATORS contains the information pertaining to both forecast sets and forecasts. Each forecast will have one row in the table; the name of the forecast is stored in column FORECAST_DESIGNATOR, and the column FORECAST_SET will contain the name of the forecast set to which the forecast belongs. This table also contains the forecast consumption parameters discussed above, in the appropriate columns: • DEMAND_CLASS • FOREWARD_UPDATE_TIME_FENCE • BACKWARD_UPDATE_TIME_FENCE (the previous two columns are actually the "forward consumption days" and "backward consumption days" parameters previously discussed) • OUTLIER_UPDATE_PERCENTAGE • CUSTOMER_ID • SHIP_ID • BILL_ID The table MRP_FORECAST_ITEMS contains a unique listing of each item belonging to each forecast. Therefore, an inventory item will have exactly one record in this table for each different forecast to which it belongs. MRP_FORECAST_DATES contains the actual forecast entries for a given forecast. The key forecast information is stored in the following columns: • FORECAST_DESIGNATOR: This column, a foreign key reference to the table MRP_FORECAST_DESIGNATORS, will contain the name of the forecast for which the entry is defined. • INVENTORY_ITEM_ID: This column, a foreign key reference to the table MTL_SYSTEM_ITEMS, contains the identifier of the item for which the entry is defined. • BUCKET_TYPE: This column will contain a 1 for daily forecast entries, a 2 for weekly forecast entries, and a 3 for period forecast entries. This column will always contain a value.
  • 15. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 15 • FORECAST_DATE: This column will contain the forecast start date and will always contain a value. • RATE_END_DATE: This column is populated for multiple-bucket forecast entries, and contains the end date of the forecast. The column is validated exactly like the FORECAST_DATE column, so will contain only valid workdays, week start dates, or period start dates, for daily, weekly, or period forecast entries, respectively. • ORIGINAL_FORECAST_QUANTITY: This column contains the quantity specified at the time the forecast entry is created. In the case of multiple bucket forecast entries, the number in this column reflects the per-bucket quantity. This value in this column is not changed during forecast consumption. Please note that despite the "original" in the name of this column, the forecast quantity represented here may or may not actually represent the first quantity for which the entry was defined. If a forecast quantity is changed at any time after the forecast is first entered, the new quantity replaces the old quantity in this column. Please see Reporting on forecast data for more information. • CURRENT_FORECAST_QUANTITY: This column contains the current (remaining) forecast quantity after consuming the entry with actual sales order demand. At entry time, this column contains the same value as ORIGINAL_FORECAST_QUANTITY. Once the forecast entry has been completely consumed by sales order demand, this column will be set to zero. One interesting point when considering how forecast entries are stored arises when considering the case of multiple bucket entries. Note that even in this case, only one record in the MRP_FORECAST_DATES table is created. As an example, consider a weekly forecast entry created for a 13-week period starting with the week of 26-APR-99 and ending with the week of 19-JUL-99, at a quantity of 1000 per week. At the time of entry, a single record in MRP_FORECAST_DATES is created with the following column values: • FORECAST_DATE: 26-APR-99 • RATE_END_DATE: 19-JUL-99 • ORIGINAL_FORECAST_QUANTITY: 1000 • CURRENT_FORECAST_QUANTITY: 1000 This single record in MRP_FORECAST_DATES actually represents thirteen different forecast entries and makes reporting on forecast data less than straightforward. Simply summing the forecast quantity for a particular item will understate the total quantity if multiple bucket forecast entries exist for an item. See the section Reporting On Forecast Data for more details. Now, assume that a sales order for this item is booked for quantity 250 for the week of 26-APR- 99. Remember that the forecast entry represents 13 different forecast entries, each weekly for a quantity of 1000. If the forecast consumption process simply updated the current forecast quantity on the record in MRP_FORECAST_DATES from 1000 to 750, then it would indicate that a sales order for 250 had been received in each of the 13 weeks covered by the forecast entry. Since this is clearly not the case, the forecast consumption process must break up the record into two separate records in MRP_FORECAST_DATES. It does this by first creating a new record in MRP_FORECAST_DATES with the following values:
  • 16. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 16 • FORECAST_DATE: 26-APR-99 • RATE_END_DATE: <blank> • ORIGINAL_FORECAST_QUANTITY: 1000 • CURRENT_FORECAST_QUANTITY: 750 The NULL value for RATE_END_DATE indicates that the forecast entry is valid only for the week indicated by FORECAST_DATE. It then updates the original record in MFD: • FORECAST_DATE: 03-MAY-99 • RATE_END_DATE: 19-JUL-99 • ORIGINAL_FORECAST_QUANTITY: 1000 • CURRENT_FORECAST_QUANTITY: 1000 Each time consumption takes place in a new time bucket, the forecast consumption process creates a new record in MFD, valid for that bucket only. Each time a forecast entry is consumed, the details for that consumption are stored in the following columns in MRP_FORECAST_UPDATES: • TRANSACTION_ID Links back to MRP_FORECAST_DATES to indicate which forecast entry was consumed • SALES_ORDER_SCHEDULE_DATE The scheduled ship date of the sales order that consumed the forecast • FORECAST_UPDATE_DATE The date of the forecast entry that was consumed • SALES_ORDER_QUANTITY The total quantity of the sales order • UPDATE_QUANTITY The quantity of the forecast entry that was consumed by this sales order The table (owned by Oracle Inventory) that holds sales order demand is MTL_DEMAND. Forecast consumption is only one of the many ways this extremely important table is used. Here are the columns from this table which are relevant to forecast consumption only: • UPDATED_FLAG Initially 1 to indicate that the Planning Manager has not yet processed this demand. Set to 2 after processing by Planning Manager. • SHIP_TO_SITE_USE_ID • BILL_TO_SITE_USE_ID
  • 17. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 17 • CUSTOMER_ID These three columns must contain a value to enable forecast consumption. If OE and AR are installed, these will reference actual records in the customer master. If OE and AR are not installed and the demand was imported through the Open Demand Interface, these fields should contain any value (not validated). • DEMAND_CLASS The demand class of the sales order.
  • 18. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 18 RRREEEPPPOOORRRTTTIIINNNGGG OOONNN FFFOOORRREEECCCAAASSSTTT DDDAAATTTAAA Due to the nature with which forecast entries are stored in the database, generating custom reports on forecast data is not a trivial exercise. For example, recall the multiple-week forecast discussed in the previous section: • FORECAST_DATE: 26-APR-99 • RATE_END_DATE: 19-JUL-99 • ORIGINAL_FORECAST_QUANTITY: 1000 • CURRENT_FORECAST_QUANTITY: 1000 Remember that this forecast entry is a single record in the table MRP_FORECAST_DATES. This record actually represents thirteen separate forecast entries, each valid for a specific week, with a forecasted quantity of 1000 for that week. Any report that includes the entire date range covered by this forecast entry should show a total forecasted quantity of 13,000. Consider a simple custom report that shows the forecasted quantity for a specific item in a user entered date range. A simple SELECT statement, which would compute the sum of the column ORIGINAL_FORECAST_QUANTITY for the given date range, would certainly understate the forecasted quantity for this entry. Since there is only one record in the table for this entry, the sum would only total 1000. Also, what if the report date range included only part of the period of time covered by the forecast entry? One technique I have employed for many custom reports involving forecast data involves a custom database packaged procedure that acts a sort of "pre-processor." This stored procedure is invoked in the BEFORE REPORT trigger of any custom report which requires forecast data. Simply put, the stored procedure "explodes" the forecast into separate entries per bucket and stores the records in a temporary table, which is then queried by the report. Another stored procedure in the package is invoked in the AFTER REPORT trigger which purges the data from the temporary table. The basic premise of the procedure is to loop through all appropriate forecast entries in MRP_FORECAST_DATES, and for each record in the table, apply the following logic: If RATE_END_DATE for the record is NULL, this forecast entry is defined only for one bucket, so insert this record directly into the temporary table. If RATE_END_DATE is NOT NULL, this forecast entry is defined for multiple buckets. The procedure then determines the number of buckets covered between the FORECAST_DATE and RATE_END_DATE, and inserts an equal number of single-bucket records into the temporary table for reporting. Each record inserted into the temporary table would have a FORECAST_DATE appropriate for the individual bucket that it covers. In the example given at the beginning of this section, the procedure would insert 13 records into the temporary table, as follows: (record 1) FORECAST_DATE: 26-APR-99
  • 19. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 19 ORIGINAL_FORECAST_QUANTITY: 1000 (record 2) FORECAST_DATE: 03-MAY-99 ORIGINAL_FORECAST_QUANTITY: 1000 . . . (record 12) FORECAST_DATE: 12-JUL-99 ORIGINAL_FORECAST_QUANTITY: 1000 (record 13) FORECAST_DATE: 19-JUL-99 ORIGINAL_FORECAST_QUANTITY: 1000 After this procedure is complete, designing any type of custom forecasting report is quite simple. The report can then bucket and present the data in a variety of ways. One useful custom forecast report involves computing the accuracy of previous period forecasts. The forecast error can be computed in any number of generally accepted ways, the most common of which may be the mean absolute deviation, or MAD. To produce the MAD for a forecast, take the average of the absolute values of the difference between the forecast for a period and the actual demand for that period. Absolute values are used so that positive and negative forecast errors do not offset each other.
  • 20. Vindaloo Systems White Paper – Forecasting Doc ref: ORCL-AUS-FORECAST-11I Page 20 AAALLLEEERRRTTTSSS A very useful Alert relating to forecasting comes pre-installed with Oracle. This alert is designed to trigger when the Planning Manager overconsumes a forecast for a forecasted item. This occurs when the total sales order demand during a given period exceeds the total forecast during that period, as governed by the consumption rules for the forecast set. By default, this alert is installed but not enabled. In addition, certain modifications to this alert can be used to make the alert even more effective. One enhancement to this alert is to modify the alert so that the planner of the item in question is notified whenever the overconsumption occurs. When Planners are defined on the Define Planners form in Oracle Inventory, an electronic mail address is associated with each planner code. The alert can easily use the electronic mail address specified for the planner to send the planner an e-mail each time one of that planner s items is overconsumed. .