Multistage Market Simulation

Fred C. White
Agricultural and Applied Economics
The Universtity of Georgia

fwhite@agecon.uga.edu


Directions for Students   Supply and Demand Curves

Record of Trades    Computer Program






Directions for Students

The class is divided into student teams of three to five members each. The teams make economic decisions on prices and quantities traded in the context of a simulated market. The market consists of three types of hypothetical firms: producers, marketers, and processors. Each student team can choose whether it wants to be a producer, a marketer, or a processor. In order to maintain a balanced market, there should be an equal number of producers, marketers and processors.

Supply and demand curves for the firms are shown in Figure 1. Producers choose from two possible supply curves, representing different technologies. Processors are agribusinesses that process the product. They have two possible derived demand curves for raw inputs. Demand curves represent different technologies. Marketers, which are market intermediaries, buy the product from producers and sell it to processors without changing its form.

Processors cannot trade directly with producers. Producers and processors can trade with more than one team of marketers. Likewise, marketers can trade with more than one team of producers and/or processors. Firms with multiple trades add up quantities and average prices to determine profits.

The objective for each firm is to attempt to maximize profit. Prices and quantities are to be determined through negotiations. With no fixed costs, profit for producers is the same as producer surplus -- the area between the supply curve and the price line. Likewise, profit for processors is the same as consumer surplus -- the area between the demand curve and the price line. Profit for marketers is the price wedge between average prices for purchases and sales multiplied by the quantity traded by the marketing firm.

There will be three rounds of the simulation exercise: (1) no government programs, (2) a subsidy on consumption, and (3) a marketing agreement. The impacts of the government programs will be analyzed by comparing the results with a subsidy and a marketing agreement to the results with no government program in the first round.

Under the marketing agreement, marketers segment the market with price discrimination. Small quantities are sold to some processors at high prices, and larger quantities are sold to other processors at lower prices. With price discrimination, producers and marketers are expected to earn higher profits than under a free market with a single price.



Top of Page|| Directions for students || Supply and demand curves
Record of trades || Computer program || Fred White's home page




Link to supply and demand curves to be distibuted to students.
Supply and Demand



Top of Page|| Directions for students || Supply and demand curves
Record of trades || Computer program || Fred White's home page



Record of Trades

Multistage Market
Round __
___________________________________________________

Team Information

Team Number __

(Check one of the following)
Producers ___, Marketers ___, or Consumers ___

If producers, check one: S1 ___ or S2 ___
If consumers, check one: D1 ___ or D2 ___

___________________________________________________
Trading Information

1. Buying Team ___ and Selling Team ___

Price $ ___ and Quantity ___


2. Buying Team ___ and Selling Team ___

Price $ ___ and Quantity ___


3. Buying Team ___ and Selling Team ___

Price $ ___ and Quantity ___


4. Buying Team ___ and Selling Team ___

Price $ ___ and Quantity ___


5. Buying Team ___ and Selling Team ___

Price $ ___ and Quantity ___


6. Buying Team ___ and Selling Team ___

Price $ ___ and Quantity ___

___________________________________________________


Top of Page|| Directions for students || Supply and demand curves
Record of trades || Computer program || Fred White's home page




Computer Program




* This program is written for the software:
* Regression Analysis of Time Series (RATS)
* Instructions on data are in blue letters.
* Data to be entered by the user is highlighted in bold red letters.
* Revised 5/26/97

OPEN OUTPUT A:O
* DISK I96.2
* FILE A:MULTIA.PGM
* MULTISTAGE MARKET

* YEAR
IEVAL IYR = 1997

* IRND IS ROUND NUMBER(1,2 or 3)
IEVAL IRND = 3

* *************************
* $3 CONSUMPTION SUBSIDY
* USED ONLY IN ROUND 2
* IEVAL ICONSSUB = 1
* EVAL SUBRATE = 3
IEVAL ICONSSUB = 0
EVAL SUBRATE = 0


