24
San Francisco Soup Company: Final Report: Forecasting Demand and Optimizing Preparation Time Fall 2014 Prepared by Team IEORganizers: Travis Dunlop Shir Nehama Jeyda Kaynatma Alex Turney Courtney Chow

San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

San Francisco Soup Company:

Final Report: Forecasting Demand and Optimizing Preparation Time

Fall 2014

Prepared by Team IEORganizers: Travis Dunlop Shir Nehama

Jeyda Kaynatma Alex Turney

Courtney Chow

Page 2: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  2  

Table of Contents:

Page Number

I. Executive Summary……………………………………. 3

II. Introduction…………………………………………… 3

III. Problem Statement………………………………........ 4

IV. Problem Analysis and Solutions……………………... 4

A. Demand Forecasting………………………….. 4

B. Preparation Analysis……………………......... 6

V. Interface………………………………………………... 10

VI. Sources of Error…………………………………........ 11

VII. Conclusions………………………………………....... 12

VIII. Appendix…………………………………………... 13

Page 3: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  3  

I. Executive Summary Our group, the IEORganizers, have been working closely with Chief Operating Officer of SF

Soup Company, Clayton Chan, as well as the two District Managers, Thomas Taylor and James Tomasulo. After evaluating the needs and problem areas for the company, we narrowed our project to focus on two aspects of SF Soup Co.’s business: demand forecasting and preparation/labor analysis. Throughout the semester, we cycled through a process of defining the problem, constructing an approach, collecting necessary data, performing analysis, and evaluating our results.

The first problem we addressed in the project was demand forecasting for three categories of products: soups, sandwiches, and salads. After examining the historical sales data from the company, weather data, and other contributing factors to demand, we designed a new demand forecasting algorithm to be used by managers for store units. Specifically, we conducted analysis on data from the UC Berkeley SF Soup Company store in order to determine the best approach to forecast demand. We started by conducting linear regression on this point of sales data to determine the significant factors that determine the demand for products. We also incorporated a moving average methodology to improve our demand forecasting model. With these approaches, we were able to model the demand forecasts for different products over different seasons of sales.

Another aspect of our partnership with the SF Soup Co. was inspecting the efficiency and effectiveness of store preparation time before each store opens to customers. The amount of preparation time needed before a restaurant opens is dependent on the type of foods that specific restaurant serves, number of staffed workers, and the forecasted demand for the day. There is little knowledge that exists in the company about exactly how long it takes to do this store preparation (in terms of labor hours). As a result of this uncertainty, overstaffing and understaffing for store preparation time can lead to wasteful cost and time usage. We conducted a time motion study on all 17 units of the stores in order to collect data on the preparation time for all tasks it takes to open a store. By strategically aggregating this data among the different store units, we were able to define the “best practices” to reduce preparation times by identifying the top percentile of each preparation task time.

II. Introduction The first store of the San Francisco Soup Company was opened in San Francisco’s Financial

District in 1999. Since then, the company has grown to 17 locations and a wide range of product mixes and services. The 17 stores are located around the Bay Area with the vision to serve quality food in a fast and convenient environment. Unlike any other restaurant at the time, SF Soup Co. decided to focus the meal around the soup as the centerpiece of the lunch experience and, over the years, the restaurant has grown to include products from grab-n-go sandwiches and salads to customized salads. The SF Soup Co. restaurants vary in profile. A restaurant can either be an individual store, a third party vendor (products sold to stores/food retailers), or a catering service. Furthermore, each restaurant may have a different mix of products they sell. Each store offers some combination of soups, salads, grab and go items like sandwiches and side salads, and breakfast items (oatmeal, hard boiled eggs, parfait, etc.). For example, the Berkeley store on Bancroft and Telegraph sells soups, salads, and grab-and-go items, while one of the stores in the Financial District sells only soups and grab-and-go items. The store profiles and product mixes are strategically determined based on the store location and trends. The SF Soup Co. has a distribution center (“commissary”) where food items and produce are made, prepared, and distributed from. However, most of the preparation, such as cutting vegetables, is freshly cut in the restaurant unit. This aligns with the company’s mission to serve healthy and fresh meals to its customers.

Page 4: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  4  

III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to

determine the demand for products that will be sold throughout the day. This forecast model accounted for factors such as store location, season, day of the week, and weather and was used daily by store managers to determine the number of units of each item that need to be prepared for that day. In order to optimize the amount of units to prepare before the store opens and to most efficiently utilize employees’ time, a new forecasting model needed to be created. Given the historical demand and sales data from the company, we began to evaluate and improve upon the demand forecasting model previously being used.

