ECON 321 Assignment 9: Business Stealing

First, we need to set up a Cournot inverse demand system. For firm 1, let

inverseDemand =10-2(Subscript[q, i])-2(Subscript[Q, -i])

Firm i’s Operating Profit Maximization Problem (we’ll add entry cost e later).

opprofiti=(inverseDemand-c)(Subscript[q, i])

FOCi = D[opprofiti,(Subscript[q, i])]==0

Taking advantage of the fact that every other firm in the market solves the same problem, we can proceed in two steps. First, find the reaction function for firm 1:

reacti=Solve[FOCi,(Subscript[q, i])]/.Rule->Equal//Flatten//First

Now every firm solves a similar problem, so we can sum up all the reaction functions and solve for Q

∑(Subscript[q, i])= (1/4)(10n-cn-2∑(Subscript[Q, -i])). Then remember that ∑(Subscript[Q, -i])=(n-1)Q. (See class 4 and book Section 3.2.1.)

sumreacti = Q==(1/4)(10n-c n - 2(n-1)Q)

totalQ=Solve[sumreacti,Q]//Flatten//First

And now substitute this into the reaction function to get the Nash equilibrium

qstar = Solve[reacti/.(Subscript[Q, -i])->Q-(Subscript[q, i])/.totalQ,(Subscript[q, i])]//Flatten//First

{pstar,opprofitstar} = {inverseDemand,opprofiti}/.{(Subscript[Q, -i])->(n-1)*(Subscript[q, i])}/.qstar//Simplify

For the following special case, we can plot what happens as more firms enter the market.

e=1.5;

Plot[{opprofitstar/.c->1,opprofitstar/.c->4,e},{n,1,10},PlotLabels->Automatic]

{Solve[(opprofitstar/.c->1)==e,n] , Solve[(opprofitstar/.c->4)==e,n]}

Now we analyze the welfare in this market. Consumer surplus is just the area under demand between the equilibrium price and the choke price (which is just the inverse demand intercept a).

CS=(1/2)*(10-pstar)*n*(Subscript[q, i])/.qstar//Simplify

Plot[{CS/.c->1,CS/.c->4},{n,1,10},PlotLabels->Automatic]

grossWelfare=CS+n*opprofitstar//Simplify

Plot[{grossWelfare/.c->1,grossWelfare/.c->4,n*e},{n,1,10},PlotLabels->Automatic]

marginalWelfare=D[grossWelfare,n]//Simplify

Plot[{marginalWelfare/.c->1,opprofitstar/.c->1,e},{n,1,10},PlotLabels->Automatic]

Capital Intensity of the Modern Telecom Industry: Not Like the Past?

Set up a generic linear demand Cournot industry

{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)))};

Claim: Although often referred to as capital intensive, modern telecoms really isn’t. Mobile carriers, for example, only spend 14% of revenue on capex.

The Pennsylvania RR is 1902 reported 113 million in revenue and 40 million in operating profit. It reported 26 million in net income (23% of TR). To calibrate, we would like Revenue = 1, (π^op)=0.35, and F = 0.12. Also, let’s assume the Pennsylvania was essentially in Cournot duopoly with the New York Central, so these are Cournot duopoly outcomes.

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

ePenn=0.12;

Plot[{marginalWelfare/.paramsPenn,opprofitstar/.paramsPenn,ePenn},{n,1,6},GridLines->{{2},{}},PlotLabels->Automatic]

We might want to increase fixed costs enough to make a third firm unprofitable. That would require

fPenn=f/.Solve[(opprofitstar/.paramsPenn/.n->3)-f==0,f]//First

Today Verizon reported 126 billion in revenue, 99 billion in operating costs, and 27 billion in operating profit. It reported 21 billion in net income (i.e. 17% of TR). To calibrate, we’d like TR=1, (π^op)=0.21, and F=0.05. Also let’s assume that Verizon is essentially in Cournot duopoly with AT&T.

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

eVzn=0.05;

{elasticityVzn,pVzn}={1/(-b ((n*qstar)/pstar)),pstar}/.paramsVzn/.n->2

Plot[{marginalWelfare/.paramsVzn,opprofitstar/.paramsVzn,eVzn},{n,1,5},GridLines->{{2},{}},PlotLabels->Automatic]

Maybe Verizon’s operating expenses include a lot of “intangibles” that really act as fixed costs.

paramsVznAdj=Solve[{(opprofitstar/.n->2)==0.21+(ePenn-eVzn),(totalrevenue/.n->2)==1},{a,b}]//Flatten

{elasticityVznAdj,pVznAdj}={1/(-b ((n*qstar)/pstar)),pstar}/.paramsVznAdj/.n->2

Plot[{marginalWelfare/.paramsVznAdj,opprofitstar/.paramsVznAdj,ePenn,fPenn},{n,1,5},GridLines->{{2},{}},PlotLabels->Automatic]