* NP IS NUMBER OF PRODUCERS
IEVAL NP = 4

* NM IS NUMBER OF MARKETERS
IEVAL NM = 4

* NC IS NUMBER OF CONSUMERS
IEVAL NC = 4

* NT IS NUMBER OF TEAMS
IEVAL NTEAMS = NP + NM + NC

* NTRADES IS NUMBER OF TRADES
IEVAL NTRADES = 10

DECLARE RECT DATUM(NTEAMS,3)
DECLARE RECT TRDATUM(NTRADES,4)
DECLARE RECT PQMAT(NTEAMS,4)
DECLARE VECT A0(2) A1(2) B0(2) B1(2)
DECLARE VECT PROFIT(NTEAMS)

* TEAM DESCRIPTIONS
* 1ST COLUMN IS TEAM NUMBER
* 2ND COLUMN IS 1 FOR PRODUCER
* 2 FOR MARKETER
* 3 FOR CONSUMER
* 3RD COLUMN IS 1 FOR S1 OR D1
* 2 FOR S2 OR D2
* 0 FOR MARKETERS

INPUT DATUM
1 1 2
2 1 2
3 3 2
4 3 2
5 2 0
6 1 2
7 2 0
8 3 2
9 1 2
10 3 1
11 2 0
12 2 0

* TRADES
* 1ST COLUMN IS BUYER NUMBER
* 2ND COLUMN IS SELLER NUMBER
* 3RD COLUMN IS PRICE
* 4TH COLUMN IS QUANTITY

INPUT TRDATUM
7 1 11 10
12 2 10 10
3 12 11 10
4 6 12 8
4 5 13 2
5 9 9 8
8 5 12 2
10 5 13 4
8 12 10 2
8 7 12 10

MAT PQMAT = %CONST(0.0)
DO I = 1 , NTRADES
IEVAL IB = 0
:15 IEVAL IB = IB + 1
IF IB BRANCH 15
IEVAL IB = IB - 1
IEVAL IS = 0
:16 IEVAL IS = IS + 1
IF IS BRANCH 16
IEVAL IS = IS - 1
EVAL PQMAT(IS,1) = PQMAT(IS,1) + TRDATUM(I,3)*TRDATUM(I,4)
EVAL PQMAT(IS,2) = PQMAT(IS,2) + TRDATUM(I,4)
EVAL PQMAT(IB,3) = PQMAT(IB,3) + TRDATUM(I,3)*TRDATUM(I,4)
EVAL PQMAT(IB,4) = PQMAT(IB,4) + TRDATUM(I,4)
END DO I
DO I = 1 , NTEAMS
IF PQMAT(I,2)>0.
EVAL PQMAT(I,1) = PQMAT(I,1) / PQMAT(I,2)
IF PQMAT(I,4)>0.
EVAL PQMAT(I,3) = PQMAT(I,3) / PQMAT(I,4)
END DO I
WRITE PQMAT

EVAL S1R = 0.
EVAL S2R = 0.
EVAL D1R = 0.
EVAL D2R = 0.
EVAL S1Q = 0.
EVAL S2Q = 0.
EVAL D1Q = 0.
EVAL D2Q = 0.
DO I = 1 , NTEAMS
IEVAL IT = 0
:21 IEVAL IT = IT + 1
IF IT BRANCH 21
IEVAL IT = IT - 1
IF DATUM(I,2)==1
{
IF DATUM(I,3)==1.
{
EVAL S1R=S1R+PQMAT(IT,1)*PQMAT(IT,2)
EVAL S1Q=S1Q+PQMAT(IT,2)
}
IF DATUM(I,3)==2.
{
EVAL S2R=S2R+PQMAT(IT,1)*PQMAT(IT,2)
EVAL S2Q=S2Q+PQMAT(IT,2)
}
}
IF DATUM(I,2)==3
{
IF DATUM(I,3)==1.
{
EVAL D1R=D1R+PQMAT(IT,3)*PQMAT(IT,4)
EVAL D1Q=D1Q+PQMAT(IT,4)
}
IF DATUM(I,3)==2.
{
EVAL D2R=D2R+PQMAT(IT,3)*PQMAT(IT,4)
EVAL D2Q=D2Q+PQMAT(IT,4)
}
}
END DO I
EVAL S1P = S1R / S1Q
EVAL S2P = S2R / S2Q
EVAL D1P = D1R / D1Q
EVAL D2P = D2R / D2Q