The second problem we addressed with our partnership with the SF Soup Co. was regarding the efficiency of store preparation time before each store opens to customers. By conducting a time motion study and analyzing the current processes of store preparation, we were able to identify inefficiencies during a store’s preparation time. Since there was currently no measure or analysis done to determine the optimal store preparation time, this study brings insights regarding how much preparation time is needed given a store’s daily sales and, furthermore, suggests best practices for preparation based on our observations and analysis.

IV. Problem Analysis and Solution A. Demand Forecasting

A.1 Methodology Our methodology for forecasting demand of soups, salads, and sandwiches began with trying

to determine what factors affected demand the most. We first plotted units sold against time with days of the week represented in different series. Seasonality and temperature were not held constant for this analysis. From these graphs we were able to determine that both the day of the week and whether students were in school or not (seasonality) had a significant impact on sales. As a case study for this project, we focused our study on the most accessible SF Soup Co. location near UC Berkeley at Bancroft and Telegraph.

We then wanted to determine if temperature was indeed a significant factor in the demand for soups, salads, and sandwiches, as the previous model had assumed. We performed 42 regressions plotting sales versus temperature holding day of the week and seasonality constant for soups, salads, and sandwiches. The results showed that temperature is negatively correlated with soup sales when school is in session; when students are in school and the weather is cold; they are more likely to buy soup. This relation has a high R2 value indicating a strong linear fit. The reason why temperature was less linearly correlated with soup sales when students are out of school is likely because demand had more fluctuations due to uncertainties surrounding the number of students in Berkeley at the time. Temperature was positively correlated with salads and sandwiches but the R2 was much smaller. Therefore we concluded that they were not linearly correlated. We speculated that sandwich and salad sales were positively correlated due to the smaller demand of soups when temperatures were higher. Thus, we tested demand of soups versus demand of salads/sandwiches to see if there was a high enough R2to prove a correlation. However, when plotting demand of soups versus demand of salads, the R2 was 0.01483. When plotting demand of soups vs. demand of sandwiches, the R2 was 0.09260. As a result, the R2 values for both tests were too low to change our approach to forecasting.

From these preliminary results, we determined that a multiple linear regression would be appropriate for determining soup sales when school was in session, and that a moving average would most accurately forecast soup sales when school is not in session (Summer/Winter), and for salad and sandwich sales year-round (School/Summer/Winter). Because SF Soup Company sales have been reasonably stable over the past few years, we decided that there did not need to be a weight on

Page 5: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  5  

previous years data, and thus chose to use a moving average for these categories and not the exponential smoothing method. Furthermore, we split up the No School data into Summer and Winter categories. The reason behind this was that merging Summer and Winter data did not give an accurate demand forecast based on MAD evaluation. During Winter, students usually go home/vacation, and there are less people around campus and the restaurant. During the Summer, students attend summer school, go to school orientations, and have internships and there are therefore more students/people around the restaurant, and demand in the Summer (No School) is greater than demand in the Winter (No School). Separating Summer and Winter within the No School category will make our demand forecasting results more accurate (with smaller MAD).

A.2 Results and Analysis Based on our analysis of the 42 simple linear regressions based on different days of the week,

season, and product, we decided to create different models for each category of product. Originally, our team was going to create three multiple linear regression equations (soup, salad, sandwich) with variables: Temperature, Seasonality (School/No School), and 7 binary Day of the Week variables. We created a simple linear regression for each Units of Salads/Sandwiches/Soups Sold vs. Temperature (holding Day of the Week and School/No School constant) - see Figure 1-3 in the Appendix for our numerical results. Because the R2 was too low during the No School season, our team could not include the School/No School variable in a multiple linear regression equation. Instead, we decided to create another model for each category during the No School season. The results were as follows:

i. Soups (School): The R2 was high enough to show correlation. Here is our multiple linear regression equation:

R 0.83

R2 0.69

Adjusted R2 0.68

S 58.51

Total Number of Observations 180

Soup Units Sold 718.1239 - 7.6540 * Temperature + 110.9243 * Monday + 151.6255 * Tuesday + 125.0946 * Wednesday + 123.8945 * Thursday + 50.4227 * Friday - 51.2246 * Saturday - 13.5771 * Sunday

ii. Soups (No School: Summer/Winter), Salads (School/No School: Summer/Winter),

