$ONTEXT James R. Makusen Thomas F. Rutherford Department of Economics University of Colorado September, 1996 (revised) As in model M2-4S, we have a model here in which there are increasing returns to scale and imperfect competition. As in M2-4S, the profit-maximizing markup on marginal cost is based on the Marshallian approximation to the price elasticity of demand: e = SIGMA - (SIGMA -1) SHAREX In the Marshallian model, the monopoly markup on marginal cost is simply 1/e. Here, we have a variety of other effects such as monopsony power in factor markets; but for simplicity we will assume that the monopolist ignores these linkages in setting the markup. In this version, the monopolist must incur fixed costs of L = 10 and K = 10. These are modelled are negative endowments for an "monopolist" consumer named HTFORD. The benchmark equilibrium has a 20% markup on sales of good X by the monopolist. This is consistent with a 50% value share for X and an elasticity of substitution equal to 9. The social accounts are consistent with zero profit at the benchmark. X Y WC WM PX 100 -100 PY 100 -100 PL -30 -60 -10 PK -50 -40 -10 PROFIT -20 20 PW_C 200 In a counter-factual equilibrium, there may be positive or negative profits, depending on changes markup-revenue and fixed costs. There is a logical problem with the equilibrium under negative profits -- ultimately someone must pay the fixed cost or the monopolist must go out of business. In our model formulation, negative profits imply negative income for the monopolist. Thus, MPSGE cannot compute a solution in which profits are negative. (Demand functions are undefined for negative income.) In order to deal with this situation, we introduce a transfer variable, BAILOUT, which transfers labor income from consumers to the monopolist if markups revenues do not cover fixed costs. Thus, if we compute a solution in which BAILOUT is positive, profits are negative. $OFFTEXT SCALAR sigma Elasticity of substitution in demand / 9 /, fcost Ratio of fixed costs to benchmark / 1 /; $ONTEXT $MODEL:M3_1S $SECTORS: X ! Activity level -- monopolist sector X Y ! Activity level -- competitive sector Y WC ! Welfare index for the consumer WM ! Welfare index for the monopolist $COMMODITIES: PW_C ! Welfare price index for the consumer PW_M ! Welfare price index for the monopolist PX ! Price index for X (gross of markup) PY ! Price index for Y (gross of markup) PL ! Price index for labor PK ! Price index for capital $CONSUMERS: CONSUMER ! All consumers HTFORD ! Monopolist $AUXILIARY: SHAREX ! Value share of X in total consumption MARKUP ! Markup based on Marshallian demand BAILOUT ! Lump-sum transfer which assures non-negative income $PROD:X s:1 O:PX Q: 80 A:HTFORD N:MARKUP I:PL Q: 30 I:PK Q: 50 $PROD:Y s:1 O:PY Q:100 I:PL Q: 60 I:PK Q: 40 $PROD:WC s:sigma O:PW_C Q:200 I:PX Q: 80 P:1.25 I:PY Q:100 $PROD:WM s:sigma O:PW_M Q:20 I:PX Q: 8 P:1.25 I:PY Q:10 $DEMAND:CONSUMER D:PW_C Q:200 E:PL Q:100 E:PK Q:100 E:PL Q:-1 R:BAILOUT $DEMAND:HTFORD D:PW_M E:PL Q:(-10*FCOST) E:PK Q:(-10*FCOST) E:PL Q:1 R:BAILOUT $CONSTRAINT:BAILOUT PL*BAILOUT + 80*MARKUP*PX*X =G= 10*FCOST*(PL+PK); $CONSTRAINT:SHAREX SHAREX * (80 * PX * X + 100 * PY * Y) =G= 80 * PX * X; $CONSTRAINT:MARKUP MARKUP * SIGMA * (1-SHAREX) =G= 1 - MARKUP * SHAREX; $OFFTEXT $SYSINCLUDE mpsgeset M3_1S * Benchmark replication: PX.L = 1.25; SHAREX.L = 0.5; MARKUP.L = 0.20; BAILOUT.L = 0; WM.L = 0; $INCLUDE M3_1S.GEN SOLVE M3_1S USING MCP; $ontext We now do a computational test to determine approximation error associated with the markup equation based on the Marshallian demand model. In the benchmark the markup rate is 20%. Below, we compute the equilibrium outcome for markup rates varying from 15% to 30%. We do this by fixed the value of auxiliary variable MARKUP. When a variable is fixed, the associated constraint is ignored, and the variable is treated like a constant. The solutions from 16 model runs are collected and output to the listing file in parameter WELAFARE. The returned values are: ---- 677 PARAMETER WELFARE Consumer welfare indices for alternative markup rates CONSUMER HTFORD 15 0.018 16 0.015 17 0.012 18 0.008 19 0.004 20 4.44089E-16 21 -0.006 0.016 22 -0.012 0.027 23 -0.017 0.033 24 -0.023 0.035 25 -0.028 0.033 26 -0.033 0.027 27 -0.038 0.016 28 -0.042 0.001 29 -0.048 30 -0.055 We can surmise that the 20% markup based on the Marshallian demand model is about 4% lower than the true (general equilibrium) optimal markup. Despite these approximation errors, most model-builders continue to use the Marshallian approximation because there is no closed-form expression for the true general equilibrium optimal markup. $offtext SET MK /15*30/ PARAMETER WELFARE Consumer welfare indices for alternative markup rates; LOOP(MK, MARKUP.FX = 0.14 + 0.01*ORD(MK); $INCLUDE M3_1S.GEN SOLVE M3_1S USING MCP; WELFARE(MK,"CONSUMER") = WC.L-1; WELFARE(MK,"HTFORD") = WM.L; ); DISPLAY WELFARE;
$ONTEXT James R. Makusen Thomas F. Rutherford Department of Economics University of Colorado September, 1996 (revised) This model is based on the same demand structure as models M2-4S and M3-1S. The Marshallian approximation to the elasticity of demand in these models is given by: e = sigma - (sigma -1) sharex where sigma is the elasticity of substitution in demand and sharex is the value share of good x in final demand. In this version, we assume there are four firms initially producing undifferentiate goods in sector x. The Cournot markup m is applied on a gross basis: price (1 - m) = marginal cost For this model, the optimal markup based on the Marshallian price elasticity of demand is m = (1/n) * (1/e) In the benchmark social accounts, we have a markup over marginal cost equal to 0.2 and n=4, hence the Marshallian price elasticity at the benchmark must be 1.25. Working backward from the formula for e, the elasticity of substitution in x, sigma, must be 1.5. Fixed costs are assumed to be L = 2.5 and K = 2.5 per firm. We model increasing returns with free entry by a "trick". Markup revenues are determined using the formulae shown above. These markups generate determine income for entrepreneurs in sector X. In equilibrium, there are no profits in sector X, so all markup revenue is ultimately allocated to fixed cost. We do this in the MPSGE model by assigning markup revenue to a consumer who in-turn allocates all income to a commodity with the composition of fixed costs. In a counter-factual equilibrium, changes in markup revenue lead to changes in "demand for fixed cost". We therefore may interpret changes in the activity level of the firm which produces fixed costs as changes in the number of firms. The benchmark social accounting matrix is here organized along the lines of the MPSGE model. Sector X produces "marginal cost" for the production of good X. Sector Y produces average and marginal cost for the CRTS good Y. Sector N produces fixed costs for good X, and the activity level of this sector corresponds to the number of firms in the industry. X Y N W CONSUM ENTR PX 100 -100 PY 100 -100 PL -30 -60 -10 100 PK -50 -40 -10 100 MKREV -20 20 PW 200 -200 PF 20 -20 $OFFTEXT SCALAR sigma Elasticity of substitution in demand / 1.5 /, ENDOW Size index for the economy / 1 /; $ONTEXT $MODEL:M3_2 $SECTORS: X ! Activity level -- sector X output Y ! Activity level -- competitive sector Y W ! Welfare index for the representative consumer N ! Activity level -- sector X fixed costs = number of firms $COMMODITIES: PW ! Price index for representative agent utility PX ! Price of good X (gross of markup) PY ! Price of good Y PF ! Unit price of inputs to fixed cost PL ! Price index for labor PK ! Price index for capital $CONSUMERS: CONS ! Representative agent ENTRE ! Entrepreneur (converts markup revenue to fixed cost) $AUXILIARY: SHAREX ! Value share of good X in expenditure MARKUP ! Optimal markup based on Marshallian demand elasticity $PROD:X s:1 O:PX Q: 80 A:ENTRE N:MARKUP I:PL Q: 30 I:PK Q: 50 $PROD:Y s:1 O:PY Q:100 I:PL Q: 60 I:PK Q: 40 $PROD:N s:1 O:PF Q: 5 I:PL Q: 2.5 I:PK Q: 2.5 $PROD:W s:1.5 O:PW Q:200 I:PX Q: 80 P:1.25 I:PY Q:100 $DEMAND:CONS D:PW Q:200 E:PL Q:(ENDOW*100) E:PK Q:(ENDOW*100) $DEMAND:ENTRE D:PF Q: 20 $CONSTRAINT:SHAREX SHAREX * (80*PX*X + 100*PY*Y) =G= 80*PX*X; $CONSTRAINT:MARKUP MARKUP * SIGMA * N * (1 - SHAREX) =G= 1 - MARKUP * SHAREX * N; $OFFTEXT $SYSINCLUDE mpsgeset M3_2 * Benchmark replication: N.L = 4; PX.L = 1.25; SHAREX.L=0.5; MARKUP.L=0.20; $INCLUDE M3_2.GEN SOLVE M3_2 USING MCP; * Counterfactual double the size of economy. ENDOW = 2; $INCLUDE M3_2.GEN SOLVE M3_2 USING MCP;
$ONTEXT James R. Makusen Thomas F. Rutherford Department of Economics University of Colorado September, 1996 (revised) Formally, MPSGE requires constant returns to scale in all activities. Suppose that we believe that there are external economies in X but that these are external to the firm. Suppose that we believe that the elasticity of scale is 1.25. We begin by normalizing industry output (the activity level of X) to 1. Then create a rationing constraint that adjusts the consumers endowment of CX (equal to 100 initially) in proportion to the difference between industry output (activity level of X) raised to the power 1.25 and its inital value of 1. We also specify a subsidy, paid by consumers to producers of X such that the value of the subsidy paid by consumers will be just equal to the value of their expanded consumption of X. If the new activity level for X is less than 1, however, then the consumers endowment of CX must be contracted rather than expanded and producers must pay a tax equal to the value of the contracted endowment. This is handled by adjusting the bounds on the auxiliary variables which specify the endowment adjustment and output subsidy. The model is based on the benchmark social accounts for model M1-1: Production Sectors Consumers Markets | X Y W | CONS ------------------------------------------------------ PX | 100 -100 | PY | 100 -100 | PW | 200 | -200 PL | -40 -60 | 100 PK | -60 -40 | 100 ------------------------------------------------------ $OFFTEXT SCALAR ENDOW Size index for the economy / 1 /; $ONTEXT $MODEL:M3_3S $SECTORS: X ! Activity level for sector X Y ! Activity level for sector Y W ! Activity level for sector W (Hicksian welfare index) $COMMODITIES: PX ! Price index for commodity X PY ! Price index for commodity Y PL ! Price index for primary factor L PK ! Price index for primary factor K PW ! Price index for welfare (expenditure function) $CONSUMERS: CONS ! Income level for consumer CONS $AUXILIARY: XQADJ ! Quantity adjustment (positive when X>1) XPADJ ! X output subsidy rate (positive when X>1) $PROD: X s:1 O:PX Q:100 A:CONS N:XPADJ M:-1 I:PL Q: 40 I:PK Q: 60 $PROD: Y s:1 O:PY Q:100 I:PL Q: 60 I:PK Q: 40 $PROD: W s:1 O: PW Q:200 I: PX Q:100 I: PY Q:100 $DEMAND:CONS D:PW Q:200 E:PL Q:(ENDOW*100) E:PK Q:(ENDOW*100) E:PX Q:100 R:XQADJ $CONSTRAINT:XQADJ XQADJ =E= X**1.25 - X; $CONSTRAINT:XPADJ XPADJ * X =E= XQADJ; $OFFTEXT $SYSINCLUDE mpsgeset M3_3S * Adjust bounds so that the auxiliary variables can take on * negative values: XQADJ.LO = -INF; XPADJ.LO = -INF; * Benchmark replication $INCLUDE M3_3S.GEN SOLVE M3_3S USING MCP; * Counterfactual: expand the size of the economy ENDOW = 2; $INCLUDE M3_3S.GEN SOLVE M3_3S USING MCP; * Counterfactual: contract the size of the economy ENDOW = 0.8; $INCLUDE M3_3S.GEN SOLVE M3_3S USING MCP;
$ONTEXT James R. Makusen Thomas F. Rutherford Department of Economics University of Colorado September, 1996 (revised) This example shows how the Krugman-type monopolistic-competition model using the Dixit-Stiglitz type preferences can be modelled using the tricks introduced in M3-2 and M3-3. With symmetry in all goods, utility from differentiated goods can be written as U = N**(1/beta) * X where N is the number of * products and X is the output level of a representative product. With the individual X's constant in the Krugman model, the expansion of output through adding new products is equivalent to modelling U as a function that is homogeneous of degree 1/beta. The file below models the output of the X's with a constant markup equal to (1 - beta). (beta = 0.8 in this example). Markup revenues are converted to demand for fixed costs using an "entrepreneur", as in M3-2. Free entry determines the number of products N, the activity level for fixed costs. The outputs of the X's are then "scaled up" as in the external economies model, which is, in this case, reflecting the value of product diversity. We begin with the same SAM as in M1-1S, then add two sectors (XC and N), two goods (CX, PF) and one consumer (ENTR). In the benchmark, consumer ENTR collects markup revenue which is equal to base year fixed costs: Production Sectors Consumers Markets | XC X N Y W | CONS ENTR ---------------------------------------------------------------------- PX | 100 -100 | CX ! 80 -80 | PY | 100 -100 | PF | 20 | -20 PW | 200 | -200 PL | -35 -5 -60 | 100 PK | -45 -15 -40 | 100 ---------------------------------------------------------------------- MK | -20 20 $OFFTEXT SCALAR ENDOW Size index for the economy / 1 /; $ONTEXT $MODEL:M3_4S $SECTORS: X ! Activity level for sector X Y ! Activity level for sector Y W ! Activity level for sector W (Hicksian welfare index) N ! Activity level -- sector X fixed costs = number of firms XC ! Activity level -- marginal cost of X $COMMODITIES: PX ! Price index for commodity X (gross of markup) CX ! Marginal cost index for commodity X (net markup) PY ! Price index for commodity Y PL ! Price index for primary factor L PF ! Unit price of inputs to fixed cost PK ! Price index for primary factor K PW ! Price index for welfare (expenditure function) $CONSUMERS: CONS ! Income level for consumer CONS ENTRE ! Entrepreneur (converts markup revenue to fixed cost) $AUXILIARY: XQADJ ! Quantity adjustment (positive when X>1) XPADJ ! X output subsidy rate (positive when X>1) $PROD:X s:1 O:PX Q: 80 P:1.25 A:CONS N:XPADJ M:-1 I:CX Q: 80 P:1.25 $PROD:Y s:1 O:PY Q:100 I:PL Q: 60 I:PK Q: 40 $PROD:XC s:1 O:CX Q: 80 A:ENTRE T:0.20 I:PL Q: 35 I:PK Q: 45 $PROD:N s:1 O:PF Q:20 I:PK Q:15 I:PL Q: 5 $PROD:W s:1.0 O:PW Q:200 I:PX Q: 80 P:1.25 I:PY Q:100 $DEMAND:CONS D:PW Q:200 E:PL Q:(100*ENDOW) E:PK Q:(100*ENDOW) E:PX Q:80 R:XQADJ $DEMAND: ENTRE D:PF Q:20 $CONSTRAINT:XQADJ XQADJ =E= X**1.25 - X; $CONSTRAINT:XPADJ XPADJ * X =E= XQADJ; $OFFTEXT $SYSINCLUDE mpsgeset M3_4S * Adjust bounds so that the auxiliary variables can take on * negative values: XQADJ.LO = -INF; XPADJ.LO = -INF; * Benchmark replication: PX.L = 1.25; CX.L = 1.25; $INCLUDE M3_4S.GEN SOLVE M3_4S USING MCP; * Counterfactual: expand the size of the economy ENDOW = 2; $INCLUDE M3_4S.GEN SOLVE M3_4S USING MCP;