* FINDS AVERAGE INTERMEDIATE PRICE
EVAL TIPQ = 0.
EVAL TIQ = 0.
DO I = 1 , NTEAMS
IF DATUM(I,2)==2.
EVAL TIPQ = TIPQ + PQMAT(I,3) * PQMAT(I,4)
IF DATUM(I,2)==2.
EVAL TIQ = TIQ + PQMAT(I,4)
END DO I
EVAL IPAV = TIPQ / TIQ
EVAL IQAV = TIQ / NM

* FINDS AVERAGE FINAL PRICE
EVAL TFPQ = 0.
EVAL TFQ = 0.
DO I = 1 , NTEAMS
IF DATUM(I,2)==2.
EVAL TFPQ = TFPQ + PQMAT(I,1) * PQMAT(I,2)
IF DATUM(I,2)==2.
EVAL TFQ = TFQ + PQMAT(I,2)
END DO I
EVAL FPAV = TFPQ / TFQ
EVAL FQAV = TFQ / NM

WRITE PQMAT

DO I = 1 , NTEAMS
EVAL TNUM = DATUM(I,1)
IEVAL IT = 0
:17 IEVAL IT = IT + 1
IF IT BRANCH 17
IEVAL IT = IT - 1
EVAL ITYPE = DATUM(I,2)
IEVAL ICURVE = 0
:18 IEVAL ICURVE = ICURVE + 1
IF ICURVE BRANCH 18
IEVAL ICURVE = ICURVE - 1

* PRODUCERS
IF ITYPE==1.
{
* SUPPLY 1
EVAL A0(1) = 0.
EVAL A1(1) = 1.
* SUPPLY 2
EVAL A0(2) = 2.
EVAL A1(2) = 0.5
EVAL PROFIT(IT) = PQMAT(IT,1)*PQMAT(IT,2) $
- A0(ICURVE)*PQMAT(IT,2) $
- 0.5*A1(ICURVE)*PQMAT(IT,2)**2
}

* MARKETERS
IF ITYPE==2.
{
EVAL PROFIT(IT) = PQMAT(IT,1)*PQMAT(IT,2) $
- PQMAT(IT,3)*PQMAT(IT,4)
}

* CONSUMERS
IF ITYPE==3.
{
* DEMAND 1
EVAL B0(1) = 20.
EVAL B1(1) = -1.
* DEMAND 2
EVAL B0(2) = 18.
EVAL B1(2) = -0.5

* SUBSIDY ON CONSUMPTION
IF ICONSSUB==1
EVAL B1(1) = B1(1)+SUBRATE
IF ICONSSUB==1
EVAL B1(2) = B1(2)+SUBRATE

EVAL PROFIT(IT) = B0(ICURVE)*PQMAT(IT,4) $
+ 0.5*B1(ICURVE)*PQMAT(IT,4)**2 $
- PQMAT(IT,3)*PQMAT(IT,4)
)
END DO I
END DO I
WRITE PROFIT



* AVERAGE PROFIT
EVAL PROFTTL = 0.
DO I = 1 , NTEAMS
MAT PROFTTL = PROFTTL + PROFIT(I)
END DO I
EVAL PROFAV = PROFTTL / NTEAMS

