Abstract:
A product-demand production-control system and method stores past-product demand data during past time periods for use with other data to compute product demands in such manner that the past-product demand data is used to estimate the product demands in current and near-future time periods. The system measures and stores the product demand data for a plurality of predetermined time periods and a plurality of products, and preestimates the product demand for a plurality of products for near-future time periods. Product-demand estimates for current and near-future time periods are revised for a plurality of products in response to weighted emphasis or confidence regarding product demand data in time periods just prior to the current time period.

Description:
RELATED APPLICATIONS 
     This is a continuation of co-pending application Ser. No. 07/808,982 filed on Dec. 17, 1991, now abandoned, which is a continuation of co-pending application Ser. No. 07/406,069 filed on Sep. 12, 1989, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     FIELD OF INVENTION 
     This invention relates to an improved system for the analysis and prediction of product demand. 
     For more efficient product planning in a retail environment given a plurality of products of short shelf life, a tendency exists toward resorting to production plans that are calculated on an infrequent basis. This basis is often daily at best and more often is based on an average for a given day of the week. This results in excessive product and waste or not enough product to meet customer demand. To expect a human being to calculate product demand on a more frequent basis such as hourly or every fifteen minutes would be impractical if not impossible. 
     In addition to the impracticality of computing product demand manually on a more frequent basis is the complexity introduced by different demand patterns for each day of the week and seasonality during the year. Customer foot traffic and product preferences are unique to each day of the week. These traffic patterns and preferences are further complicated by seasonality trends week by week throughout the year. Accommodating this level of complexity requires a unique solution to store the past-product demand by seasonality, day of the week, and time period during the day, for each of a plurality of products. 
     Another difficulty encountered once the past-product demand has been stored is the ability to deal with incomplete data from current time periods and to compare trends in just-completed time periods against preestimated demand in the same time periods in order to adjust near-future time periods accurately and with confidence. One method for making such comparisons and projections on other near-future periods is to take a simple positive or negative percentage of the trend of just-completed periods against preestimated periods and apply it to the remaining preestimated near future periods for the day. This method is unreliable given the many anomalies that can occur, for example, when a bus load of people arrives or an unusually large order is placed. 
     SUMMARY OF THE INVENTION 
     It is therefore an object of the present invention to obviate the above mentioned drawbacks of the prior-art systems and to provide a system and method for analyzing product demand which incorporates tracking of past-product demand for a plurality of products, time intervals during the day, and other factors, and which introduces a confidence factor into product trends. Accordingly, more appropriate and accurate pre-estimation of future-product demand can be made. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block schematic diagram of a workstation for estimating production in accordance with the present invention; 
     FIG. 2 is a data flow diagram showing the data used and stored during the update of past-product demand; 
     FIG. 3 is a flow chart of the process steps taken to post recent actual demand to the past-product demand curve; 
     FIG. 4 is a data flow diagram showing the data used and stored during the pre-estimating of product demand for near-future periods; 
     FIG. 5(comprised of 5A and 5B) is a flow chart of the process steps taken to pre-estimate product demand; 
     FIG. 6(comprised of 6A and 6B) is a flow chart of the process steps taken to monitor and revise near-future period product demand based on recent past periods of actual demand compared with the pre-estimate of the same recent past periods; and 
     FIG. 7 is a time chart illustrating operation of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring now to FIG. 1, there is shown a block schematic diagram of a workstation configured in accordance with one embodiment of the present invention to provide improved production scheduling for a plurality of products. Central processing unit (CPU) 11 is connected to control the display device 13 in response to inputs supplied to the CPU 11 via the user&#39;s manipulation of the keyboard 15, or via other inputs supplied through a conventional network interface 29 (e.g., modem, bar-code readers, standard network bus, and the like). The CPU 11 accesses memory 18 which contains information that is supplied via the keyboard 15 or the network 29 (e.g., RS232 bus connection to a point-of-sale terminal), or is transferred thereto in conventional manner from mass storage medium 27. The memory contains instructions 19 for executing routines on information that is stored in several files 17 according to the present invention. The memory also includes main menu functions 23 and buffer storage or interactive display control 25 for synchronously displaying lines of data bits on display device 13 in conventional manner. Permanent records and periodic reports of product data may be plotted or printed out 31 under control of the CPU 11. 
     In accordance with the present invention, several files of information in data base 17 are gathered and stored regarding past demands for each of a plurality of products (e.g., cookies, buns, rolls, etc.) in each of a plurality of time periods (e.g., quarter-hour intervals per day). In addition, the data base 17 includes a product-planning master file, product planning frequency tables, rules calculation file, look-up table, a master file of demand-curve models, a master file of day types (e.g., Thanksgiving, Saturday, Superbowl day, etc.), a sales day file, a sales time file, a daily business summary file, an inventory details file, a cross-reference file, product planning work file, and location configuration file (e.g., number and types of ovens, mixers, counter area, etc.), all as more specifically described later herein. Files in the database 17 are accessed and modified under control of the CPU 11 in response to production planning routines 19 such as past demand update, product-demand pre-estimation, actual demand monitoring, and the like, as described later herein, for controlling the display on display device 13 of directions to a user for preparing specified quantities of individual products at prescribed time periods throughout the day. 
     Referring now to FIG. 2, there is shown a block schematic diagram of a system that operates to update past-product demand data. The process 10 of updating the product demand is described in FIG. 3. The demand-curve master file 14 defines each demand curve that will be tracked within each day type. Demand curves can represent total sales, department sales, individual product item sales, or counts of any kind. For example, as many as 999 individual demand curves can be defined. The past-product demand curve 16 is a file that is used to project near-future demand for products. The inventory detail transaction file 20 contains past inventory transactions such as receivers, transfers, waste, and on-hand. This detail can be used to update the past-product demand curve 16. The daily business summary file 22 contains daily historical actual product sales or production detail which also can be used to update the past product demand curve 16. The cross-reference file 24 operates between the products demand-curve master file 14 and the daily product business summary file 22, and allows for a single product demand curve to be updated by more than one daily product business summary. The sales-time file 26 contains past actual data by time period during the day for total sales, department sales, individual product sales, or counts of any kind. The sales-day file 28 contains the day-type indicator of the recent past actual data to determine which past-product demand curve 16 to update. The day-type master file 30 defines the day-type models (e.g., Saturdays, Thanksgiving, Superbowl day, and the like) that are available to track in the system of the present invention. The file descriptions are set forth in the attached Appendix. 
     Referring now to FIG. 3, there is shown a flow chart of the past-product demand routine. An unposted past demand day is determined by reading 32 the sales-day file 28 and finding an unposted day. The day-type model is retrieved 33 from the past-product demand curve 16 and the day-type master record is retrieved from the day-type master file 30. Next, the first demand curve product, or item, is retrieved 35 from the demand curve master file 14. The demand-curve master file 14 contains information regarding which recent-past actual data should be used and how it should be applied to the past-product demand curve 16. Recent-past actual data that can be accessed includes sales time file, daily product business summary, and inventory detail. Recent-past actual data is retrieved 37 from the sales time file 26 for developing a current-demand curve. The past-product demand curve 16 is retrieved 39, and the recent-past actual data is applied 41 to the past-product demand curve in accordance with the weighed percentage from the demand-curve master file 14. The updated past-product demand curve is re-written 43 to the past product demand file (SLSCUR) 16, and the day is marked 45 as posted (SLSDAY). For each demand-curve product or item in the master file 14, steps 35 through 43 are repeated. For each unposted past demand day, steps 32 through 45 are repeated. 
     FIGS. 4 and 5 illustrate the data stored and the manipulation of that data to pre-estimate product demand for near-future periods from past-product demand. FIG. 4 illustrates the flow of data in the process of pre-estimating the product demand. The process 38 of pre-estimating the product demand is described with reference to FIG. 5. The past-product demand curve file 14 and the sales day file 28 supply data for the process 38. The sales-day file 28 contains the day-type indicator of the near-future day to determine which past-product demand curve to use when pre-estimating product demand. The product planning master file 40 defines each individual product that must be planned and information as to how and when it should be planned. It also indicates which past-product demand curve is used with this planning estimation for this product. The product-planning frequency table #1 42 defines the frequency and what time of day a product should be produced. The product-planning frequency table #2 44 defines in more detail the frequency and time of day a product should be produced. 
     The process 46 of applying the rules to the past-product demand curve and daily sales projections to determine the pre-estimated product demand is described at step 57 in FIG. 5. The rule calculations file 48 contains information specific to the location and can be accessed by the calculation logic in the rule calculations file 48. The look-up table file 50 contains user-defined set of values or standards in table format that can be accessed by the calculation logic in the rule calculations file 48. Such user-defined values or standards may include minimum on-hand inventory counts, and minimum percentages of total sales to be of specified products, and the like. The product planning work file 51 is used to store pre-estimated product demand and revised product demand, as shown in the file descriptions in the attached Appendix. 
     Referring now to FIG. 5, there is shown a flow chart illustrating the process used to pre-estimate the near-future product demand. The first day to pre-estimate is selected 52, and the estimated total demand, or sales, and the day-type model for the day are retrieved 53 from the daily sales file (SLSDAY) 28. The first product planning item is retrieved 54 from the product-planning master file (DPPMST) 40. The past-product demand curve 16 for the product planning item is retrieved 55, and the number of planning cycles is determined 56 from the product-planning master file 40 and frequency tables 42 and 44. For each planning cycle 58, the rule calculations for the planning item are executed 57. The rule calculations accumulates, for the duration of the planning cycle, the past-product demand from the past product demand curve 16 for the corresponding duration of the planning cycle and represents it as a percent of past total demand. This percent will then be applied against the current daily estimated total demand to generate the near-future product demand for the planning cycle. Once this calculation has been performed, then all other rule calculations will be applied. Other rule calculations may include, for example, location-specific values (e.g., limited by the number of ovens, etc.), look-up table values, and embedded constants and calculations. For each planning cycle, steps 57 and 58 are repeated. Once all cycles for a product planning item are calculated, the pre-estimated product demand is written 61 to the pre-estimated product work file (DPPWRK) 51. For each product planning item, steps 54 through 61 are repeated. Once pre-estimating is complete for all products, control is returned to monitoring 63 the actual demand, as illustrated in the flow chart of FIG. 6. 
     Referring now to FIG. 6, there is shown a flow chart illustrating the process of monitoring actual demand against pre-estimated demand and revising near future-periods to reflect detected variations. The first demand period (e.g., a specific day) is selected for monitoring 65, and for each demand period, a product with a cycle that falls in that demand period is selected 67. The pre-estimated demand for the product and cycle is retrieved 69 from the pre-estimated product demand work file 51. The actual demand for this product and cycle is retrieved 71 from the sales-time file 26. The percent complete of total demand for the recent past periods is calculated 73 through the current period. The percent up or down of the product item of recent past actual demand vs. corresponding recent past pre-estimated demand is calculated 75 through the current period. The particular revision logic 79 to execute is determined 77 based upon the up or down percentage of the product determined in step 75. There are upper and lower threshold limits and a growth factor defined in the location file 49. Thus, if the percent up or down of any product exceeds the upper limit, then all remaining demand periods will be revised up by the same percentage. If the percent up or down of any product is between the upper and lower limit and the up or down percentage is positive, then no revision is performed. If the percent up or down of any product is between the upper and lower limit and the up or down percent is negative then the difference between the recent past pre-estimated demand and the corresponding actual demand through the current demand period is multiplied by the reciprocal of the percent complete of total demand determined in step 73. This value is then distributed over the remaining demand periods of the day in proportion to the pre-estimated demand for the remaining periods. If the percent up or down is below the lower limit, then all remaining demand periods will be revised down the same percentage and then revised back up by the growth factor. Steps 67 through 79 are repeated for each planning cycle that occurs within this demand period. For each remaining demand period, steps 65 through 82 are repeated. All revised product demands are displayed 83 and retained until the completion of the next demand period. 
     Referring now to FIG. 7, there is shown a chart of the time periods involved in operation of the present invention. Within a given day, actual data 90 regarding product sales accumulated in the recent past period 91 and in the current period 93 are used to develop a confidence factor which is then applied to the estimate of product sales in the near-future period 95 to revise the estimate 97 from the pre-estimated demand 99 for the corresponding periods, where the pre-estimated demand for products was prepared as previously described. 
     
                       APPENDIX______________________________________FILE DESCRIPTIONS-PRODUCTION PLANNERSTART  END     LENGTH    DESCRIPTION______________________________________DPPWRK.DDF - Work Time FileFile Length = 406 file51              6      ki   Production Date7              3      ki   Production Planning Item10             2      ki   Display Group Key12             6      k2   Sales Date (delete on)18             192         quantities for date (Stored as                      integer-2bytes)210            192         quantity on hand402            5           FillerDPPMST.DDF - Production Planning Master FileFile Length = 80 file21              3      ki   Planning item number (don&#39;t have                      to be sequential but program will                      order sequentially)4              2      k2ki Display Group Key6              1      k3   Production Group type(0-9)                      (DPPCUR)                      0-Sales                      1-Check Count                      2-Customer Count                      3 to 9-reserved7              1      k3   Production Sub Group Key                      0-Total                      1-Dept (function of sales)                      2-PLU (function of sales)                      3-Other                      0-Total Check Count                      1-Check Count1 (function of                      Total Check Count)                      2-Check Count2 (function of                      Total Check Count)                      0-Total Customer count                      1-Customer 1 (Not a function of                      Total Cust. Count, but a function                      of the total amount within this                      particular record)                      2-Customer 2 (Not a function of                      Total Cust. Count, but a function                      of the total amount within this                      particular record)                      eg:                      total: 450 .12 .20 .05                      cust1: 120 .25 .20 .30                      The percentages under cust1                      relate to cust1&#39;s total amount. So,                      to figure out the projected                      customers from this history:                      proj. customers * proj sales *                      Hist cust(120)/hist sales                      This contrasts the 0,1 groups                      which actually use the value 450                      instead of 120 within this formula.8              4      k3   PLU number or Dept. no. or . . .                      key (DPPCUR)12             8           Description 120             17          Description 237             1           Day/Period/Frequency (D,P,F)38             1           Day Count39             1           Relative to O,C,N (open, close                      noun)40             2           Offset in periods (+-)42             1           Production Display Flag (says                      this item is displayed on quantity)43             2           Prep Time (whole periods)45             4           Plan Window (periods or partial                      periods)49             5           Time (A description field that                      describes time Rules)53             5           Temperature (a description field                      that describes temperature Rules)58             4           Unit Description (main screen)62             3           Calculation Record No.63             2           Minimum amount of product on                      hand67             1           On hand flag68             1           Sales flag69             1           Revise flag70             10          FillerDPPFRQ2.DDF - Frequency Table for Production PlanningFile Length = 30 file91              3      k1   Planning Item Number4              2      k1   Sequence number of plan6              1           Relative to O,C,N (open, close,                      noun)7              2           Offset (+-)9              4           Planning window (override)13             4           Prep time (override)17             3           Calculation Record No. -                      (override)20             11          FillerDPPFRQ1.DDF - Frequency Code Lookup FileFile Length = 20 file141              3      k1   Planning item No.4              4      k1   Open time (military time)8              4      k1   Close time (military time)12             3           Frequency Code15             6           FillerSYSDAY.DDF - Season/Day Type FileFile Length = 50 file101              2      k1   Season3              2      k2   Display key5              20          Description25             4           Open Time (military time)29             4           Close Time (military time)33             8           FillerDPPLOOK.DDF - Lookup TableFile Length = 30 file111              8      k1   Key (alpha)9              10     k1   Sent Value19             10          Return Value29             2           FillerDPPCAL.DDF - Calculation FileFile Length = 54 file121              3      k1   Key (numeric)4              51          Value  Used in Value:            T1-total projected sales            T2-planning window sales            D1-total projected department            sales            C[key]-another calculation            record            K1-total projected check count            P[value,key]-look up table            V[plan item no.]-other plans            items in wrktim            S[key]-value in STMS record            with key integer and real values            operandsSTMS.DDF - STORE MASTER FILE file11       3      3      k1   Key4      23      20          Description24     60      37          FieldPPH - Periods per hourposition 1-3: The number of periods per hour.DDP - Production Planner Flags   1    2    31234567890123456789012345678901234567M 2 6 51010 317 2position 1:     M means manual input (not from cash register     interface)position 2-3:     daycount (the number of days to project for)position 4-6:     maximum pages on production scheduleposition 7-9:     The maximum number of frequency planning     itemsposition 10-11:     The percent upposition 12-13:     The percent downposition 14-15:     The percent growth rateposition 16-17:     The maximum hours that the store will be openposition 18-19:     The maximum time you can increase sales by     (double, triple, 4 times, . . .)SLSDAY.DDF - Product day sales fileFile Length = 500 file3programs: production planner, cash sheet . . .1              6      k1   Date7              2      k2   Season9              1           Completed flag                      0-Nothing entered                      1-Projected                      2-Completed                      3-SLSCUR Updated                      4-Incomplete SLSTIM Data10             1           Transmission Flag                      0-Not transmitted                      1-Transmitted11             1           Cash Balance Flag                      0-Not balanced                      1-Balanced12             2           Number of Missed Sales                      Readings14             9           Flag Filler23             10          Projected Sales33             10          2nd Projected Sales43             8           Projected Std Food Cost51             6           Transmission Date57             4           Transmission Time61             2           Current Period63             10          Actual Sales73             8           Actual Std Food Cost81             10          Last Year Actual Sales91             5           Customer Count96             5           Customer Check Count101            10          Permanent Operational Budget111            5           Projected Staff Hours116            5           Projected Manager Hours121            5           Projected Asst Manager Hours126            5           Projected 1st Training Hours131            5           Projected 2nd Training Hours136            5           Overtime Hours (Staff)141            5           Filler146            5           Actual Staff Hours151            5           Actual Manager Hours156            5           Actual Asst Manager Hours161            5           Actual 1st Training Hours166            5           Actual 2nd Training Hours171            10          Filler181            10          Area 1 - Total Receipts191            10          Area 2 - Non Cash Tender201            10          Area 3 - Total Cash (Deposits)211            10          Area 4 - Net Sales221            10          Area 5 - Cash Over/Short231            10          Cash Sheet Field 1-Coupons241            10          Cash Sheet Field 2-Corporate                      Accounts251            10          Cash Sheet Field 3-Corp                      Account out of Balance261            10          Cash Sheet Field 4-On Account                      Total271            10          Cash Sheet Field 5-Gift                      Certificates Redeemed281            10          Cash Sheet Field 6-Paid Outs291            10          Cash Sheet Field 7-Promotions301            10          Cash Sheet Field 8-Filler311            10          Cash Sheet Field 9-Filler321            80          FillerSLSTIMDDF - Product Period Sales File - this file is loaded bysales registerFile Length = 420 file4programs : production planner1              6      k1   Date7              1      k1   Production Group type (0-9)                      (DPPCUR)                      0-Sales                      1-Check Count                      2-Customer Count                      3 to 9 - reserved8              1      k1   Production Sub Group Key                      0-Total sales                      1-Dept (function of sales)                      2-PLU (function of sales)                      3-Other (function of sales)                      0-Total check counts                      1-Check count1                      2-Check count29              4      k1   Production Key (plu# or dpt#)13             10          Total Sales23             5           Total Quantity28             192         Actual sales220            192         Quantity412            9           FillerSLSCUR.DDF - Curve FileFile Length = 210 file8programs : production planner1              2      k1   Season3              1      k1   Production Group type (0-9)                      (DPPCUR)                      0-Sales                      1-Check count                      2-Customer Count                      3 to 9-reserved4              1      k1   Production Sub Group Key                      0-Total sales                      1-Dept (function of sales)                      2-PLU (function of sales)                      3-Other (function of sales)                      0-Total Check Count                      1-Check Count1 (function of                      Total Check Count)                      2-Check Count2 (function of                      Total Check Count)                      0-Total customer count                      1-Customer 1                      2-Customer 25              4      k1   Production Key (plu# or dpt#                      or inventory# or other#)9              10          Total value19             192         Curve Values (if percentage then                      2 digit implied decimal. 1% is                      100%, 99% is 9900% then instead                      of dividing by 100 divide by                      10000.        eg: 100 planning items and 96            periods.            Total Sales: &#34;0&#34; + &#34;0&#34; + &#34;0&#34;            Dept sales: &#34;0&#34; +  &#34;1&#34; + dpt#            PLU sales: &#34;0&#34; + &#34;2&#34; + plu#            Total Customer Cnt : &#34;1&#34; +            &#34;0&#34; + cust key            Customer cnt 1: &#34;1&#34; +            &#34;1&#34; + cust key            Customer cnt 2: &#34;1&#34; +            &#34;2&#34; + cust key______________________________________