**Classification tags**: business operations management, DES, next-event time progression

The Lemonade Stand game allows active learning of the following topics:

## Price Elasticity of Demand

The

*Price Elasticity of Demand (PED)*is a measure used to show the responsiveness, or elasticity, of the quantity demanded of a good or service to a change in its price. More precisely, it gives the percentage change in quantity demanded in response to a one percent change in price (ceteris paribus, i.e. holding constant all the other determinants of demand, such as income). In general, the demand for a good is said to be inelastic when the PED is less than one (in absolute value): that is, changes in price have a relatively small effect on the quantity of the good demanded. The demand for a good is said to be elastic when its PED is greater than one (in absolute value): that is, changes in price have a relatively large effect on the demand quantity of a good.## Sales Price Planning

Normally, price planning is based on full costs per product unit, which are computed as fixed costs (mainly labor, and, e.g., depreciation on assets and marketing costs) plus variable costs (mainly input materials). In

*cost-plus pricing*, the product price*p*is planned by adding a proportional profit to the costs*c*:*p*=*c*+*rc*where*r*is the planned profit rate.During favorable market conditions, full costs could be used for cost-plus pricing, while during periods of poor sales (e.g., due to increased competition), marginal costs may be used. The profit rate could be adapted when the PED of the product is changing. For instance, the lemonade stand could increase its planned profit rate when the weather conditions are sunny and warm, because under such conditions the otherwise very price-elastic demand for lemonade gets more inelastic, thus allowing for price increases without affecting the demand.

## Demand Forecasting

The demand of a new day can be forecasted on the basis of the previously recorded daily demand data, which forms a

*time series*. The two most common forecasting methods for time series are the*Simple Moving Average*and the*Exponentially Weighted Moving Average*methods. See https://people.duke.edu/~rnau/411avg.htm. In the LemonadeStand-1 model, the Simple Moving Average method is used.## Bill of Materials

A

*Bill of Materials (BoM)*defines the composition of a product in the form of a list of component items, each with a quantity, as required for assembling a production unit. In general, a component item may also have a BoM, i.e. be composed of other items, such that a nested composition tree is obatined.In the case of a lemonade stand with lemonade as a product, the production unit imay be a 3.5 ltr pitcher of lemonade, so we may have the following BoM:

{"Lemon": 3, "Water": 2.5, "IceCubes": 50, "Sugar": 0.3, "PaperCup": 1}

## Production Planning

The production quantity (in number of batches) is planned according to the demand forecast, but under the constraints of using the available input items in stock and the budget available for purchasing additional inpute items.

Following the *Object Event Modeling and Simulation (OEM&S)* paradigm, we first model
the system's object types (defining its state structure) together with its event types in an *information model*,
and then the system's dynamics in the form of event rules in a *process model*.

The basic version of the LSG model contains the following object types:

*SingleProductCompany**InputItemType*as a subtype of*ItemType**OutputItemType*as a subtype of*ItemType*

and the following event types:

- StartOfDay
- DailyDelivery
- DailyDemand
- EndOfDay

Notice that the component types `InputInventoryItem`

and `BomItemPerBatch`

can be implemented in the form of
the map-valued properties `inputInventoryItems`

and `bomItemsPerBatch`

holding values like

{"Lemon": 3, "Water": 2.5, "IceCubes": 50, "Sugar": 0.3, "PaperCup": 1}

These special properties, and the behavior operations of *SingleProductCompany* instances are described in the following diagram:

ON (event type) | DO (event routine) |

CustomerArrival( sd) @ t |
INCREMENT sd.queueLength IF sd.queueLength = 1 THEN SCHEDULE CustomerDeparture( sd) @ (t + sd.serviceDuration()) |

Conceptual rule models | Rule design models |
---|---|

- ServiceDesk-2: A service queue model
(one service and one queue) with one statistic: the Mean Response Time, which is the average length of time
a customer spends in the system from arrival to departure. For recording their arrival time, individual
customers are represented explicitly in a
*waitingCustomers*queue.

- Queueing_Simulation_Discrete_Event: This NetLogo simulation uses NetLogo's tick-advance primitive to advance simulation time by non-integral amounts. However, NetLogo's standard ticks display is unable to display non-integral values, so a custom ticks display has to be programmed. Copyright 2010, Nick Bennett.