So please, before you reply here anything, take your time and read whole post, and AFTER THEN make your own opinion/replay/post.
I consider this as main crucial base point of game economy, so if you don't have anything relevant to say or you are not sure, how it is working, just wait till someone from "programmers" explain us those things.
English is not my born language, than sorry if you don't understand me completly, I am doing best what I can.
Thank you (to everyone) for understanding.
Following problem is present for all "Industry production costs", not just OIL.
1) The game does not take into account the real price, for which the state acquired that raw materials in their inventories (stocks). Simple, raw materials prices are taken from "world market".
How it should be:
For every kind of "raw materials" or "products" in stocks, game already have stocks "amount" value.
We need additional one, "average aquisition price" for that "amount" in stocks. We will call it later/bellow as StockAcquisitionPricePerUnit value.
How to calculate "StockAcquisitionPricePerUnit" value:
Code: Select all
Everything here would be about OIL.
Time 0:
// Starting state:
StockAmount = 0l;
StockAcquisitionPricePerUnit = 0$/l;
WorldMarketPricePerUnit = 1$/l;
StockCurrentMarketValue = StockAmount * WorldMarketPricePerUnit = 0$;
Time 1:
// Event: State buys 1000 liters of OIL for 1000$ (=1$ per liter). // adding to stock:
AcquiredVolume = 1000l;
AcquiredPrice = 1000$;
StockAcquisitionPricePerUnit = ((StockAmount * StockAcquisitionPricePerUnit) + AcquiredPrice) / (StockAmount + AcquiredVolume);
StockAmount = StockAmount + AcquiredVolume;
// New state/results:
StockAmount = 1000l;
StockAcquisitionPricePerUnit = 1$/l;
WorldMarketPricePerUnit = 1$/l;
StockCurrentMarketValue = StockAmount * WorldMarketPricePerUnit = 1000$;
Time 2:
// Event: we do nothing, just world market price for oil increases from 1$/l to 10$/l
// New state/results:
StockAmount = 1000l;
StockAcquisitionPricePerUnit = 1$/l;
WorldMarketPricePerUnit = 10$/l;
StockCurrentMarketValue = StockAmount * WorldMarketPricePerUnit = 10000$;
Time 3:
// Event: State buys 100 liters of OIL for 1000$ (=10$ per liter). // adding to stock:
AcquiredVolume = 100l;
AcquiredPrice = 1000$;
StockAcquisitionPricePerUnit = ((StockAmount * StockAcquisitionPricePerUnit) + AcquiredPrice) / (StockAmount + AcquiredVolume);
StockAmount = StockAmount + AcquiredVolume;
// New state/results:
StockAmount = 1100l;
StockAcquisitionPricePerUnit = 1.82$/l;
WorldMarketPricePerUnit = 10$/l;
StockCurrentMarketValue = StockAmount * WorldMarketPricePerUnit = 11000$;
Time 4:
// Event: we do nothing, just world market price for oil decreases back from 10$/l to 1$/l
// New state/results:
StockAmount = 1100l;
StockAcquisitionPricePerUnit = 1.82$/l;
WorldMarketPricePerUnit = 1$/l;
StockCurrentMarketValue = StockAmount * WorldMarketPricePerUnit = 1100$;
// Some details:
If you aquire something thru diplomacy, it would be added to stocks by the same rules above.
If you don't have enought stocks for your industry production, game should handle that it is is now. That means your production would be lowered, or some amount for some price would be aquired from world market and added to stocks (by same principse above).
I will explain bellow why, but basicaly it realy allows to have "domestic production" and brings partialy stability for self-sustained domestic economy, regardles on actual market "crash/explosion".
It gives you real meaning to stockpile cheap raw materials or products, and sell / produce from them, when market prices rise up, because then your production costs stays +- at the same level (till you consume them from stocks), of course, new additions to your stocks would start increasing StockAcquisitionPricePerUnit of that materials in stocks, but you would be in control, from where + when + how "cheap" you aquire new raw materials.
2) Game takes, into calculatotion of "production costs", actual "world market price" of "raw materials" or products, and not the "real prices", at which that "raw materials" was acquired by the state to "domestic economy" (state stocks).
How it is in game:
Game calculate input prices (and productions costs) for every "raw material" from "current world market price" and not from real "aquisition price" (StockAcquisitionPricePerUnit) of that state stock supply.
How it should be:
As input price of "raw materials" for domestic "production costs" calculation, game should always use local=domestic "StockAcquisitionPricePerUnit" price.
Results of current implementation/model:
There is no point to make huge reserve of "cheap" "raw materials" for domestic industry.
You would be not able to produce cheaper products (from cheap raw materials in stocks) and sell it for higher market price (net income,revenue margin) later.
Because your production costs (raw input prices) will rise up with rest of the world prices, so net income in % would be still the same, no matter what.
Reasons, why we need above mentioned changes in economy models:
First reason (how it should work, but not currently not working):
If someone give you very big amount of OIL for 0$, and this amount is covering your entire 10 years consumption for whole domestic use (=domestic industry), you can STOP Oil production, and scrap all your Oil pumps.
Then if you are producing eletricity from that Oil (by petrol power plants), your production costs of eletricity should go rapidly down, because main component of input prices "production costs" of eletricity (Oil) you have for free = 0$.
Second reason (current faulty implementation):
One producer of critical resource (Eletricity or Oil) can very easy manipulate with everyones "all production costs", even if some states are "self-contained" = "closed domestic economy", of everything on whole world, by simple selling or (buying/not selling) that commodity, and that all in few DAYS (1-3days)!
Even when world resource supply helded by world is 1000x more, than was selled in those "manipulative sells".
This is main results, why everything is changing very rapidly (prices fluctuating too much), for example 10% (=+-5%) in matter of 10 days.
Example from game, how to test this (reproducable):
Code: Select all
// description
This is all about "OIL" production costs.
My production output (450 oil pumps) is not changing all time.
Number of emloyed workers on OIL pumps is not changing also.
Even GDP is almost not changing, so wages/salaries are the same.
Taxes are the same.
// Important to note!
I produce eletricity only from "uranium", not from the OIL or anything else, uranium is only from my own domestic production.
I am "changing" only "Bulk sales" price of eletricity, to maitain the same "world market price" of eletricity on the same $/unit price! So world market price of Oil will not have any impact on world market price of eletricity!
// test starts
Oil Current World Market Price is 10$/unit.
My Oil Domestic Production Cost is 9$/unit.
My profit = 10%.
I start selling too much OIL to the world market (for about 3 days +-) for 1$/unit:
Oil Current World Market Price decrease to 9$/unit.
My Oil Domestic Production Cost decrease to 8$/unit.
My Production/Sell Profit can be still +- = 10%.
Than I stop selling OIL for about 30 days +-:
Oil Current World Market Price increases to 35$/unit
My Oil Domestic Production Cost increase to 32.5$/unit
My Production/Sell Profit can be still +- = 10%.
Than I start selling OIL for about 15 days +- at price 1$/unit:
Oil Current World Market Price decrease to 9$/unit.
My Oil Domestic Production Cost decrease to 8$/unit.
My Production/Sell Profit can be still +- = 10%.
But why production costs of OIL is changing? Even price for eletricity is at the same level (I am selling eletricity, when OIL price on markets goes UP, to have stable price of eletricity).
How are domestic industry production costs calculated?
We don't know. Even programmers can not post here exact maths!
But we can at least try to elaborate what should be calculated as procuction cost (input).
Production costs for OIL need to be checked.
OIL pruduction costs should be calculated from:
1) Maintenance for OIL pumps, and that are right now in game "fully fixed expenses".
// Maybe game engine does not calculate "facility costs=maintenance" into "production costs" at all! Which would be very wrong. I think so, because is seems that all facilities maintenance are calculated separatly here: Finance >>> Expense Report >>> Treasuty >>> Facilities: $xxxM .
2) Wages/salaries for employes, amount of workers are fixed per facility, and when GDP/Taxes are stable, this expense item is also not changing.
3) Input raw materials price: for Oil pumps it is electricity. This shoud be only one main "variable" in production costs calculation.
As far as I can imagine, the are no other raw materials/resources consumed in Oil production process.
// Maybe very very little of "industry goods" and "consumer goods" as maintenance replacement (pipes, lighbulps, machinery, small repairs, and etc.).
But then question is, should be those calculated as "raw resource input" to "production costs"?
I guess YES, but than, what are "facility costs=maintenance" payments? Those should be than not calculated at all!
Maybe they are not, and that is reason, why "Industry" does not have "Anual Maintenance" displayed, just "-". This is question for developers?
For me it is clear and simple (to see, not to fixing it ).
All that can be fixed = solved by implementing two points/steps mentioned on beginning of this post, + some final checking, how are production costs of Oil (and other Industry) calculated.