Sandwiches (School/No School: Summer/Winter): The R2 for each day was too low to recognize a correlation/trend for each of these categories (Figures 1-3 in the Appendix) so another model needed to be formulated. We tested out using an exponential smoothing method and a moving average method to forecast sales during this season instead. Ultimately, we used the moving average method instead of the exponential smoothing method, as SF Soup Company sales have been steady over the past few years. Thus, we did not find a need to put an emphasis on time (i.e. use exponential smoothing). We tested a moving average of N = 3,4,5,6,7,8 for each category. After looking at each category's Mean Absolute Deviation (MAD), we noticed that there was not a consistent N associated with the lowest MAD (see Figures 4 and 5) during School. As a result, we decided to choose a moving average with N

Page 6: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  6  

= 5 as a reasonable N. We also used N = 5 for the moving averages for Summer and Winter data. Because the School data is more stable than Summer/Winter (No School) data and it does not have a consistent N associated with the lowest MAD, we used N = 5 to apply to the moving averages for the Summer/Winter (No School) data as well. It is also important to note (for moving averages) that for shorter seasons (i.e. Winter), the previous year’s data had to be extracted in order to gain sufficient data points to average.

Furthermore, we tested our equations to gauge the accuracy of our formulations. Because we began our project in October and pulled data from the past year, we decided to test our multiple linear regression model on November sales for this year [Forecasted Soups Sale = 718.1239 - 7.6540 * Temperature + 110.9243 * Monday + 151.6255 * Tuesday + 125.0946 * Wednesday + 123.8945 * Thursday + 50.4227 * Friday - 51.2246 * Saturday - 13.5771 * Sunday]. Our test results can be seen in Figure 6. Noting the magnitude of daily soup sales, our standard deviation of 66.4 is not large in comparison, but of course there is room for improvement. After testing the regression model for Soup/School, we tested moving averages (N = 5) for Soups/No School/Summer, Sandwiches/No School/Summer, Sandwiches/School, Salads/No School/Summer, and Salads/School. Test results can be seen in Figures 9-13. After analyzing the error resulting from the multiple linear regression used for predicting soup sales during the school year got the following results. The errors were normally distributed with a mean of 68.6 soup units and standard deviation of 67.1 soup units. This means that 50% of the time, error was less than 20% of total production and within 84% of the time; error was less than 40% of total soup production. After analyzing the error resulting from the moving averages we got the following results. A summary of the moving average errors can be seen in Figure 8 in the appendix of this report. Furthermore, we were not able to test our moving averages for Soups/No School/Winter, Sandwiches/No School/Winter, and Salads/No School/Winter because the SF Soup Company’s Point of Sales System did not have the required data in the database.

B. Preparation Analysis B.1 Methodology Over the course of 6 days, all 17 stores recorded the time it took to do the tasks necessary to

open the store. We designed a template to record the start and end time it took employees to complete specific tasks in the morning (See Figure 14), as well as the quantities of food prepared. In order to monitor the accuracy of the collected data, each member of our team and two district managers visited a store (total of 7 stores visited). The preparation time templates were collected daily from each of the stores.

This yielded data for task times divided into each of the following major categories: salad bar, sandwich, pre-made salads, soup, other, manager, and breakfast by store daily. Because some stores did not fill out of the tasks they performed--some stores filled out only 2 out of the 10 tasks associated with sandwich preparation, for example-- we could not determine an average task time for each major category by store. In order to mitigate this, we had to get a subtask average by store, then average to get a chain wide subtask average (to weigh each store evenly), and then sum each of the subtask averages to get the major task average time for the chain.

More specifically, we began by removing all data that was clearly inaccurate, and classified each of the individual tasks by variable timed tasks and fixed timed tasks. Variable timed tasks are dependent upon the quantity of food prepared during that time. For example, the time it takes to prepare the ingredients for 10 sandwiches will vary from the time it takes to prepare ingredients for 20 sandwiches, and is therefore classified as a variable timed task. The time it takes to set up the salad bar is the same regardless of the quantity of salads that will be ordered throughout the day, and is therefore classified as a fixed timed task. The variable timed tasks were each divided by the

Page 7: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  7  

relevant quantity of food prepared during that time, resulting in a rate of task time per quantity of food. We then averaged each store’s individual fixed timed tasks and variable rates across the entire week of data, to get a task average by store. In order to get a chain approximation, we averaged each of our store averages of fixed time tasks and variable rates (to weigh each store evenly) to get a chain average of each task. Each task average and rate average was summed within its major category--salad bar, sandwich, pre-made salads, soup, other, manager, and breakfast to get the total time for each of the major tasks. This resulted in the following formula.

