Enter the market or not?


 * Project name: Enter the market or not?
 * Class: 4IT495 Simulation of Systems (WS 2012/2013)
 * Author: Wagon Antoine
 * Model type: Agent-based simulation
 * Software used: NetLogo

=Problem definition= This model aims to analyze the behavior of a monopoly company that is threatened by the entrance of a newcomer. Particularly, we can illustrate it with the fast-food situation in Belgium. For the purpose of this simulation, we will assume that McDonald’s is the only player on the market (in reality, there are of course other players like Quick or Hector Chicken). We will therefore analyze how McDonald’s behave when the Burger King firm tries to enter the market.

=Method= Basically the Burger King chain will base its entry decision on a single fact. If there is only one firm, it wins that there is a market to share and will decide to build a fast food. Later, if McDonald decides to build another one, Burger King will assume that it exists more market to share and will therefore build a new one as well. Thus, Burger King acts here like a follower that copies the McDonald’s strategy. However, there will be a limitation in the model, resulting in a maximum number of companies.

Then, the McDonald’s fast food will decide if they fight or accommodate the nearest Burger King (direct concurrent). If they fight, they will either increase the quality or decrease the price. If the prices are too low or the quality too high, they can also decide to build a new restaurant in order to increase its market share.

Finally, the customers will have some preferences. Indeed here, the products are not homogeneous and people will have different tastes and preferences. Some will only consider the distance. Other will only go in their favorite fats food chain, no matter the distance. The last ones will consider the best price and quality in order to decide where they will eat.

To model this situation, I will use NetLogo. Indeed, here we have a situation with different agents interacting with each other. NetLogo will help us to have a good and powerful representation and visualization of the problem. NetLogo will allow us to monitor and analyze the results easier by changing the different variables. Here, NetLogo will display the different fast food restaurants, the customers and the link that exist between then (a link between a customer and a restaurant represents the fact that this customer will go there when he wants to eat in a fast food).

=Detailed description=

Customers
The first type of agent is the customer. A customer is defined by two main variables. First, they own a preference profile. Here, there are three main possibilities:


 * No preference: in this case, the customer does not have any preference. To decide, he will only consider the distance and choose the nearest restaurant.
 * Exclusive preference: Here, the customer will go in his favorite restaurant, no matter the distance.
 * Relative preference: the last possibility is that the customer has no real preference. It this case, he will choose the fast food restaurant with the best quality. Of course, only the two nearest restaurants (one of each) will be analyzed.

When a customer agent is created, the preference is randomly set. Here, the weighting is set up arbitrarily: 30% of chance to get no preference; 30% of chance to get an exclusive preference; 40% of chance to get the relative preference.

The second variable will be the preference between the both companies if there is a preference. It is also set up randomly. Here, the variable is linked to a slider that will allow the tester to decide the probability to prefer one or another fast food chain.

At each tick, the customer will again decide where he wants to eat. Indeed, it is possible that he changes his mind. There are two different possibilities. First the customer can have no preference and a new fast food can be built closer to him. Second, he can have relative preference and another fast food with better quality or price can open close to him. In conclusion, we can analyze how customers will be assigned to one or another fast food and when they will change their mind.

Fast foods
McDonald’s

The first fast food agent that we will analyze is the monopoly (McDonald’s). The McDonald’s will be represented by four main variables. First, they will have a certain price and a certain quality (from 0 to 1). As it is a monopoly, we will set these two variables to 0 (0 being the biggest price or the lowest quality). In other words, the bigger the variable, the more customer-friendly it is. The third variable will be the fighting propensity that is a random number between 0 and 1. It means that the more the company is inclined to fight, the more it will use technics as increasing the quality or decreasing the price. It is set randomly. Moreover, the tester can decide the probability that is represented by the slider “fighting level”. The closer to 0 is the fighting level, the bigger the company will be inclined to fight. The last variable is the oldness and it will be used in order to recognize which business is old or not. Arbitrarily, we set the number of McDonald’s to 5 when we setup the model.

Basically, for each McDonald, we will look for the closest Burger King that will be the main competitor. When the closest Burger King is chosen, we will see if the McDonald fights or accommodate. Thus, if the fighting propensity is below the fighting level, they will accommodate. As a consequence, the McDonald will copy the Burger King strategy and set its price and quality to the exact same level. In the other case, if the fighting propensity is above the fighting level, we will play head or tails in order to see if they increase the quality or decrease the price. There is a last possibility. Sometimes, if the McDonald chain has improved too much its situation, they can decide to open a new restaurant. There is thus a condition: if the mean price and the mean quality are above a certain level (0.5 in the model), there is 20% of chance that they open a new restaurant (20% because it is still a big decision to open another restaurant). The last condition is that it does not go over the maximum amount of firms possible. At the beginning, it is set to 20 but the tester thanks to the input button can change it.

Burger King

