The operation of the commodity markets is an often observed part of the game, but most analysis so far has been on how to use it to gain influence. The fine details of its operation as a mechanism in itself have received less attention (since they're rarely relevant to either BGS influence control or optimal trade profitability). Below I summarise what's known, suspected, and unknown, based on my research so far - if I've missed other work that answers some of these questions, please let me know.
Known:
- Commodity markets can either supply or demand a good, dependent on the economy of a station. In a single-economy station, this is largely dependent on the good only, though certain Military goods are more complicated.
- Commodity supply or demand levels have a "natural" equilibrium point. If disturbed from this by trading, they will return to it gradually over time. The time needed to return to equilibrium varies depending on the type of good. Supply and demand recovery rates are not the same - demand recovery rates are generally 2-3x slower than supply recovery rates for the same commodity.
- Recovery rates are generally slower the more expensive the good is - from around 500 days for Painite demand to around 2 days for Synthetic Meat supply. [1] This appears to have been an adjustment made in the 3.0 release. A reasonable estimate for the rate seems to be "2 days + 1 minute per credit of galactic average price" for supply, and 2.5x this for demand.
- Supply and demand levels influence the generation of trade missions.
- Overall across the galaxy (which will mostly be baseline supply/demand rates) demand levels are much higher than supply levels. (At time of writing, approximately 90 billion tonnes supply, 400 billion tonnes demand)
- The absolute position of the equilibrium point (adjusted for BGS state, see below) is generally higher for higher-population stations, related to Sqrt(population). However, other factors can affect this - stations have relative specialisations in some goods (sometimes very significant ones) and the sum of economic size in multiple station systems is often not that close to the population (though it's usually the same order of magnitude)
- The supply and demand levels appear to be stored internally as percentages of the equilibrium point. This is then overlaid by a multiplier dependent on the BGS state [2] to produce the current absolute level. If the BGS state changes, the supply and demand levels immediately jump to the new absolute level implied by the current percentage level. The BGS state does not appear to affect the percentage rate of return to equilibrium, though it does proportionally affect the absolute number of goods consumed or produced. Conversely, trade actions affect the absolute level which is then back-calculated into a change in the percentage level. [3,4]
- In general, only the Boom state increases production over the None state, for almost all goods. All other states are at best neutral. Demand effects are more varied.
- Conflict-elsewhere counts as the Conflict type, not None, for the multiplier.
- In general, Refinery, Agricultural and Extraction economies export more than they import, with all others importing more than they export (Industrial and High-Tech are closer to balance). The other economies may well make up the money either in subsidies from elsewhere or through trade in services.
Suspected but not yet confirmed:
- In a multiple-economy station, both parts of the economy are treated separately, then added together according to the ratio between them. This may lead - if the effects on supply and demand are different for a BGS state - to goods being supplied in some states and demanded in others. Industrial-Refinery or HighTech-Refinery combinations (due to specialisms?) often sell just one or two refined metals from the Refinery side, while importing the rest.
- Pure Military economies may in effect count as multiple-economy for the goods both imported and exported to Military, again leading to goods being selectively imported, exported, or neither, depending on BGS state and specialisation levels. This can also apply to goods like Tobacco (export: Agri, import: All) in Agricultural economies.
- Recovery rates are static and not influenced by trade activity in other goods produced or consumed by the station (beyond that trade potentially causing state changes).
- Different goods have different ranges of specialisation possible. Hydrogen Fuel does not appear to have any significant specialisation and can be used to establish baselines. There appears to be no correlation between specialisations in different goods.
Unknown:
- How much effect does supply and demand have on trade mission generation? Would it, e.g., be possible to stop Biowaste missions putting an Agricultural station into Outbreak by proactively delivering Biowaste through trade to meet the demand? Is the Palladium shortage causing a reduction in Palladium delivery missions / a rise in Palladium fetch missions?
[1] Where I have the data, the estimated recovery rates can be seen at
https://cdb.sotl.org.uk/reserves - even with several months of trade data, most goods are traded too infrequently to be certain at this stage, and some of the estimates have a large margin of error.
[2] List of effects for each commodity where known at
https://cdb.sotl.org.uk/effects
[3] A demonstration of both these effects can be seen in the Palladium stock levels at Bascom's Pride in June 3304.
https://cdb.sotl.org.uk/stations/66/trade/54?minrange=3304-06-01&maxrange=3304-06-30
[4] Worked example of trade stock.
e.g. a good has a restock rate of 3 days, and in Boom production is increased by 50%, while in War it is decreased to 20% of normal.
Start of Day 1: stock is 100t (maximum), state is None.
1 minute after the tick, a trader buys 80t. The stock is now 20t
End of Day 1: no further trades, so the stock has incrementally recovered to 53t.
Start of Day 2: Boom state entered. Stock jumps to 77t.
Half-way through Day 2: stock has increased to 102t
A trader buys 80t again. Stock now 22t
End of Day 2: Stock now 47t
Start of Day 3: War state entered. Stock jumps to 6t.
End of Day 3: Stock recovered to 13t.
End of Day 4: Stock recovered to 20t and now at maximum.
End of Day 8: War ends.
Start of Day 9: None state begins. Stock jumps to 100t.