* MULTISTAGE PROFITS
EVAL PPROF = 0.
EVAL MPROF = 0.
EVAL CPROF = 0.
DO I = 1 , NTEAMS
IEVAL IT = 0
:31 IEVAL IT = IT + 1
IF IT BRANCH 31
IEVAL IT = IT - 1
IF DATUM(I,2)==1.
EVAL PPROF = PPROF + PROFIT(IT)
IF DATUM(I,2)==2.
EVAL MPROF = MPROF + PROFIT(IT)
IF DATUM(I,2)==3.
EVAL CPROF = CPROF + PROFIT(IT)
END DO I
EVAL PPROF = PPROF / NP
EVAL MPROF = MPROF / NM
EVAL CPROF = CPROF / NC

* RANKING OF TEAMS
{
DISPLAY ' MULTISTAGE MARKET' IYR
DISPLAY
DISPLAY
DISPLAY ' ROUND ' #####.## IRND
DISPLAY ' AVERAGE PROFIT ' #####.## PROFAV
DISPLAY ' AVERAGE INTERMEDIATE PRICE' #####.## IPAV
DISPLAY ' AVERAGE FINAL PRICE ' #####.## FPAV
DISPLAY
DISPLAY ' TEAMS RANKED BY PROFITS'
DISPLAY ' SELLING BUYING '
DISPLAY ' --------------- ---------------'
DISPLAY ' NO. PROFIT QUANTITY PRICE QUANTITY PRICE'
EVAL ZPROFIT = -10000
DO J = 1 , NTEAMS
IEVAL K = 0
EVAL RPROFIT = -10000
DO I = 1 , NTEAMS
IF PROFIT(I) > RPROFIT
{
IEVAL K = I
EVAL RPROFIT = PROFIT(I)
}
END DO I
DISPLAY ######## K $
#####.## PROFIT(K) #####.## PQMAT(K,2) #####.## PQMAT(K,1) $
#####.## PQMAT(K,4) #####.## PQMAT(K,3)
EVAL PROFIT(K) = ZPROFIT
END DO J
}

EVAL MARBUY = 0.
EVAL CONBUY = 0.
DO I = 1 , NTRADES
IEVAL IB = 0
:30 IEVAL IB = IB + 1
IF IB BRANCH 30
IEVAL IB = IB - 1
IF DATUM(IB,2)==2
EVAL MARBUY = MARBUY + TRDATUM(I,4)
IF DATUM(IB,2)==3
EVAL CONBUY = CONBUY + TRDATUM(I,4)
END DO I
EVAL MARBUY = MARBUY / NP
EVAL CONBUY = CONBUY / NC


{
DISPLAY
DISPLAY ' MULTISTAGE MARKET' IYR
DISPLAY
DISPLAY ' INTERMEDIATE PRICE' ##.## IPAV
DISPLAY ' FINAL PRICE ' ##.## FPAV
DISPLAY
DISPLAY ' QUANTITIES 1st HANDLERS LEVEL'
DISPLAY ' AVERAGE PRODUCTION ' ##.## MARBUY
DISPLAY
DISPLAY ' QUANTITIES 2nd HANDLERS LEVEL'
DISPLAY ' AVERAGE PRODUCTION ' ##.## CONBUY
DISPLAY
DISPLAY ' AVERAGE PROFITS ' ###.## PROFAV
DISPLAY ' PRODUCER TEAMS' NP 'PROFITS' ###.## PPROF
DISPLAY ' MARKETER TEAMS' NM 'PROFITS' ###.## MPROF
DISPLAY ' CONSUMER TEAMS' NC 'PROFITS' ###.## CPROF
}
END
END


Multistage Market Links

Top of Page for Multistage Market
Directions for students || Supply and demand curves
Record of trades || Computer program || Fred White's home page



Teaching Innovation Links

Top of Page for Teaching Innovations
Annotated Bibliography || Economic Simulations
General Teaching Innovations|| Testing Innovations
Computer Simulation Programs || Industry Structure
International Trade|| Multistage Markets
Fred White's home page


1