TOTAL PREP TIME = (total time to make a sandwich)*(number of sandwiches) + (total time to make a premade salad)*(number of pre-made salads) + (total time to prepare a gallon of soup)*(gallons of soup) + (time for fixed breakfast tasks)*(binary representing whether a store serves breakfast) + (time for fixed salad bar tasks) + (time for fixed manager tasks) + (time for fixed other tasks)

Where number of sandwiches, number of pre-made salads, gallons of soup, and the binary representing whether a store serves breakfast are input variables and total time to make a sandwich, total time to make a premade salad, total time to prepare a gallon of soup, and total time for each of the fixed tasks are the averages we calculated. This model assumes a linearly of task time preparation, but was necessary because of the scarcity of data mentioned above. Because each store is preparing between 20-70 sandwiches (not 0-20 for example), we can further rationalize our linearity assumption. The time to prepare an additional sandwich past 20 sandwiches increases more linearly than the time to prepare an additional sandwich between 0 and 20 sandwiches, because of the larger quantity.

B.2 Results After completing the methodology to our prep time analysis as described above, we again

removed any outlier data after averaging across the chain to check the validity of the data. For example, if there was a data point that was significantly different than others and was skewing our average, we would discard it. We looked at the total time it takes to prepare the major tasks: salad bar tasks, sandwich tasks (per unit), pre-made salad tasks (per unit), soup tasks (per unit), other tasks, manager tasks, and breakfast tasks, and each of the subtasks that compose them. In Figure 15 see appendix), the average times it takes to complete each subtask across all stores and days of data collection are listed. As described above, the total prep time it takes to prepare a store is composed of both fixed tasks and variable tasks depending on the number of units produced and there times based on our collected data are as follows:

Salad Bar Tasks (Fixed Timed Task): 196.85 minutes Sandwiches Tasks (Variable Timed Task): 2.08 minutes per sandwich Pre-made Salad Tasks (Variable Timed Task): 3.47 minutes per premade salad Soup Tasks (Variable Timed Task): 1.85 minutes per gallon of soup Other Tasks (Fixed Timed Task): 119.69 minutes Manager Tasks (Fixed Timed Task): 63.14 minutes Breakfast Tasks (Fixed Timed Task): 91.83 minutes

TOTAL PREP TIME = 196.85 + 119.69 + 63.14 + 91.83*(Binary Breakfast Variable) + 2.08*(Quantity of Sandwiches Prepared) + 3.47*(Quantity of Pre-made Salads Prepared) + 1.85*(Gallons of Soup Prepared)

Page 8: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  8  

The client was interested in applying this time motion study to find out benchmark

preparation time if stores used their “best practices”, to incentivize each store to spend only as many hours preparing as the most efficient stores do. In order to estimate “best practices” task times, we created a lean model based on the six fastest stores’ task times. The “best practices” results are below:

Salad Bar Tasks (Fixed Timed Task): 133.49 minutes Sandwiches Tasks (Variable Timed Task): 1.29 minutes per sandwich Pre-made Salad Tasks (Variable Timed Task): 1.51 minutes per premade salad Soup Tasks (Variable Timed Task): 1.12 minutes per gallon of soup Other Tasks (Fixed Timed Task): 72.85 minutes Manager Tasks (Fixed Timed Task): 35.22 minutes Breakfast Tasks (Fixed Timed Task): 90.34 minutes

LEAN PREP TIME = 133.49 + 72.85 + 35.22 + 90.34*(Binary Breakfast Variable) + 1.29*(Quantity of Sandwiches Prepared) + 1.51*(Quantity of Pre-made Salads Prepared) + 1.12*(Gallons of Soup Prepared)

B.3 Analysis of Results To test the formulas we created, we input some feasible examples of data from low, medium,

and high producing volume stores. The formula based on the original formula are shown below (Note: all times rounded to nearest 15 minutes):

Low Medium High

Gallons of Soup Prepared: 10 20 40

Number of Sandwiches made: 20 50 80

Amount of Pre-made Salads Made: 30 60 100

Suggested Labor Hours to Allocate: (without breakfast) 9 hours 0 minutes

12 hours 15 minutes

16 hours 0 minutes

Suggested Labor Hours to Allocate: (with breakfast) 10 hours 30 minutes

14 hours 45 minutes

17 hours 45 minutes

Page 9: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  9  

We then compared the results from both our original formula and the lean formula with the actual labor that was allocated at three of the SF Soup Company stores on October 14th, 2014.

Crocker Fremont Oakland

Gallons of Soup Prepared: 30 21 40

Number of Sandwiches made: 45 56 66

Amount of Pre-made Salads Made: 38 40 45

Amount of Hours Suggested by Formula: 11 hours 22

minutes

11 hours 34

minutes

