StrangeLoopGames / EcoIssues

131 stars 21 forks source link

Add 'Basket of Goods' economy tracker #20957

Open johnkslg opened 3 years ago

johnkslg commented 3 years ago

To measure an economy in absolute terms, you can't strictly check the currency amounts, because currency values are different in every world. Instead, we can determine the concrete value of currency via a 'Basket of Goods'. See the principle here: https://www.investopedia.com/terms/b/basket_of_goods.asp#:~:text=A%20basket%20of%20goods%20is%20a%20constant%20set%20of%20general,consumer%20price%20index%20(CPI).

What this means is that when there are enough stores selling enough basic items, we can take the average cost of those to determine the Basket of Goods price, which will be an absolute value across all servers, and thus we can use that value in comparisons among servers.

Make economy meterics that are based on this, things like GDP over the past 7 days, expressed in BasketOGoods values so its comparable. Then make this part of server metrics. In the task plan, list the metrics you want to add and get them approved.

olegshegai commented 3 years ago

Tech tree file will need a table with tags and amount needed for a single basket, like this:

Name or Tag     Amount
——————————————————————
BakedFood       6
Paper           3
BasicResearch   1

Then we'll be able to calculate proportion of the each entry. I.e. we need 1 BasicResearch for a basket (with 10 items total), so every item of this tag will be evaluated as 1/(6+3+1)=0.1. A paper will be (1/3) / (6+3+1) = 0.0333 Baked food: (1/6) / 10 = 0.0167

With these proportions we can easily track their sum and say that when it reaches 1, we've obtained a full basket of goods. Though we'll need to create a variety parameter which will determine how many different items a single basket should contain. With this parameter set to 2 we can consider that a server with 0 papers, but 2 basic researches and 9000 baked foods produced 2 full baskets. Total value (sum of proportions) will be 0+0.2+9000*0.0333 = 300.17.

I'm talking about production only because price-based metrics can be affected by private stores with unfairly priced goods being sold to the owners themselves.

But if we manage to handle the case, here is a list of metrics that see here (each one should be observed in different time spans, i.e. overall and past 7 days):