Quick Review from Assignment 7

Set up a generic linear demand Cournot industry with constant marginal cost c=1

{qstar= ((a-1)/(b (1+n))),pstar=((a+ n)/(1+n)),opprofitstar=((((a-1))^2)/(b(((1+n))^2))),totalrevenue=pstar*qstar,marginalWelfare=((((a-1))^2)/(b (((1+n))^3)))};

paramsPenn=Solve[{(opprofitstar/.n->2)==0.35,(totalrevenue/.n->2)==1},{a,b}]//Flatten

{elasticity,pPenn}={1/(-b ((n*qstar)/pstar)),pstar}/.paramsPenn/.n->2

ECON 321 Assignment 8: Price Discrimination

I want to try doing the same thing as in Figure 8.2, but instead of monopoly, let there be Cournot duopoly competition.

It’s crucial that both firms have exactly the same knowledge about consumers -- i.e. they can both detect whether a consumer is in one of m segments, each of length (1/n), but no firm has any private information.

First, the demand curve on segment m is

demandm=(m/n)-(Subscript[p, m])

Inverse demand on this segment is then

inverseDemandm=(Subscript[p, m])/.Solve[((Subscript[qm, i])+(Subscript[Qm, (-i)]))==demandm,(Subscript[p, m])]//First

A typical firm on this segment solves the Cournot problem (assume MC=0)

profitmi=(inverseDemandm)(Subscript[qm, i])

The first order condition for profit max is

FOCmi=D[profitmi,(Subscript[qm, i])]==0

The sum of all these FOCs for all Nf firms
-∑(Subscript[qm, i])+((Nf m-n∑(Subscript[qm, i])-n∑(Subscript[Qm,  -i]))/n)

Then remember that ∑(Subscript[Qm, -i])=(Nf-1)Qm. (See class 4 and also Section 3.2.1 of the book.)

sumFOCmi = - Qm + ((Nf m -n Qm - n(Nf-1)Qm)/n)==0

totalQm = Solve[sumFOCmi,Qm]//Flatten//First

And now substitute this into the reaction function to get the Cournot-Nash equilibrium on segment m

qstarmi=Solve[FOCmi/.(Subscript[Qm, -i])->Qm-(Subscript[qm, i])/.totalQm,(Subscript[qm, i])]//Flatten//First

We need to check that the total demand is not bigger than the segment size of (1/n). We can just check for Nf=1 to begin with, since that’s when Qm is smallest.

interior=(Qm/.totalQm) < (1/n)//Simplify

Reduce[interior&&n>0&&m>0&&Nf==1]

So as with the monopoly example in the book, it’s only segment 1 where the interior solution doesn’t fill up the entire segment. (BTW this is very sensitive to the MC=0 assumption.)

qstar1i=(Subscript[qm, i])/.qstarmi/.m->1

profitstar1i=profitmi/.(Subscript[Qm, -i])->Qm-(Subscript[qm, i])/.totalQm/.qstarmi/.m->1//Simplify

pstar1=inverseDemandm/.(Subscript[Qm, -i])->Qm-(Subscript[qm, i])/.totalQm/.qstarmi/.m->1//Simplify

CS1=(1/2)((1/n)-pstar1)(Nf qstar1i)//Simplify

DWL1=(1/2)(pstar1-0)((1/n)-Nf qstar1i)//Simplify

On the rest of the segments, m=2...n, the two firms just split (I think) the segment proportionately, so

qstars2plusi=(Subscript[qm, i])->(1/Nf)(1/n)

pstar2plus=inverseDemandm/.(Subscript[Qm, -i])->Qm-(Subscript[qm, i])/.Qm->Nf (Subscript[qm, i])/.qstars2plusi//Simplify

profitstar2plusi=profitmi/.(Subscript[Qm, -i])->Qm-(Subscript[qm, i])/.Qm->Nf (Subscript[qm, i])/.qstars2plusi//Simplify

CS2plus=(1/2)((m/n)-pstar2plus)((1/n))//Simplify

So to get the total welfare measures as a function of n we need to sum up over all the segments

totalprofits=Nf*profitstar1i+Sum[Nf*profitstar2plusi,{m,2,n}]

totalCS=CS1+Sum[CS2plus,{m,2,n}]

And so the equivalent plot to Figure 8.2 is

Plot[{totalCS/.Nf->1,totalprofits/.Nf->1,totalCS/.Nf->2,totalprofits/.Nf->2,totalCS/.Nf->3,totalprofits/.Nf->3},{n,1,4},PlotLabels->Automatic]//Labeled[#,"Number of Segments"]&

Alternatively, we could consider how the number of firms affects profits and CS depending on how many segments the firms are price discriminating over.

Plot[{totalCS/.n->1,totalprofits/.n->1,totalCS/.n->2,totalprofits/.n->2,totalCS/.n->3,totalprofits/.n->3},{Nf,1,4},PlotLabels->Automatic]//Labeled[#,"Number of Firms"]&