top of page
coca-cola.jpeg

SENIOR DESIGN PROJECT

Coca-Cola Dairy Distribution Network Redesign

Senior Design Background

All students in the H. Milton Stewart School of Industrial & Systems Engineering (ISyE) at Georgia Tech culminate their undergraduate degrees with a senior design project, in which they work in teams of 6-8 to help a real-world client design a new system or improve an existing one to achieve a pre-defined goal, like cutting costs, driving profitability, or enhancing sustainability.

For more information on ISyE senior design at Georgia Tech (and to view my team's finalist presentation video), visit the program's home page, and/or view the slide deck below which my team sent to prospective clients in the first stage of our project.

Project Background

In January 2020, Coca-Cola acquired a rapidly growing brand of ultrafiltered milk called Fairlife. Just three months later, Coca-Cola's leading juice brand, Simply Beverages, introduced two new alternative milk products, Simply Oat and Simply Almond milks. Together, Fairlife and Simply Oat & Almond represented Coca-Cola's largest ever investment in the dairy market. As a result, Coca-Cola's supply chain managers were faced with a three-pronged problem:

  1. How to integrate Fairlife's already large-scale operation into Coca-Cola's national chilled distribution network?

  2. How to properly expand the chilled network to accommodate Simply Oat & Almond (especially since Simply Beverages, heretofore exclusively a juice brand, only had distribution centers in Florida and California)?

  3. How to do all of this under the strain imposed on the supply chain by COVID-19?

Where We Come In

Our client contact was Coca-Cola's senior manager of supply chain optimization, Saeed Siddiqi, who tasked us with designing an optimal network integration plan for each of Fairlife and Simply Oat & Almond that would minimize the overall cost of Coca-Cola's national chilled distribution network. 

To be completely transparent, we were initially dumbfounded. 

The ISyE department at Georgia Tech offers six concentrations — Analytics & Data Science, Economic & Financial Systems, Operations Research, Quality & Statistics, Supply Chain Engineering, and General Industrial Engineering. 

 

With the exception of one General IE, we were all Analytics concentrations. The problem Saeed gave us was purely Supply Chain. Combined, we had taken exactly one supply chain course. 

Nevertheless, if there's one thing you learn in the ISyE program at Georgia Tech, it's how to be adaptable in the face of tremendous uncertainty. It's not only how to learn, but how to learn quickly and on your feet, how to go from dumbfounded to prototype in no time.

Fortunately, we had an hour each week to meet with our faculty advisor, Dr. Alejandro Toriello, who was gracious enough to conduct impromptu crash courses on everything from safety stock to trucking logistics. We compiled all the literature we could on facility location models, distribution network design for perishable products, and setting safety stocks for stable rotation cycle schedules.

 

In short, we did our research. 

Ultimately we realized, to our relief, that this wasn't a supply chain problem. It was a supply chain context, but fundamentally an analytics problem requiring the formulation and implementation of an optimization model. Combined, we had taken fourteen optimization courses.

 

Happy day. 

Building the Model(s)

As instructed by Saeed, we focused on each network independently, ignoring interactions between the two at individual production sites or distribution centers (DCs). Saeed's intent for the project was to obtain high-level decision recommendations and a general heuristic for approaching network integration, so he wanted to avoid "overfitting" the model with overly specific details or confounding variables. 

We chose to focus on the much simpler Simply Oat & Almond network first.

 

While we were all initially involved in formulating the model mathematically by hand, we ultimately split into subgroups once it came time to begin coding. Two focused on implementing our formulation in Gurobi Python, our chosen optimization software, while the remaining five worked to devise and automate processes to generate appropriate input parameters for the model based on the series of Excel workbooks Saeed supplied us. 

As part of the latter subgroup, I wrote a Python script that pulled all city-state pairs representing the locations of production sites, DCs, and customers from Saeed's shipment data, converted them to geographical coordinates, and obtained driving distances and travel times from the Google Distance Matrix API for all routes that saw at least a single shipment in the last two years. These distances and times would then be fed into an algorithm that estimated transportation costs per truckload per mile based on the historical data available to us — estimates that would prove critical in minimizing overall network cost, the largest component of which (by far) was transportation. 

To geocode (i.e. obtain geographical coordinates for) each city-state pair, I used Nominatim, the open-source geocoding software that powers openstreetmap.org and is importable into Python via GeoPy. This step was necessary because the Google Distance Matrix API accepts only addresses or coordinates as inputs, as opposed to city names. Because our initial parameters consisted of over 5200 possible routes, the script took about 20 minutes to run. 

Adding Value — Safety Stock

In our conversation with Saeed and his colleague from Simply Beverages, Jeff Cook, we soon found an opportunity to enhance the value of our project in the form of safety stock estimates.

For those unfamiliar with safety stock, DCs must hold a particular amount of additional inventory on hand in order to protect against fluctuations in demand. In other words, if a given customer suddenly decides to double his usual order, a DC needs to have sufficient additional inventory in stock to satisfy this seemingly random spike in demand. This additional inventory is called safety stock. The ideal amount of safety stock is a goldilocks quantity — it must be large enough to protect against demand variation, but not so large that it incurs excessive inventory storage costs.

As Jeff explained to us, he largely determined Simply's safety stock levels at each DC through intuition obtained through industry experience. While his estimates mostly fell in the goldilocks region, we were concerned that it would not be feasible to accurately estimate safety stock this way in light of all the new changes our model recommended. To keep safety stock estimates consistent in the long-term, we decided there should be a more standardized, data-driven algorithm incorporated into the model that would recommend optimal safety stock levels consistent with all other recommendations the model generated. 

Incorporating safety stock calculations into the model required quadratic constraints, making it nonconvex — a fancy math term which in practice just means our model would take much longer for the software to solve. While this new model initially took about 6 hours to run, we were ultimately able to reduce this to under 2 hours by polishing the code and refining our safety stock algorithm.  

Relative to our initial model that excluded safety stock (and for which we calculated safety stock manually after the model generated results), this new model with safety stock considered was able to cut the amount of safety stock needed in half, drastically reducing the amount of unused stock kept in storage.

After refining the Simply Oat & Almond model, we then replicated it for the far larger Fairlife network.

The comparison of the models we provided in our final presentation is below (best viewed on desktop).

Model Comparison_edited.jpg

Project Value

In the end, our Mixed Integer Quadratic Program (MIQP) was able to output a detailed two-year integration plan for each of Fairlife and Simply that specified in which of 25 four-week periods a DC should be integrated into the network, by how much (in pallets) the capacity of each DC should be expanded, if necessary, to accommodate the greater flow of product, and how much safety stock each DC should keep on hand according to Coca-Cola's internal demand projections. 

We found that — relative to making no changes to the current system at all over the course of the next two years — the recommendations generated by our MIQP would reduce Simply's overall distribution network costs by 24%, and Fairlife's by 1.8%.

The discrepancy is due to the nature of each network — Simply was smaller, consisting of only three DCs compared to Fairlife's six, so there was comparatively more room for improvement.  

Going the Extra Mile

We didn't stop there, though.

As instructed in our ISyE curriculum, we wanted to not only maximize the value delivered to our client, but we wanted to exceed their expectations — to WOW them. 

To do so, we decided to standardize our MIQP model and package it into an intuitive, user-friendly interface that would be generalizable to ANY brand that Coca-Cola seeks to integrate in the future. 

A demo of our network integration tool is below.

Outcome + Reflection

My team was selected as one of the three finalists from among 23 teams competing in the Fall 2021 ISyE Senior Design competition based on our project methodology, difficulty, and projected client value, as well as our team's professionalism, final report, and final presentation. 

In the end, senior design was a lesson in project management and teamwork. I was fortunate enough to work alongside a group of students who shared my goals, work ethic, and proactivity. Together, we learned how to plan a months-long project, how to identify each other's strengths and delegate tasks accordingly, and how to debate our ideas peacefully and productively. 

We also gained valuable experience in conducting a real-world consulting project. We thoroughly explored and quantified our client's proposed problem, assembled relevant research, clearly identified the motivation (i.e. WHY is this project relevant to the client now?) and opportunities (i.e. potential solutions), outlined a solution methodology, designed and implemented a solution, quantified the value to the client, and packaged our deliverables in a user-friendly tool that our client can use to not only solve their current problem, but also to solve any similar problem in the future. 

Below you can view our finalist presentation slides, as well as a few team photos. 

Coke Photo_edited.jpg

We presented our project to stakeholders at Coca-Cola, including the VP of End-to-End Integrated Planning, the Supply Chain Director, the National Supply Chain planner, and the Senior Manager of National Supply Planning for Simply Beverages.

Finalist Photo_edited.jpg

Our team photo just prior to our Finalist presentation, which you can view here (bottom of the page).

bottom of page