Please enable JavaScript to view this site.

Vensim Help

Navigation: Reference Guide > Functions > Allocation Functions

FIND MARKET PRICE(dq,dp,sq,sp) FIND the MARKET clearing PRICE

Scroll Prev Top Next More

Returns the price at which the market supply and market demand are equal. This function can be used in situations where both the demand for a good or service and the supply of it can vary.  This is in contrast to the ALLOCATE AVAILABLE function which is appropriate when only one of supply or demand can vary.  Though the function has "price" in its name it can be applied in situations where it is not price, but some other prioritization mechanism that is active.

The function is passed the satiation demand quantity for the different demanders in dq and the demand profiles in dp.  The supply capacities are contained in sp with the associated profiles in sp.  Details on how the quantities and profiles are constructed are contained in the Allocation section. dq must has as its last subscript a range for the demanders and dp must have this followed by a pprofile range as its last two subscripts.  Similarly, sq must have the list of suppliers as its last subscript and sq this followed by a pprofile range.  The result should not have the supplier, demander or pprofile subscripts and the arguments must be passed with the first element in the Subscript Range rather than the name of the Subscript Range.

The result of this function is normally passed to the DEMAND AT PRICE and SUPPLY AT PRICE functions to compute the actual demands and supplies.

Examples

supplier : s1,s2

demander : d1,d2,d3

pprofile : ptype, ppriority, pwidth, pextra

demand satiation[demander] = 500,300

Units: Widget/Month

Supply capacity[supplier] = 200,300,450 

Units: Widget/Month

demand curve[d1,pprofile] = 3,5,2,0

demand curve[d2,pprofile] = 3,7,4,0

Units: $/Widget

supply curve[s1,pprofile] = 3,1,2,0

supply curve[s2,pprofile] = 3,3,4,0

supply curve[s3,pprofile] = 3,5,4,0

Units: $/widget

market price = FIND MARKET PRICE(
demand satiation[d1],demand curve[d1,ptype],
supply capacity[s1],supply curve[s1,ptype])

Units: $/Widget

amount supplied[supplier] = SUPPLY AT PRICE(
supply capacity[supplier], supply curve[supplier,ptype],
market price)

Units: Widget/Month

amount demanded[demander] = DEMAND AT PRICE(
demand satiation[demander], demand curve[demander,ptype],
market price)

Units: Widget/Month

Availability: Professional and DSS only.

See also: ALLOCATE AVAILABLE, DEMAND AT PRICE, SUPPLY AT PRICE, Allocation.

Sample model: DEMAND AT PRICE.mdl in FunctionExamples