12 hours 43

minutes

Amount of Hours Suggested by “Best Practices” Formula:

8 hours 11

minutes

8 hours 18

minutes

9 hours 0 minutes

Actual Hours Worked by Store: 11 hours 0 minutes

6 hours 0 minutes

5 hours 0 minutes

A more complete table with data from four different stores can be found below in Figure 16.

Note, that only the stores that do not offer breakfast (Berkeley, Oakland, Crocker, and Metreon) were included in the figure in the appendix since other stores open early and continue to prepare while customers come in. and we are therefore unable to distinguish between the amount of time spent preparing versus amount of time serving customers.

From these examples, it’s clear that these stores were able to complete their tasks in less than the suggested time from our original formula based on the data recorded in the templates by stores. This formula seems to overestimate the amount of time that is necessary for the store to prepare. The “Best Practices” formula, which is a much leaner approximation of the time it takes to open the store, is closer to the actual hours worked by the store for two out of the three stores tested. For Fremont and Oakland, it is still an overestimation of the time it actually took to open, and for Crocker it is an underestimation. These preliminary results could potentially confirm the COO’s hypothesis that stores could be performing prep time tasks more quickly, and that this lean model is not an unrealistic model because it even overestimates the time for certain high-performing stores.

Page 10: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  10  

V. Interface In order to create a useful tool for store managers, we have created a user interface Figure 17 that allows store managers to input known information to predict two important pieces of information: the amount of prep time it would take to set up a store and the forecasted quantities of products to prepare. Both of these quantities will be computed using the algorithms we have formulated in the two parts of our projects. The tool’s interface is intended to be easy to use for store managers. We minimized the number of inputs that the managers would need to enter in order to increase accuracy. All input are listed in the gray boxes while the outputs are listed in the green boxes. The interface is designed so that a store manager could easily get the forecast recommendations from the bottom part of the sheet. Then the store manager can decide on whether or not to use those forecasting recommendations as inputs for the prep time allocation top part of the interface. (As the manager may not want to prepare the entire day’s demand of food before the store opens.)

For the prep time portion of the interface, we will compute two valuable pieces of information: Average-Performing Store Estimation and the "Best Practices" Estimation. The Average-Performing Store Estimation is calculated based off of all of the store units’ preparation time information. The "Best Practices" Estimation is calculated based off of the top 6 best preparation times. The “best preparation times” are the times based on our lean algorithm for preparing tasks and are, therefore, the times that employees should aim to complete their tasks by. We asked the following questions as data inputs to output the preparation time estimates:

1. How many gallons of soup are being prepared? 2. How many sandwiches are you making? 3. How many pre-made salads are you making? 4. Does your store have breakfast? 5. Does your store have a Salad Bar?

For the forecast demand portion of the interface, we compute the unit quantities of soup,

salads, and sandwiches that should be prepared for that particular day. The output quantities are based off the results from the algorithms we developed earlier in this paper. We asked the following questions as data inputs to output the product quantities:

1. What is the day of the week? (Dropdown Menu) 2. What is the time of the year? (Dropdown Menu) 3. What is the temperature?

Then with one press of the “Find Forecast” button the VBA code calculates the appropriate moving average or multiple linear regression. The output is the automatically placed into the green boxes. Whether or not a manager uses this forecasted output for the input number of units to produce for the preparation time allocation is up to the discretion of the manager. We chose to make this a manual process rather than an automated process so managers could have the ultimate decision since many have a lot of experience and may want to under produce to reduce risk of not selling all of the prepared food.

Page 11: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  11  

VI. Sources of Error Errors in the recording of task times could have resulted from the way we collected data. On

our data collection template, we wrote the description for each task based on our own observations in store, in collaboration with the district manager. If an employee didn’t understand the way a task was worded or had a language barrier, there would be resultant errors in task time recordings. For example, for the soup task “Load Soups into Steamer,” some employees filled out the entire time it took for the soups to warm, while others only input the time that they were doing the physical work of loading the soups. Another source of error in filling out the template could have resulted from the dependence on the managers to relay the information to their employees about the data template and how to fill it out. From observations in store, some managers were more diligent about enforcing data collection than others. Although we attempted to minimize these errors by pulling out inaccurate data in several iterations, the errors in this data collection are unavoidable.

After cleaning up the data, a potential source of error for our prep time model’s overestimation of task times is the fact that some stores not needing to perform every task. For instance, two of the tasks are to “Put Away Commissary Order,” both refrigerated and not. If a store doesn’t have a delivery that day, then they don’t have to budget time for that task, however the formula will assign the average time for that task to the total time allotted to that store. This ambiguity is true for several other tasks, like preparing fruit parfaits, and fruit cups and some of the manager tasks, like answering emails or making orders. This is also impacted by some stores performing tasks at night and therefore not needing to do them in the morning prep time.

