aoml/archive/2122/cases/case_1/case_1_description.md

197 lines
11 KiB
Markdown
Raw Normal View History

2022-04-02 11:11:44 +02:00
# Case 1: Simulating Stock Policies
- Title: Choosing stock policies under uncertainty
- Description: Students role-play their participation as consultants in a
project for Beanie Limited, a coffee beans roasting company. Elisa, the
regional manager for the italian region, is not happy with their inventory
policies for raw beans. The students are asked to analyse the problems posed
by Elisa and apply simulation techniques, together with real data, to
recommend a stock policy for the company's warehouse in the italian region.
Python notebooks with some helpful prepared functions are provided to the
students. The final delivery is a report with their recommendation to the
client company, along with the used code.
Stuff I want them to understand:
- The model/hypothesis/validate
- That in a simulation you set parameters, and you observe results
- To write in a problem-solving manner.
- That there are trade-offs and it's not trivial to find optimal solutions.
Elements of the simulation:
- Demand behavior
- Lead time and standard deviation of provider (or providers)
- Service level
- Punishment for sales lost
Observable effects of policies:
- Mean inventory at hand
- Service level
- Warehousing/Capital Cost
- Lost sales cost
# Case 1: Choosing ordering goods under uncertainty
You are part of an expert simulation team in SimiUPF SL. You have been assigned
to a new project with a client company, Beanie Limited. Beanie Limited is a
coffee roasting company and also distributes raw coffee beans through Europe
and Middle East.
Specifically, you will be working for Elisa Bolzano, the Director of Beanie
Limited's warehouse located in Caserta, near Naples. Elisa is the full
responsible for all the operations in the warehouse. She has requested the help
of the SimiUPF team because she is worried about how certain things are managed
in the warehouse and wants your help.
The Caserta warehouse serves the raw coffee beans distribution business of
Beanie Limited in southern europe and the mediterranean. The warehouse and its
team are responsible for serving clients and also other smaller regional
warehouses from Beanie Limited in this geography. From the warehouse point of
view, they are usually just called "the clients". Whenever one of the clients
2022-04-13 12:12:23 +02:00
needs raw beans, they arrange a transport truck that goes to the warehouse to
pick up a certain amount of goods. Elisa's team fills up the truck with the
requested goods, and then the clients take care of receiving that at their own
2022-04-18 11:57:35 +02:00
locations. Given the size and relevance of the Caserta warehouse, activity is
pretty much constant, with goods leaving the warehouse towards client locations
every day.
2022-04-02 11:11:44 +02:00
The Caserta warehouse itself has only one way to source coffee beans to store
in their warehouse: requesting them to the Beanie Limited central offices in
Diemen, near Amsterdam. Whenever Elisa's team considers that more stock is
2022-04-18 11:57:35 +02:00
needed, they post a Purchase Order to the central office for a certain amount
2022-04-02 11:11:44 +02:00
of beans. The central office arranges the goods and the delivery and, after a
2022-04-18 11:57:35 +02:00
few days, the goods reach Caserta and are stored in the warehouse. The central
office tries to ensure a lead time of 7 days (lead time is the time that passes
between an order being placed and the goods reaching their destination), but
the reality is they do what they can and this time is not always respected.
2022-04-02 11:11:44 +02:00
Stock is a necessary evil (it implies a lot of cost), but Elisa's warehouse
2022-04-18 11:57:35 +02:00
needs it to serve the clients in their region properly. Having too little stock
means the clients need to wait long times to get their goods, which is risky
for the business. On the other hand, having a lot of stock means high warehouse
costs and financial opportunity cost (if Beanie Limited has 1 million € in
coffee beans in a warehouse, that is 1 million € they can't invest somewhere
else to improve their business). Thus, Elisa needs the stock to be as small as
possible, while making sure she is not disappointing clients at the same time
because of stockouts.
2022-04-02 11:11:44 +02:00
Elisa is calling you because 2021 was a terrible year for the warehouse. The
year was a chaotic one, and Elisa's team was not able to run operations
smoothly. Although Elisa is not providing exact numbers, she is very well aware
that the warehouse stock was unnecessarily high at times, and that there were
2022-04-15 22:49:30 +02:00
too many periods where the warehouse was out of stock and clients had to wait
to get their goods.
2022-04-02 11:11:44 +02:00
2022-04-18 11:57:35 +02:00
Elisa thinks the main reason for this is the lack of a clear policy for when to
order and how much to order from Diemen. Her team decides independently when to
do it, and Elisa has a feeling that they are not approaching these decisions
the right way. This means that sometimes they order when there is no need to,
sometimes they don't order when they should, and that the amounts being ordered
might not always be the optimal ones.
2022-04-02 11:11:44 +02:00
Here is where you come in. As simulation experts, Elisa expects from you that
you can help design an ordering policy to fix these issues. Doing this implies
examining data from last year, building a proper simulation to examine the
different factors being involved, and deciding when and how should Elisa's team
order more goods from Diemen.
Elisa expects a report where you share your findings and recommendations in a
clear way that can help her team. Also, Elisa does not trust you blindly: you
need to motivate the reasoning behind your recommendations. Otherwise, she will
not feel comfortable implementing your recommendations and the bosses at
SimiUPF will be mad at you...
## Detailed task definition
- Below you will find four levels of questions. Levels 1 to 3 are compulsory.
Level 4 is optional.
- You need to write a report document where you answer the questions of the
different levels. This report should be directed towards Elisa, should give
2022-04-18 11:57:35 +02:00
her clear recommendations and should justify these recommendations. It's
important for you to reflect your methodology to back your proposals.
2022-04-02 11:11:44 +02:00
- Each level is worth 2 points out of a total of 10. The 2 missing points will
2022-04-15 22:49:30 +02:00
grade the clarity and structure of your report and code.
- You need to use a Python notebook to solve all levels. A helper notebook is
provided. Please attach a notebook that shows your
2022-04-02 11:11:44 +02:00
solution/proposal/analysis.
2022-04-15 22:49:30 +02:00
- Include your team number, names and student IDs in all your deliverables.
2022-04-02 11:11:44 +02:00
## Data
- You are provided with three tables that contain real data from 2021.
- demand_events: this table shows how many beans left the Caserta warehouse
to serve clients. There is some amount leaving every day because the
warehouse serves many small orders from small clients, so there is always
some order being fulfilled. The amount is measured in kilograms, and
2022-04-18 11:57:35 +02:00
represents the total amount that left during that day. Individual orders
are not relevant for this case, so we only look at daily total figures.
- sourcing_events: this table shows the Purchase Orders that Elisa's team
2022-04-02 11:11:44 +02:00
placed to Diemen. For each order, there are two dates: the date when
Elisa's team placed the order, and the date where the beans actually
2022-04-18 11:57:35 +02:00
reached the Caserta warehouse. The difference between those dates is the
real lead time of each order. The amount is measured in kilograms.
2022-04-02 11:11:44 +02:00
- stock_state: this table shows the stock at the warehouse at the end of
each date. As you can guess, the stock for a certain date is the stock of
the previous day, plus the goods that reached Caserta coming from Diemen,
minus the goods that left the warehouse to serve client orders. A
negative stock is not a challenge to the laws of physics: it means
clients are waiting for their requested beans. If one row shows -1.000,
2022-04-18 11:57:35 +02:00
it means that the warehouse is empty, and clients are awaiting a total
amount of 1.000 kgs of beans. If next morning, a 1.000 kgs reach Caserta
from Diemen, those will be used immediately to satisfy those awaiting
clients, and the warehouse stock will become 0.
2022-04-02 11:11:44 +02:00
## Notebook
A notebook with some helping code has been provided. The code contains a small
simulation engine that can help you simulate a year of activity for the
warehouse. The instructions on how to use the code are in the notebook itself.
## Levels
- Level 1
- Elisa wants you to measure the performance of the last year, providing
quantitative metrics. She knows it was a bad year, but hasn't looked at
the real data to summarize how bad it was. Remember that there is a
2022-04-18 11:57:35 +02:00
trade-off: too much stock, is not desired, but running out of stock and
making clients wait is also negative.
2022-04-02 11:11:44 +02:00
- Going one step further, Elisa wants to know: what was done wrong?
- Level 2
- Elisa wants you to propose an ordering policy. This means, that you need
to define a rule that, once each day, should answer the questions: should
2022-04-18 11:57:35 +02:00
we place a Purchase Order to request beans from Diemen today? If yes, how
much should we order?
2022-04-02 11:11:44 +02:00
- Use simulation to present metrics on what is the expected performance
with the policy you are proposing. Remember, you need to convince Elisa
that this is better than what happens today.
- As a specific constraint, Elisa explains that she wants that the
2022-04-15 22:49:30 +02:00
probability of a stockout to be at most of 5% on any given day.
2022-04-18 11:57:35 +02:00
2022-04-02 11:11:44 +02:00
- Level 3
- Right after you finished designing your policy for level 2, Elisa called
with some news: she has just been informed by the management in Diemen
that a new Minimum Order Quantity (MOQ) rule will begin soon. This rule
means that, when the Caserta warehouse places an order to request
2022-04-18 11:57:35 +02:00
material from Diemen, the order should be of at least 500,000 kgs of
beans, and not less than that.
2022-04-02 11:11:44 +02:00
- Elisa wants you to take this into account. Does it affect the policy you
proposed for level 2? If so, you need to come up with a new one that
2022-04-15 22:49:30 +02:00
adapts to this rule and compare it to the previous one.
2022-04-02 11:11:44 +02:00
- Level 4
- Elisa briefly discussed with you in one meeting that there is an option
to come to an agreement with the team in Diemen to improve the lead time
stability. The proposal from Diemen is that, if the target lead time was
set to something higher that the current 7 days target, providing a more
stable delivery would be feasible.
- The specific proposal from Diemen is: if the lead time target is changed
to 15 days, they provide a 100% guarantee that orders will be delivered
in exactly 15 days.
- Elisa would love if you could take some additional time to study this
proposal. What is better for Caserta? The current 7 days target
2022-04-18 11:57:35 +02:00
lead-time, with unstable delivery times? Or a fixed, 15-day lead time?
2022-04-02 11:11:44 +02:00
- The MOQ rule of level 3 still applies.