TECHNICAL FIELDThe present disclosure relates to retail and wholesale establishments and, more particularly to a method and system for forecasting demand of distribution center and related stores.
BACKGROUNDSeasonality, promotional events, and/or local events may affect demand of an item. For example, sales of sunscreen may peak during the summer and significantly dropped in the winter. On the other hand, cold/flu medicine may be in greater demand during winter than any other time of the year. Typically, a retail and/or wholesale establishment determines demand of a distribution center (DC) and related stores based on historical information such billings from the DC (i.e., output from the DC). That is, future billings of the related stores are based on past billings from the DC. For example, orders for a particular item may be made based on the number of units shipped out of the DC from last year. However, the historical billing may not provide an accurate assessment to forecast demand of the DC and related stores because the historical billing may include promotional demand. Further, the historical billing may be imprecise because a particular number of an item may have been shipped out previously but stores may not have sold every single unit of that item. In other words, stores may have a surplus of a particular item. For example, a store may be overstock with the item from a prior year, sale, and/or special.
To determine demand for a particular item simply at the store level may provide too small of a sample to accurately determine how many units of the item to order by the DC. Other factors such as current store inventory, multiple store orders, opening of new stores, closing of existing stores, and relocating of existing stores to more profitable locations may be also affect the DC order for the particular item. Therefore, a need exists for improving the effectiveness and efficiency of the process for forecasting demand of a distribution center and stores associated with the distribution center.
BRIEF DESCRIPTION OF THE DRAWINGSThis disclosure will describe several embodiments to illustrate its broad teachings. Reference is also made to the attached drawings.
FIG. 1 is block diagram representation of a system for forecasting demand of a distribution center and stores associated with the distribution center.
FIG. 2 is a block diagram representation of a central computer.
FIGS. 3,4,5,6,7,8, and9 are flow diagrams illustrating a method for forecasting demand of a distribution center and stores associated with the distribution center.
DETAILED DESCRIPTIONA method and a system for forecasting demand of a distribution center and stores associated with the distribution center are described herein. The system includes a central computer operatively coupled to a distribution center and a plurality of market demand groups (MDGs). Each of the plurality of MDGs may include a plurality of stores sharing a common characteristic. That is, the plurality of stores may be classified as one of the plurality of MDGs based on, but not limited to, geographic location and demographic location. For example, one MDG may include stores near a beach whereas another MDG may include stores near a sporting event venue (e.g., football stadium). The computer may identify a season and an item associated with the season (i.e., a seasonal item). Based on the season and the seasonal item, the computer may generate initial forecasts of the seasonal item at the store level. That is, each store within an MDG may have an initial forecast of the seasonal item. Accordingly, the computer may generate projected store sales of the seasonal item based on the initial forecasts. Upon generating the projected store sales, the computer may generate projected store orders to meet the demand of the seasonal items at the stores. The projected store sales may be based on, but not limited to, promotional forecast, location forecast, and regular sales forecast. Further, the computer may aggregate the projected store orders to produce an aggregate projected store order at the MDG level. That is, the computer may combine the projected store orders from the stores associated with one of the plurality the MDGs to generate the aggregate projected store order for that particular MDG. Based on the aggregate projected store order, the computer may generate a distribution center order at the replenishment level so that the distribution center may order the seasonal item accordingly.
Referring toFIG. 1, asystem100 for forecasting demand of an item includes a distribution center (DC)110 and a plurality of market demand groups (MDG)120, generally shown as123,125, and127. Each of the plurality of MDGs120 may include a plurality of stores, generally shown as130,150, and170. For example, MDG (A)123 may include STORE (1)132, STORE (2)134, and STORE (3)136; MDG (B)125 may include STORE (4)152, STORE (5)154, and STORE (3)156; and MDG (C)127 may include STORE (7)172, STORE (8)174, and STORE (9)176. The plurality of MDGs120 may be customized based on a variety of parameters and different categories such as, but not limited to, demographic and geographic location. For example, MDG (A)123 may include stores in urban areas whereas MDG (B)125 may include stores in rural areas. In another example, MDG (C)127 may include stores near a beach or a sporting event venue (e.g., a football stadium and a basketball/hockey arena).
TheDC110 and the plurality of MDGs120 may be operatively coupled to acentral computer200 as shown inFIG. 2. In particular, thecentral computer200 includes aprocessor210 and amemory220. Theprocessor210 is operatively coupled to thememory220, which stores a program or a set of operating instructions for theprocessor220. Theprocessor220 executes the program or the set of operating instructions such that thecomputer200 operates as described herein. The program of the set of operating instructions may be embodied in thememory220, which may be a computer-readable medium such as, but not limited to, a hard disk, a floppy disk, a memory card, a memory stick, a compact disc, a digital versatile disc, a magnetic memory, a read only memory, an erasable programmable read only memory, a random access memory, a magnetic memory, and an optical memory. Alternatively, thecomputer200 and thememory220 may be configured as multiple components rather than a single (e.g., integral or unitary) component. For example, thememory220 may be a separate database, which is operatively coupled to theprocessor210 of thecomputer200.
One possible implementation of the computer program executed by the computer200 (e.g., via the processor220) is illustrated inFIG. 3. Persons of ordinary skill in the art will appreciate that the computer program can be implemented in any of many different ways utilizing any of many different programming codes stored on any of many computer-readable mediums such as a volatile or nonvolatile memory or other mass storage device (e.g., a floppy disk, a compact disc (CD), and a digital versatile disc (DVD)). Thus, although a particular order of steps is illustrated inFIG. 3, persons of ordinary skill in the art will appreciate that these steps can be performed in other temporal sequences. Again, theflow chart300 is merely provided as an example of one way to program thecomputer200 to forecast demand of an item for thesystem100 shown inFIG. 1. Theflow chart300 may begin atstep310 in which thecomputer200 may identify a season and an item associated with the season (i.e., a seasonal item). The season may be associated with, but not limited to, a holiday (e.g., Halloween, Thanksgiving, Christmas, Hanukkah, New Year's Day) and a period of time of the year (e.g., fall, winter, spring, and summer). Based on consumer demand during a reoccurring season, order for the seasonal item may be better managed. Thecomputer200 atstep320 may generate initial forecasts of the seasonal item identified atstep310 for each store (i.e., at the store level) within a group (e.g., one of the plurality of MDGs120). For example, thecomputer200 may use several input data to generate an aggregate regular sales forecast, which in turn, is used to generate an indexed store sales forecast forweek 1 and an allocated store sales forecast forweeks 1 through 52 as described in further detail below.
Based on the initial forecasts, thecomputer200 atsteps330 and340 may generate projected store sales and projected store orders, respectively, for each of the plurality ofstores130. The projected store sales may indicate the number of units of the seasonal item to meet consumer demand, and the projected store orders may indicate the number of units of the seasonal item needed to satisfy that demand. Next, atstep350, thecomputer200 may aggregate the projected store orders to produce an aggregate projected store order. Here, the projected store sales and the projected store orders may be integrated together and then aggregated to the group level (i.e., for the plurality of MDGs120). Accordingly, thecomputer200 atstep360 may generate a DC order for the DC110 (i.e., the replenishment level) based on the aggregate projected store order. Each of the steps mentioned above are described in detail below.
Although the embodiments disclosed herein are particularly well suited for use on a weekly basis, persons of ordinary skill in the art will readily appreciate that the teachings of this disclosure are in no way limited to such an interval of time. On the contrary, persons of ordinary skill in the art will readily appreciate that the teachings of this disclosure can be employed with other intervals of time such as, but not limited to, a daily basis, a biweekly basis, a monthly basis, a quarterly basis, a semi-annually basis, and an annually basis.
Identifying the season and the item associated with the season atstep310 involves identifying an item that demonstrate changes in consumer demand based on reoccurring seasons. For example, sales of sunscreen, beach chairs, and/or bottled water may peak during the summer whereas sales of flu and cough/cold medicine may significantly increase in the winter. During weekends in a football season, as another example, stores located near a football stadium may sell more beverages because of tailgaters than during the off-season. To illustrate this concept, a plurality of groups of stores (e.g., the plurality of MDGs120) may be generated atstep410 shown inFIG. 4. That is, stores may be grouped together so that demand for a particular item may be determined. In particular, stores may be classified as a group based on, but not limited to, geographic and demographic locations. For example, MDG (A)123 may include stores near a beach whereas MDG (B)125 may include stores near a sporting event venue such as, but not limited to, a football stadium and a basketball/hockey arena. Atstep420, thecomputer200 may collect sales data associated with an item from each store within a group. Following the example above, thecomputer200 may collect sales data for beach chairs from each store within the MDG (A)123. Upon collecting sales data, the seasonal attribute of the item may be determined based on the sales data atstep430. In particular, thecomputer200 may generate a seasonal score for the item based on information associated with an identified season such as, but not limited to, duration of the identified season, and sales of the item during the identified season. Based on its seasonal attribute, the item may be included in a list of critical seasonal items generated atstep440. For example, thecomputer200 may compare the seasonal score for the item and a predetermined seasonality threshold. If the seasonal score for the item exceeds the predetermined seasonality threshold then the item may be added to the list of critical seasonal items. Accordingly, thecomputer200 atstep450 may generate a target inventory for each item on the list of critical seasonal items. Here, thecomputer200 may adjust the inventory for the seasonal items to meet consumer demand.
Referring toFIG. 5, a basic flow of generating initial forecasts atstep320 inFIG. 3 is shown. That is, an initial forecast of the seasonal item for each store within the group may be generated (i.e., for the store level). In particular, thecomputer200 atstep510 may collect input data such as, but not limited, weekly sales and billings information of each store within the group. Atstep520, thecomputer200 may generate a sales baseline for each store within the group based on the input data. That is, thecomputer200 may determine the average sales of each store without considering additional orders for promotional and/or local events. Based on the sales baseline for each store within the group, thecomputer200 atstep530 may generate an aggregate regular sales forecast for the group as a whole during a forecast period. For example, thecomputer200 may be collect input data of STORE (4)152, STORE (5)154, and STORE (6)156 to generate a sales baseline for each of STORE (4)152, STORE (5)154, and STORE (6)156, which in turn, are used to generate an aggregate regular sales forecast for the MDG (B)125. The forecast period may be, but is not limited to, a predetermined number of weeks. For example, thecomputer200 may generate an aggregate regular sales forecast for a 52-week period. Further, thecomputer200 may adjust the aggregate regular sales forecast in response to, but not limited to, opening of a new store, closing of an existing store, relocation of an existing store, and shift of a store to a new MDG. Accordingly, thecomputer200 atstep540 may generate an aggregate regular sales index representing an expected rate of change between the aggregate regular sales forecast during a particular interval within the forecast period and the actual sales during a preceding interval within the forecast period. For example, the aggregate regular sales index may represent the expected rate of change between the aggregate regular sales for week 1 (i.e., the particular interval) and the actual sales for week 0 (i.e., the preceding interval). Upon generating the aggregate regular sales index for the group as whole, thecomputer200 atstep550 may generate a store regular sales forecast for each store within the group. That is, the store regular sales forecast may be allocated back down to the store level based on the aggregate regular sales index from the group level so each store within the group may have an initial sales forecast of the seasonal item. Following the above example, each of STORE (4)152, STORE (5)154, and STORE (6)156 may have an initial sales forecast.
Based on the initial sales forecast as described above, thecomputer200 may generate projected store sales of the seasonal item at the stores within the group as shown inFIG. 6. In particular, projected store sales may indicate how many unit(s) of the seasonal item that a store may sell. However, the projected store sales at each store may vary because the projected store sales may depend on, but not limited to, a promotional event forecast, a local event forecast, and a regular sales forecast. To determine the projected store sales at each store within the group, thecomputer200 atstep610 may determine status of the seasonal item, which may be, re-orderable or discontinued. That is, thecomputer200 may not determine the projected store sales of an item that is discontinued. Because a store cannot order a fraction of one unit (i.e., need to order a whole unit of the seasonal item), thecomputer200 atstep620 may convert a fractional portion of the store regular sales forecast to a whole unit by rounding up or down. To illustrate this concept, a probability method may be used to determine whether to round up or to round down. If the store regular sales forecast as generated atstep550 inFIG. 5 is not a whole number, thecomputer200 may generate a random number between zero (0) and one (1). If the store regular sales forecast is less than or equal to the fractional portion of the store regular sales forecast then the round the store regular sales forecast up to the nearest whole unit. Otherwise, round the store regular sales forecast down to the nearest whole unit (i.e., the random number is greater than the fractional portion of the store regular sales forecast). For example, the random number may be 0.4. If the store regular sales forecast is 0.6 units then round the store regular sales forecast up to 1 whole unit. If the store regular sales forecast is 3.3 then round the store regular sales forecast down to 3 whole units. Atstep630, thecomputer200 may determine whether there will be a promotional event such as, but not limited to, an annual sale and a weekend special. An example of a promotional event may be a sale on greeting cards each December. If so, thecomputer200 atstep635 may account for the promotional event forecast and then proceed to step640 as described in detail below. The promotional event forecast may indicate the quantity needed to satisfy the demand because of a promotional event. Otherwise, thecomputer200 may proceed directly to step640 to determine whether there is a local event such as, but not limited to, a sporting event (e.g., the Super Bowl). If there is a local event, thecomputer200 atstep645 may account for the local event forecast and then proceed to step650 as described below. The local event forecast may indicate the quantity needed to satisfy the demand because of a local event. However, if thecomputer200 atstep640 determines that there is no local event then thecomputer200 may proceed directly to step650 to account for the regular sales forecast to generate the projected store sales of the seasonal item for each store.
Based on the projected store sales of the stores, thecomputer200 may generate projected store orders as shown inFIG. 7. In particular, thecomputer200 atstep710 may account for parameters with upcoming effective dates to determine a projected store order for each store within the group. Parameters with upcoming effective dates may include, but not limited to, opening of new stores, multiple orders, and planogram (i.e., shelf appearance) resets and revisions. Some items may be ordered in bulk, i.e., ordered only in terms a package including a particular number of units. To avoid a surplus of the item by ordering separately for each store, thecomputer200 may account for multiple orders (i.e., order from each store) by distribution. For example, STORE (1)132 may need 20 units of sunscreen, STORE (2)134 may also need 20 units, and STORE (3)136 may only need 10 units but a package of sunscreen may include 50 units. Rather than ordering three (3) separate packages of sunscreen (i.e., 150 units of sunscreen), thecomputer200 may account for the multiple orders by ordering only one package of sunscreen and distributing the 50 units within one package among the three stores. Further, thecomputer200 may also account for the seasonal item being removed from the shelf (i.e., planogram). In which case, additional inventory may not be necessary. At step720, thecomputer200 may determine status of the item. That is, a projected store order as described in detail below may be projected for a re-orderable item whereas thecomputer200 may not be able to do so for a discontinued item because theDC110 no longer have inventory for that seasonal item. If the seasonal item is re-orderable, thecomputer200 atstep730 may determine whether next week has a promotional event. If there is a promotional event next week, thecomputer200 atstep740 may determine the total available quantity for the current week by adding open orders to the beginning on-hand quantity of an item. Open orders may indicate the quantity yet to be delivered to the store whereas the beginning on-hand quantity may indicate the quantity already in the store (e.g., inventory physically on the shelves). Atstep750, thecomputer200 may calculate total promotional sales forecast for next week's promotional event so that inventory may be ordered and be available before the promotional event. Based on the total available quantity for the current week and the total promotional sales forecast for next week, thecomputer200 atstep760 may determine the additional inventory needed to ensure that the store may be fully supplied to cover the demand of the promotional event. That is, thecomputer200 may subtract next week's total promotional sales forecast from the total available quantity for the current week to determine the quantity needed to meet the demand of the promotional event. Atstep770, thecomputer200 may generate a special store order (i.e., an ad bulletin),to satisfy the additional units needed to meet the demand during the promotional event. Because all of the units ordered for the promotional event may not be sold, thecomputer200 atstep780 may determine a suggested regular store order based on need (i.e., the inventory on-hand at the store) so that the store inventory may return to the target inventory level after the promotional event. Upon generating the suggested regular store order, thecomputer200 atstep790 may generate special store orders (i.e., ad bulletins) and regular store orders for an interval of the forecast period so that the store inventory may be brought down to the target inventory level. For example, thecomputer200 may project out the special store orders and the regular store orders for 13 weeks to avoid a surplus of the seasonal item from outstanding on-orders (i.e., placed but undelivered orders). As noted above, the embodiments may be described in terms of weeks for illustrative purposes. Persons of ordinary skill in the art will appreciate that the teachings of this disclosure may operate in terms of other forecast periods.
Referring back to step730, if there is no promotional event the next week then thecomputer200 may proceed directly to step780 as described above, and then proceed to step790. Accordingly, thecomputer200 may simply generate projected regular store orders of the seasonal item from the stores within the group.
The regular projected store orders and the regular projected store sales of the stores within the group may be integrated together to generate an aggregate projected store order as shown inFIG. 8. That is, the projected store orders may be “rolled-up” from the store level to the group level (e.g., the MDG level). In particular, the projected store orders may be adjusted atstep810 as stores close and open. For example, the special and regular projected store orders for each store identified for closing may not be included in the aggregate projected store order for the MDG. In contrast, the special and regular projected store orders for existing stores and new stores may be incorporated into the aggregate projected store order for the MDG. Atstep820, thecomputer200 may determine an adjustment factor to account for lost inventory such as, but not limited to, damaged units and stolen units. Accordingly, thecomputer200 atstep830 may apply the adjustment factor to the projected store orders to compensate for lost inventory. Atstep840, the adjusted projected store orders fromstep830 may be combined with regular projected store sales forecast to generate the final projected store orders. Based on the final projected store orders, thecomputer200 atstep850 may generate the aggregate projected store order for the seasonal item to the group level (e.g., the MDG level). For example, the special and regular projected store orders for each store associated with MDG (B)125 may be aggregated each week. Alternatively, the projected store orders may be aggregated to a custom seasonal store group level. For example, STORE (2)134, STORE (5)154, and STORE (8)164 may be grouped together as a custom seasonal store group.
Referring back toFIG. 3, thecomputer200 atstep360 may manage exceptions and generate a DC order. In particular, thecomputer200 atstep910 inFIG. 9 may aggregate the forecasts (i.e., the regular projected store orders and the special projected store orders) from the group level to the replenishment level. At step915, thecomputer200 may generate the DC order for theDC110. For example, thecomputer200 may combine all the projected store orders from MDG (A)123, MDG (B)125, and MDG (C)127 to generate the DC order for theDC110, which in turn, may order the seasonal item accordingly.
Atstep930, thecomputer200 may determine critical exceptions (i.e., data anomalies caused by unusual factors and/or events). For example, projected store sales and projected store orders may be affected by a non-planned promotion because of, but not limited to, a hurricane. Accordingly, thecomputer200 atstep940 may determine whether a forecast under is based on sales. If the forecast is based on sales, then thecomputer200 may proceed to step950 to determine whether to adjust the projected store orders (i.e., regular projected store orders and/or special projected store orders from the stores within the group). Otherwise, thecomputer200 at step960 may adjust the regular sales forecasts based on the critical exceptions. Accordingly, thecomputer200 atstep970 may recalculate the regular sales forecasts for generating the initial forecasts atstep320.
Although the embodiments disclosed herein are particularly well suited to forecasting demand based on seasons, persons of ordinary skill in the art will readily appreciate that the teachings of this disclosure are in no way limited to such forecasts. On the contrary, persons of ordinary skill in the art will readily appreciate that the teachings of this disclosure can be employed with other trends.
Many changes and modifications to the embodiments described herein could be made. The scope of some changes is discussed above. The scope of others will become apparent from the appended claims.