Paper Review
Hello Hammer,
I had also thought about how to bring the Victoria Economic model closer to reality, but I couldn't find the effort to write such a paper. Great!
Concerning its contents it could use a little bit of improvement. Let's start
Equation (2) on page 6 is wrong since as you later point out in the second part factories can't substitute input whereas according to the equation 100% substituteability would exists. A more correct version of the equation would replace the (X1+X2+X3) with 1 representing the fixed input bundle.
What is not mentioned in equation (3) is that profit normally is income - variable costs - fixed cost. Only in Victoria fixed costs = 0. This should have consequences for the supply curves, although I haven't though much about that.
The following demand vs. supply analysis is IMHO utterly fruitless since it is assuming a normally shaped demand curve. But demand in Victoria is completely inflexible since ceterum paribus it only depends on the entry in the pop-needs files. So demand is a line parallel to the x-axis and therefor supply side has to do _all_ the work to bring the market to an equilibrium.
BTW, the min/max-price prevents equilibrium analysis on pages 9&10 has two further problems: First, it is vice versa with the effects on proice, i.e. in Fig. 3 with Pmax below equilibrium the commodity price will _not_ go lower and lower but constantly be at Pmax (and there will be a huge supply deficit, the typical effect of artificially capped prices in real economies, too).
Second, I'm not sure if things like Pmax and Pmin really exist in 1.03. I have seen prices going from as low as 0.5 (from a supposed 20 or so for precious metals) to 5 times and more its supposed price (regular clothing). The problem of 1.03 is serious undersupply of goods in combination with the completely inflexible demand mentioned above.
Part 2 is all correct, at least as far as I can tell, and along the lines I also thought, i.e. you need to include utility into the model to avoid grossly overpriced goods to drain the pockets of the populace. But it is IMHO mostly a repetition of textbook material instead of a real analysis of how an utility based economy can be modeled in a game like this. That needs an analysis of what is implementable.
The problem with modeling an utility-based economy is
- you need to calculate the 'm's in equation 4
- you would have to remember for each POP how much of which good he has already bought and how this influenced his future demand of that good.
Both are too time consuming to calculate every game day.
So what would be an implementable model. I'll try a shoot at it:
1) All goods have an utility value. Too make it easy let's set their utility = base price from resource-prices.txt
2) POPs have no longer a need for specific goods but just a need for a specific amount of utility. So e.g. a farmer desires e.g. 5 'units' of utility per time unit whereas a capitalist desires 50 units. Each class of POP will therefore have 3 utility goals (for each category of goods one).
3) POPs buy goods to fulfill this utility need. They choose the good with the best utility to price ratio for their next buy.
-----
This rule ensures that overpriced goods will be bought less and so demand for overpriced goods is really diminishing as the theory says it should.
BTW, up to now there is no real difference to what Hammer wrote.
-----
4) All products in each category (life,everyday,luxury) are substituteable against each other.
5) Utility of a product dimishes according how much a POP has bought of it (because it gets fed up with it). Let's use a grossly oversimplified formular for that: u(m)=(1-m^2/c^2) * ub with
m: how many units of the goods have been bought over some timeframe
c: a cutoff value (constant but different for each good). After buying c units the good has an utility of 0.
ub: The base utility of the good
u(m): the utility the good has after m units of it have been bought (within a specific timeframe)
So assume fruit has a cutoff of 6. It has a base price=utility of 1 so
Code:
m | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---------------------------------------------------
u(m) | 1 | 35/36 | 8/9 | 3/4 | 5/9 | 11/36 | 0 |
After buying 2 fruits in the last periods, Fruits will only have an utility of 8/9 for a POP. So if only fruit has been bough and all product are at their base prices (i.e. everything except fruit has an utility/price ratio of 1), the POP will buy something else.
----
So even although the function contains a square it can be easily saved as a table for fast evaluation.
BTW to all economists reading this: I know that the above formula contradicts the insatibility assumption of utility theory. But it is IMHO a nice function and who believes in insatibility anyway.
-----
5a) Each POP kind might have a different c for a good. (e.g. acapitalists have a c of 9 for regular clothes wereas a farmer has a c of 4 )
6) m, the amount of a good already bought, is not calculated per individual POP but per POP class.
-----
This is neither correct nor fair but It should speed up calculation considerably since it only needs one arrays per POP class to sum up all goods bought per buying period which is aged (e.g. multiplied by 9/10) for the next period and then used as to precalculate the utility/price ratio for all POPs of that kind.
It is not fair since POPs in poorer countries will have the utility of goods reduced by POPs of the same class in richer countries which buy more of the goods. This could be helped by having one array per POP class and country but that could already be a little much to store in a savefile.
-----
This should give a much smoother behaviour of the demand side than what we see today in Victoria. First, If the price of a good climbs it is bought less, second, due to decreasing utility not everyone buy as much as possible from the good with the highest utility/price ration.
Enhancements: Instead of simply setting utility=price you could do away with the seperate classes of goods (life, everyday & luxury) if you set the utility of these goods to e.g. 1.2x, 1x, and 0.8x its price respectively. POP will first try to fulfill their needs with high utility goods (former life goods) and automatically move up the ladder to goods with a worse utility/price ratio (former luxury goods) once u(m) of the life goods gets lower than ub of the luxury goods due to having bought enough life goods.
If we then also give money itself an utility value (e.g. 0.9 its 'price') and a higher cut-off value (c) of e.g. 300 we will automatically make sure that luxury goods are only bought once some money (here ca. 100) is accumulated.
Now one would have to fix the supply side similarly. In addition to the substitution of input products proposed by Hammer (which can be implemented similar to the substituteability for consumer goods above) one would have to attack two problems:
1) Factories don't breath in Victoria
2) Profit number of a factory are meaningless for the player
The first point means that there is no working overtime for goods in high demand in Victoria. But this overtime working is partially responsible for the flexibility of the supply side in the demand/supply curves.
The second point stems from the player having to pay full price for any imported input goods of a factory but only receiving part of sales income of it. This can cause a factory which shows a profit in the ledger to actually cause a loss for the player since the imported input goods cost more than the taxes earned by the factory. This could cause countries not want to produce goods which could be sold with a profit artificially reducing supply for that product. It also makes any attempt at automatically determing "overtime" work for a factory fruitless. But I don't know an easy fix.
OK, to summarize. From showing a few shortcomings of Hammers paper we went on to see a possible way of implementing an utility-based demand in Victoria and finally reached supply side, which has less problems than demand side but those seem more difficult to solve.
Next one please ;-)