Another possible cause of the overestimation based on the recorded data could be from an influx of catering orders that were separated from quantities recorded but were not separated when recording task times. This would result in longer times to make a similar quantity of product, and because many of the San Francisco stores have a large proportion of catering orders this error could have had a significant influence on the task times.

Another source of the overestimation of task times from our model based on the raw data, could also have resulted from our linearity assumption for our prep time model. In the previously described methodology, we were chose to assume linearity in order to account for sparse task times within a task category and rationalized this assumption because of the range of quantities prepared on a daily basis. However, if there is more of an exponential distribution of task times than we accounted for, our linear model would overestimate the prep times.

Page 12: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  12  

VII. Summary, Conclusions, and Recommendations The final algorithms we created for our project can be used as a stepping-stone for SF Soup

Co. to continue research into the analysis of sales trends and optimal preparation task procedures. On a larger scale, years of sales data, instead of months, for all stores can be pulled and analyzed to find the most accurate forecasting method. Errors can be more stringently analyzed to adjust and perfect these forecasting methods. An outside team can conduct a time motion study of the employees at all 17 stores and construct an ideal prep time algorithm.

On a smaller scale, our client has also expressed interest in creating preliminary algorithms as we did for the UC Berkeley store for the SF Soup Co. stores in SF’s financial district. Our recommendations for applying this procedure to this subset of stores would be as follows: three stores of different product mixes in the financial district should be chosen as the test stores. Their sales across the entire year should be pulled similarly to the way sales were pulled for the UC Berkeley store from the POS system. Trends will have to be identified based on the aggregation of this data, seasons and impacting factors will have to be determined, and either multiple regressions or moving averages will have to be implemented accordingly. Since the preliminary prep time analysis we implemented is already based on a chain-wide approximation, this part of the algorithm is already determined based on our findings in this study. Again the two algorithms--the demand forecasting algorithm and the prep time algorithm will be combined to create the interface that managers in the financial district stores can use daily.

From the start, this project was a learning process for us. Beginning with our 6 am store visits to learn the ins and outs of store preparation, to debating back and forth to create an employee-friendly data template, to learning how to pull sales data from the Point of Sales System, to finally trying to make sense of real life time studies data, this experience was not something that we could have learned from a textbook. In demand forecasting, we searched for the most prominent trends in sales data that was not perfectly correlated, and had to integrate tools to forecast that would match the data we examined. For prep time analysis, we had to find a way to create an algorithm that would best predict the overall prep time while strategically working with imperfect data. We then integrated the results of both of these projects--demand forecasting and prep time analysis--into an algorithm that managers could use in their daily planning of schedules and food quantities, to ultimately help them utilize their staff more effectively and reduce product waste. With practicality in the back of our minds, we made the most out of the uncertainty of real life data and applied it in an interface that managers can actually use.

Page 13: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  13  

VIII. Appendix Figure 1: Summary Regression Results for Sandwich Sales vs. Temperature

Constant Coefficient R2

Monday School -26.004 0.8396 0.16164

Monday No School -1.7459 0.2549 0.02124

Tuesday School -7.1435 0.5843 0.13576

Tuesday No School -0.2527 0.2539 0.02479

Wednesday School -29.807 0.9252 0.23868

Wednesday No School 0.6026 0.216 0.03566

Thursday School -24.384 0.8878 0.2545

Thursday No School -46.433 0.92 0.31639

Friday School -10.257 0.5377 0.19439

Friday No School -32.941 0.6901 0.19648

Saturday School 3.5644 0.1439 0.01457

Saturday No School -5.9632 0.175 0.02143

Sunday School -12.334 0.3563 0.28421

Sunday No School -9.6651 0.2157 0.1707

Figure 2: Summary Regression Results for Salad Sales vs. Temperature

Constant Coefficient R2

Monday School -3.6064 3.48 0.13901

Monday No School 146.05 -0.4915 0.00504

Tuesday School 10.458 3.7505 0.3008

Tuesday No School -58.511 2.537 0.08996

Wednesday School 66.488 2.7451 0.29192

Wednesday No School -31.854 2.0554 0.11803

Thursday School 85.899 2.3364 0.19723

Thursday No School -150.83 3.8244 0.5387

Page 14: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  14  

Constant Coefficient R2

Friday School 77.901 1.3412 0.0945