The other fast food chain is Burger King and has fewer variables. They are only represented by a price and a quality and finally the oldness as the McDonald’s. Here the Burger King will decide to enter or not in the market. As explained above, the principle behind this is very simple. We just compute the number of McDonald’s and the number of Burger Kings. If there are more McDonald’s, a new Burger King will be built. Again, we cannot go over 20 firms in total on the market.

Global variables
In this model, there are four different global variables:


 * Mean-price: it computes the mean price of the McDonald’s and is used for the decision to open a new fast food or not
 * Mean-quality: idem
 * Nbmc: it computes the number of McDonald’s and is used for several computations as explained above
 * Nbbk: idem for the number of Burger Kings.

Synthesis
In conclusion, the following steps compose the model:

During the setup:
 * Clear-all: clean all the model
 * Reset-ticks: reset the model
 * Setup-customers people: it creates the customers of the model (people is represented by the input button such that the tester can decide the number)
 * Setup-mcdonalds 5: we first create 5 McDonald’s that act as a monopoly. We also set the price and the quality of all of them to 0.
 * Associate-customers: here, we first associate each customer to the closest McDonald.

During the Go step:
 * Set nbmc count mcdonalds: here, we define a variable that will compute the number of open McDonalds. It will be used for the entry game of Burger King
 * Set nbbk count burgerkings: same as for McDonald’s
 * Enter-or-not: it will decide as explained above if the Burger King chain opens a new restaurant or not
 * Fight-accommodate: here, it is the process where the McDonald’s decides its strategy, depending on the fighting propensity and the fighting level.
 * Customer-choice: the customer decides the fast food where he wants to eat

Display
The display of this model is quite simple. The customers have a “person” shape of a random color and are spread randomly over the plot. The fast foods have the “house” shape and are also built randomly. We can distinguish the both chains by the color: the McDonald’s will be yellow and the Burger Kings red. Finally, we can observe the choice of the customers by some links that are created during the “customer-choice” step. These links will have the color of the fast food.

=Results=

Here, we can analyze the results when we change the different variables.

Number of customers
The number of customers does not seem to affect the results. In general, the monopoly firm tends to remain the leader on the market. These results are confirmed when we increase the variable.

Maximum number of firms
As for the number of customers, this variable does not seem to affect the results and the monopoly firm remains the leader. Moreover, we can begin to observe a pattern. In most of the simulations, the challenger has more market share at the beginning but the leader takes back its position in the future. It can be explained in the code with the fight-accommodate step. Indeed, the McDonald’s restaurant will increase their service (quality or price). As a consequence, 40% of the customers on average will tend to go there, even if they were Burger King’s customers before and this because of the better service they offer by fighting the challenger.

Favorite fast food
To remind, the more the slider is on the left (close to 0), the bigger the probability to prefer the Burger King. Obviously here, when we will set the slider to the left, more people will prefer the challenger and it will provide mitigated results (more cases when the challenger has the biggest market share. When we approach and go over the 0.5 (50% of chance to prefer McDonald or Burger King), the previous pattern comes back and the monopoly remains the leader. Therefore in this model, the solution for the challenger would be to increase its service and to copy the leader.

Fighting level
As explained above, the fighting level will define the propensity of the McDonald’s to fight its competitors (i.e. increase quality or decrease price). The closer to 0, the more the leader will fight and gain market share. However, when we move the slider to the right, the challenger gains increasingly more market share because the leader copies him.

=Conclusion= In conclusion, we can say that there is a pattern emerging from this model and saying that the position of the monopoly remains in general the best one. Indeed, in most of the simulations, at the end the McDonald’s company was in a better position with a bigger market share. The general pattern was the following: first, all the clients go to the leader that offers high price for bad quality. When the challenger arrives, he gets most of the market by improving the service. However, in the future, the leader fights and increases its service in order to beat its competitors. At this time, they get their market again and win in the end.

However, there are some limitations in this model:
 * First, here the monopoly firm is the only one to change its attributes (price/quality) and to fight its competitors. Indeed, here when a Burger King restaurant opens, the quality and price are fixed randomly and then do not change anymore, what does not reflect the real world.
 * Second, the model applies only one direct competitor. But this combination will not always be the two restaurants that are the closest to a customer. For example, if we had a fighting propensity equal to 1, it would mean that the leader completely accommodate and the result should be 50/50 regarding the market share, which is not the case. In conclusion, a McDonald will copy the price and quality of a Burger King but a customer will not base his decision on these both restaurants, what will false the results.
 * The entry decision here is only based on a simple concept. This could be replaced with a more complex decision process, taking more variables into account. Moreover, here the restaurants are built on a random place, what does not reflect the real world. In real, restaurants would probably be near their competitors.

As a final conclusion, we can say that it is still better to have the monopoly role in this kind of games. Nevertheless, this model could be refined regarding to the limitations in order to provide a more powerful and complex simulation of the real world.

=Source code=