Goals

To create a system that simultaneously reduces crowds on a cruise ship and enhances enjoyment of customers by intelligently deciding which customers incentives should be directed to.

How it does it

Based on information gathered before events, our system will use an algorithm to determine how to prioritize and incentive customers based on their preferences in order to maximize satisfaction based on consumer expectations.

We have different attributes assigned to customers and events, things like "average ratings," "satisfaction," "category IDs," in order to organize the data and analyze it properly. The goal in the end is to have the consumer attend enough events that the average rating of the events they attend is higher than the initial average rating provided by them.

For instance, let's say that on a cruise ship, there are 5 events that a passenger can go to. When purchasing a ticket, the customer is asked to rate certain categories for events on a scale from 1 to 10. Customer 1, Chris, could rate the Entertainment category a 10, and every other category a 2 -- this makes his average rating lower. Customer 2, Gaby, however, rates every category between a 7 and an 8. Her average is much higher, which means she is more flexible in what events she would to attend. With this information, we can determine that Chris should be a higher priority consumer in terms of trying to increase his satisfaction. Using this data, we can provide incentives for Gaby to go to a different event that they are still interested in, in order to distribute the crowds evenly throughout all the events going on at the same time. This ensures that Chris will be able to go to the event listed in the category he is interested in and make it more enjoyable in the end.

Challenges

A huge time constraint was the preparation and building of the actual database we used, as well as accessing and manipulating data. To build the schema for the database, create the database itself, and populate it with relevant data was a tedious effort.

Most of the team was unfamiliar with PHP so it proved a challenge to utilize it for our purposes. The algorithms behind our project were the most difficult aspect of building the system. There were several revisions as to how to calculate "satisfaction" of consumers while maintaining realistic approach to the problem.

What I learned

A lot of PHP was learned throughout the weekend as we worked to retrieve and manipulate data.

What's next for Crowd Control

The next step in the project is expected to be a real time simulation of our system. Using an open-source program called Webots we would like to run simulations to demonstrate the effect that our incentives might have on people. Optimization of our algorithms is also something that we would to do.

Share this project:

Updates