I taught multiobjective decision analysis (MODA) this semester. It is a lot of fun to teach. I always learn a lot when I teach it. One of the most enjoyable parts of the class (for me at least!) is to run a class project that we chip away at during class over the course of the semester. Our project is to find the best restaurant for us to celebrate at the end of the semester. “Best” here is relative to the people in the class and the .
The project is a great way to teach about the MODA process. The process not only includes the modeling, but also the craft of working with decision makers and iteratively improving the model. It’s useful for students to be exposed to the entire analysis process. I don’t do this in my other classes.
On the first day of class, we came up with our objectives hierarchy. I did this by passing out about five Post It notes to each student. They each wrote one criteria for selecting a restaurant on each Post It note. They stuck their Post It notes to the wall. Together, we regrouped and organized our criteria into an objectives hierarchy. Some of the objectives because “weed out criteria,” such as making sure that the restaurant could accommodate all of us and comply with dietary restrictions.
Our initial criteria were:
- Quality of food
- Variety of food
- Service: Fast service
- Service: Waiting time for a table
- Service: Friendly service
- Atmosphere: Noise level
- Atmosphere: Cleanliness
Our final criteria were as follows (from most to least important):
- Quality of food
- Cost (tie with #3)
- Fast service (tie with #5)
- Noise level
We removed variety of food, waiting time, and friendly service because classroom discussions indicated that they weren’t important compared to the other criteria. Variety, for example, was less important if we were eating delicious food at an ethnic restaurant that had less “variety” (variety in quotes here, because it depends on you you measure it).
In the next few weeks, we worked on identifying how we would actually measure our criteria. Then, we came up with a list of our favorite restaurants. During this process, we removed objectives that no longer made sense.
We collaboratively scored each of the restaurants in each of the six categories by using a google docs spreadsheet.
- Quality of food = average score (1-5 scale)
- Cost (tie with #3) = cost of an entree, drink, tax, and tip
- Distance = distance from the class (in minutes walk/drive)
- Fast service (tie with #5) = three point scale based on fast service, OK service, or very slow service
- Noise level = four point scale based on yelp.com ratings
- Cleanliness: based on the last inspection. Score = # minor violations + 4*# major violations.
A real challenge was to come up with:
- the single dimensional value functions that translated each restaurant score for an objective into a value between 0 and 1.
- the weights that balanced our preferences across objectives using swing weight thinking. FYI, we used an additive model.
I won’t elaborate on these parts of the process further. Ask me about these if you are interested.
When we finished our model, the “best” decision was to forego a restaurant and do a potluck instead. No one was happy with this. We examined why this happened. This was great: ending up with a bad solution was a great opportunity for learning. We concluded that we didn’t account for the hidden costs associated with a potluck. Namely, it would entail either making a trip to the grocery store or cooking, approximately a 30 minute penalty. We decided that this was equivalent to driving to a distant restaurant, a 26 minute drive in our model. It was also hard to evaluate cleanliness since the state do not inspect classrooms like they do restaurants. But since cleanliness didn’t account for much of our decision, we decided not to make adjustments there.
The final model is in a google docs spreadsheet.
We performed a sensitivity analysis on all of the weights. Regardless of what they were, most of the restaurants were dominated, meaning that they would not be optimal no matter what the weights were. The sensitivity was not in google docs, since we downloaded the document and performed sensitivity on our own. I show the sensitivity wrt to the weight for quality below. The base weight for quality is 0.3617. When the weight is zero and quality is not important, Chipotle would have been our most preferred restaurant. The Local would be preferred only across a tiny range.
We celebrated in Ipanema, a semi-vegetarian restaurant in Richmond. I think our model came up with a great restaurant. We all enjoyed a nice meal together. Interestingly, Mamma Zu scored almost identically to Ipanema (see the figure below).
I cannot claim credit for this fun class project. I shamelessly stole this idea from Dr. Don Buckshaw, who uses it in MODA short courses. We use the Craig Kirkwood’s Strategic Decision Making as the textbook for the course. I also recommend Ralph Keeney’s Value Focused Thinking and John Hammond’s Smart Choices.
How do you choose a restaurant?
- Sensitivity with respect to the weight for quality (0.3617 in the base case).