ECON 321 Assignment 10: Hotelling

First, we need to set up utility functions for consumer type x buying from firm 1 and firm 2. I’m also going to add on that the utilities are possibly different for the two firms, so (Subscript[r, 1]) and (Subscript[r, 2]) instead of just r.

{(Subscript[v, 1])=(Subscript[r, 1])-τ(x-0)-(Subscript[p, 1]),(Subscript[v, 2])=(Subscript[r, 2])-τ(1-x)-(Subscript[p, 2])}

Then the indifferent consumer is

xhat=Solve[(Subscript[v, 1])==(Subscript[v, 2]),x]//Flatten//First

And that means that demand for firm 1 and firm 2 can be written

{(Subscript[Q, 1])=x/.xhat,(Subscript[Q, 2])=(1-x)/.xhat}

Firm 1 and 2’s Profits are

{profit1=((Subscript[p, 1])-1)(Subscript[Q, 1]),profit2=((Subscript[p, 2])-1)(Subscript[Q, 2])}

The first order conditions for profit max are

{FOC1=D[profit1,(Subscript[p, 1])]==0,FOC2=D[profit2,(Subscript[p, 2])]==0}//Simplify

We can solve these for the reaction functions

{react1,react2}={Solve[FOC1,(Subscript[p, 1])],Solve[FOC2,(Subscript[p, 2])]}/.Rule->Equal//Flatten

Note that these are both upward-sloping in the price of the other firm. This shows how this game is a type of Bertrand competition.

Now solve simultaneously to get the Nash equilibrium prices and profits

pstars=Solve[{react1,react2},{(Subscript[p, 1]),(Subscript[p, 2])}]//Flatten//Simplify

{qstars,profitstars}={{(Subscript[Q, 1]),(Subscript[Q, 2])},{profit1,profit2}}/.pstars//Simplify

For the special case of (Subscript[r, 1])=(Subscript[r, 2])=r these simplify further to

{pstars,qstars,profitstars}/.{(Subscript[r, 1])->r,(Subscript[r, 2])->r}//Simplify

xhat/.pstars//Simplify

Quality Augmented Hotelling Model

Now suppose that the above is actually stage 2 of a game, and in stage 1 the firms choose their (Subscript[r, 1]) and (Subscript[r, 2]) according to a cost function where C(r)=(r^2). Then the stage 1 profit functions are just the stage 2 payoffs minus this cost of investing in quality:

stage1profits={profitstars[[1]]-((Subscript[r, 1])^2),profitstars[[2]]-((Subscript[r, 2])^2)}

Let’s check that these profits reach a maximum in r:

Plot[stage1profits[[1]]/.{τ->2,(Subscript[r, 2])->.4},{(Subscript[r, 1]),0,.6}]

The first order conditions for a profit max at stage 1 are

stage1FOCs = {D[stage1profits[[1]],(Subscript[r, 1])]==0,D[stage1profits[[2]],(Subscript[r, 2])]==0}

Turned into reaction functions these are

stage1react={Solve[stage1FOCs[[1]],(Subscript[r, 1])],Solve[stage1FOCs[[2]],(Subscript[r, 2])]}/.Rule->Equal//Flatten//Simplify

rstars=Solve[stage1react,{(Subscript[r, 1]),(Subscript[r, 2])}]//Flatten

Note that the equilibrium is not affected by τ. This illustrates how the firms compete away any surplus they generate that is not protected by product differentiation. And in this model, the only form of product differentiation is the distance along the line. 
The firms will choose some positive level of investment in r because they are in a prisoner’s dilemma. Cooperating to set r=0 would be better for them.