Friday No School -33.156 1.6259 0.26768

Saturday School 82.426 0.4912 0.00926

Saturday No School -16.285 0.8107 0.03516

Sunday School -51.595 2.9369 0.21217

Sunday No School 93.297 -0.8405 0.031

Figure 3: Summary Regression Results for Soup Sales vs. Temperature

Constant Coefficient R2

Monday School 981.31 -9.8906 0.44043

Monday No School 223.01 -1.1588 0.01088

Tuesday School 1033.3 -10.087 0.5185

Tuesday No School 614.32 -6.4306 0.08237

Wednesday School 926.56 -8.8685 0.61285

Wednesday No School 289.84 -2.2775 0.11324

Thursday School 801.43 -7.0619 0.41155

Thursday No School 262.02 -1.8018 0.02091

Friday School 749.79 -7.3691 0.38474

Friday No School 213.37 -1.2068 0.00736

Saturday School 464.55 -4.6338 0.38724

Saturday No School 257.76 -3.0071 0.2332

Sunday School 439.72 -3.7343 0.40238

Sunday No School 206.57 -2.3135 0.10489

Page 15: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  15  

Figure 4: Moving Average (N = 3,4,5,6,7,8) for Sandwiches/School Results

Day of Week N with lowest MAD Mean Absolute Deviation (MAD)

Monday 8 9.909722222

Tuesday 7 8.977443609

Wednesday 7 10.48120301

Thursday 5 11.9

Friday 3 6.902777778

Saturday 8 5.78125

Sunday 8 2.46875

Figure 5: Moving Average (N = 3,4,5,6,7,8) for Salads/School Results

Day of Week N with lowest MAD Mean Absolute Deviation (MAD)

Monday 8 48.27083333

Tuesday 7 8.977443609

Wednesday 4 31.81818182

Thursday 8 32.31578947

Friday 4 22.97826087

Saturday 3 26.68253968

Sunday 3 31.0952381

Page 16: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  16  

Figure 6: Test Results of Multiple Linear Regression Equation (Soup/School) For November 2014

Date Soup Units Sold Temperature Notes Forecast Error

11/1/14 179 62 Sat 192.6 13.6

11/2/14 226 63 Sun 222.5929 3.4071

11/3/14 424 66 Mon 324.14 99.86

11/4/14 435 67 Tues 357.2 77.8

11/5/14 360 79 Wed 238.86 121.14

11/6/14 308 69 Thur 314.16 6.16

11/7/14 281 63 Fri 286.59 5.59

11/8/14 107 81 Sat 47.25 59.75

11/9/14 186 66 Sun 199.6429 13.6429

11/10/14 459 59 Mon 377.69 81.31

11/11/14 306 63 Tues 387.8 81.8

11/12/14 377 64 Wed 353.61 23.39

11/13/14 479 64 Thur 352.41 126.59

11/14/14 297 63 Fri 286.59 10.41

11/15/14 163 65 Sat 169.65 6.65

11/16/14 255 63 Sun 222.5929 32.4071

11/17/14 512 68 Mon 308.84 203.16

11/18/14 501 66 Tues 364.85 136.15

11/19/14 599 60 Wed 384.21 214.79

11/20/14 582 58 Thur 398.31 183.69

11/21/14 298 60 Fri 309.54 11.54

11/22/14 215 66 Sat 162 53

11/23/14 189 65 Sun 207.2929 18.2929

11/24/14 351 63 Mon 347.09 3.91

11/25/14 322 69 Tues 341.9 19.9

Page 17: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  17  

MAD 64.3176

St. Dev. 66.38148146

Max 214.79

Min 3.4071

Figure 7: Multiple Linear Regression Error Analysis For Soups/School

Figure 8: Moving Average Error Analysis Summary

Type 50% of the time error is < 84% of the time error is <

Soups/No School/Summer 68.0 Units (52.7% of total) 122.6 Units (95.2% of total)

Sandwich/No School/Summer 07.5 Units (53.7% of total) 12.8 Units (91.4% of total)

Sandwich/School 07.2 Units (36.6% of total) 12.8 Units (64.7% of total)

Salad/No School/Summer 44.5 Units (50.3% of total) 71.4 Units (80.7% of total)

Salad/School 56.6 Units (37.2% of total) 94.7 Units (62.3% of total)

Page 18: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  18  

Figure 9: Test Results of Moving Averages (N=5) For Soups/No School/Summer

Page 19: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  19  

Figure 10: Test Results of Moving Averages (N=5) For Sandwiches/No School/Summer

Page 20: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  20  

Figure 11: Test Results of Moving Averages (N=5) For Sandwiches/School

Figure 12: Test Results of Moving Averages (N=5) For Salads/School

Page 21: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  21  

Figure 13: Test Results of Moving Averages (N=5) For Salads/No School/Summer

Page 22: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  22  

Figure 14: Preparation Time Template

Page 23: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  23  

Figure 15: Average Prep Time for Tasks

Average Task Time (minutes)

Total Task Time per Category (minutes)

Salad Bar Tasks

Prepare Salad Ingredients (cut vegetables, boil eggs, etc.) 67.25

Set Up Salad Bar 21.25

Cut and Wash Romaine 29.93

Fill Dressing 14.75

Portion Lettuces 63.67 196.85 Sandwiches Tasks (per unit)

Prepare Sandwich Ingredients 0.45

Make Sandwiches (all types) 1.29

Display Sandwiches 0.34 2.08 Premade Salads Tasks (per unit)

Make Package Salads 2.19

Load Salads in Display 0.91

Portion Dressings 0.37 3.47 Soup Tasks (per unit)

Load Soups in Steamer 0.95

Load Soups in Warmer (Holding Cabinet) 0.37

Fill Bain Maries with Soup 0.38

Set Up Quality and Temp Checklist 0.14 1.85 Other Tasks

Put Away Comissary Order (Refrigerated) 15.05

Put Away Comissary Order (Dry Goods) 9.83

Set Up Utensil Display 8.31

Set Up Drink Display 12.03

Set Up Cash Register 5.54

Change Soup Display Menu 5.48

Fill Ice in Soda Machine 6.48

Cut Bread 16.37

Set Up Bread Display 5.85

Prepare Rice and Noodles 10.70

Prepare and Display Parfait 9.60

Prepare and Display Fruit Cups 14.45 119.69 Manager Tasks

Count Safe and Drawers 8.62

Assign Drawers 3.20

Set Specials 4.02

Confirm Specials On-line 3.61

Complete Orders 18.58

Assign Tasks to Crew 5.50

Restaurant Check 9.97

Emails 9.64 63.14 Breakfast Tasks

Prepare Oatmeal 18.46

Prepare Coffee 9.03

Prepare Frittata 7.40

Set Up Coffee Creamers 4.07

Stock and Display Sugar 5.67

Prepare Oatmeal Toppings 4.00

Steam Table for Fritattas/Oatmeal 10.47

Fill Main Steam Tables 8.22

Prepare/Display OJ 6.52

Wrap & Display Pastries/Bagels 8.06

Breakdown Breakfast 9.93 91.83

Page 24: San Francisco Soup Company! 4! III. Problem Statement Prior to our involvement with SF Soup Co, the company used a 10-year-old algorithm to determine the demand for products that will

  24  

Figure 16: Comparison of Prep-Time Equation Output and Actual Hours Worked Store  Name Task  Name 10/14 10/15 10/16 10/17 10/18 10/19

Berkeley Sandwich Quantity 68 67

Pre-made Salad Quantity 46 55

Soup Quantity 70 72

Predicted Hours Worked (Average) 13.76 14.20

Predicted Hours Worked (Best Practices) 7.99 8.23

Actual Hours Worked 9.79 14.72

10/14 10/15 10/16 10/17 10/18 10/19 Crocker Sandwich Quantity 45 30 40

Pre-made Salad Quantity 38 45 25

Soup Quantity 30 25 20

Predicted Hours Worked (Average) 11.36 11.01 10.28

Predicted Hours Worked (Best Practices) 6.54 6.30 5.92

Actual Hours Worked 3.00 3.97 3.88

10/14 10/15 10/16 10/17 10/18 10/19 Westfield Sandwich Quantity 60 56 36 80 40

Pre-made Salad Quantity 26 26 20 22 12

Soup Quantity 30 58 15 16 16

Predicted Hours Worked (Average) 11.33 12.05 9.76 11.41 9.56

Predicted Hours Worked (Best Practices) 6.56 7.00 5.61 6.63 5.52

Actual Hours Worked 8.30 8.07 4.19 9.76 6.10

10/14 10/15 10/16 10/17 10/18 10/19 Metreon Sandwich Quantity 128 130 84 69

Pre-made Salad Quantity 150 150 22 36

Soup Quantity 32 35 31 11

Predicted Hours Worked (Average) 19.48 19.64 12.01 11.52

Predicted Hours Worked (Best Practices) 11.19 11.29 7.00 6.65

Actual Hours Worked 5.95 8.54 6.47 2.50 Figure 17: Manager Interface for Demand Forecasting and Prep-Time Allocation