Self-Stablizing Economies

For LT discussion that doesn't fit into a more specific category.

Re: Self-Stablizing Economies

Postby Poet1960 » Fri Jan 13, 2017 4:44 pm

That all makes sense. A couple of things I am curious about:

Damocles wrote:lets say this new product is known to be marketable, then the economy can behave in certain ways:

-it replaces demand for another product or competes with it. Anyhow, the price or traded amount of the competing product will drop,
as more funds are redirected to aquiering the new asset.
-it can be priced, if the utility (complex) and supply-costs (easy) can be determined.
-new production facilities are build / or reconfigured. eg: it changes the "landscape" of the industry
-or not much happens, and its just a unique item, that receives a high market-price in an auction.
-it "outlawed" by some regions. but that rather outside the pure economic view of the model.




I would think that some things might replace others, but in some cases it might just be more of an added value kind of thing so wouldn't necessarily replace the demand for a certain product but rather it would probably break down the market share for that particular kind of item into more discrete elements. Richer people would tend to favor the higher value one while the general masses may stay with the original, so I guess in that sense it would be competing with it, sort of.

The other thing is, it almost seems like you could be suggesting this although I'm not sure, a "new" item would be pretty expensive at first, but as time goes on the price would drop as the cost of production/resources/fabrication becomes cheaper as well as more people creating knock-offs etc create competition, until it hits the threshold of cost to make and asking price. Heck, you might even be able to get a good deal once in a while for various reasons where the producer is selling at a loss, like maybe going for volume of sales or a going out of biz sale. Thing is, at least for a game, things could get pretty complicated fairly fast. :lol:

Sure would be cool to try and pull it off, or at least a reasonable facsimile thereof. More power to whoever manages to do it. :thumbup:
Ask, and it will be given to you; seek, and you will find; knock, and it will be opened to you.

User avatar
Poet1960
Rear Admiral
 
Posts: 1161
Joined: Sat Dec 07, 2013 1:07 pm

Re: Self-Stablizing Economies

Postby kostuek » Sat Jan 14, 2017 1:18 am

Damocles wrote:EG: how do we make it stabilze itself without going out of whack, or reverting to hacks.


I would think of 4 points:

1. Product production = (potential) product consumption in a given amount of time.

This applies to every product on a global scale. Of course, in a real world economy this would not be the case, wich can get complicated. Also, even in such a simplified simulation products will have to go from the production side over to consumption side in time, or there may be a crash.

2. Dynamic prices.

Production and consumption agents set their prices by looking on their supplies status. So if a mine is producing ore and has a lot of it in stock, the selling price is going down. It is also a simplified version since the agents do not look at the market and the "surrounding world".

3. Rational traders with a full knowledge of the market.

First, the traders know all the prices from every agent at every point of time. This also would not be the case irl or in a more advanced simulation. The trades behave "rational", so they try to buy on a low price and sell on a high. In the simpliest version traders do not have any "fuel costs" since it may affect their decisions.

4. Optimizing point 2.

The optimal function price = f(supplies) needs to be found for every product and every agent. This function will affect traders and their decisions. The goal is to fulfill point 1. so the products can flow fom the production to the consumption side "in time" (production side don't get too full and the consumption side never gets empty).
kostuek
Ensign
 
Posts: 37
Joined: Mon Dec 22, 2014 6:17 am

Re: Self-Stablizing Economies

Postby Damocles » Sat Jan 14, 2017 6:01 am

Ok, BANKING! Yea, everyone like to complain about the credit system,
but interestingly: it can stabilize an otherwise quite unbalanced economy.

http://crongame.com/prototypes/econ1/economy1o.html

I have updated the simulation using a Bank (can be turned off).

The participant will deposit money into the Bank when they own a certain amount,
and they can take up a loan when they run out of funds. (they can access the bank about every 4 production cycles)

There is a little indicator showing the bank balance of that station,ship or worker (in insterstellar dollars :problem: )

The banks in scenario are very generous, they will grand a loan unlimitedly, as long as the bank has enough coins deposited in their vaults.

What I can observe is that this can break the economy in another way: there is too much production (here especially of ore and ice).
But the economy itself can at least keep on running, without crashing fully (crashing here means there is nothing produced or consumed).

Also some station might run into a huge debt, and other might gain quite a fortune.
-> this system keeps running smooth until the banks stop giving out loans (I have deactivated that feature here)

Try out using the same setup (stations, prices) with and without a bank.
User avatar
Damocles
Lieutenant Commander
 
Posts: 116
Joined: Thu Jan 12, 2017 4:09 pm

Re: Self-Stablizing Economies

Postby Damocles » Sat Jan 14, 2017 9:51 am

@Poet1960 : yes, this actually translates to the elasticity of demand. EG, luxury goods will be quickly abandoned when there is a depression (it has a high elasticity),
whereas goods that have a very basic need, such as basic food, water, repair-stuff and drugs have a low elasticity (people consume them not much less, even if the price shoots up)

I would take the classic "cost of production" approach to determining a "baseline" price. In the long run, it is the lowest price a good would have.
Its the price when every participant in the production chains gets at least their costs back.
Fluctuations due to oversupply (price is lower than baseline), and supply-cutoff like in a blockade (goods are much higher priced than baseline) can be
simulated too by using some kind of inverted utility function.
A simple solution to this pricing would be to have each market observe the amount that is consumed on average over time, and use this to determine the
price, given the available stock.

Lets say the market (all local consumers like factories and workers) consume 10 items per day, and there is enough stock for 10 days,
the market would agree on a price close to the baseline.
If there is only stock for 2 days left, the market would price it much higher (lets say at 200% of the baseline).
This would signal to traders that this market has an increased demand (to avoid running out of stock)
Since the price is high, its more profitable to sell products there, and gain a profit.

On the other hand, if the stock would last for 50 days, and there is not history of blockades, the market would not
want the product, and only buy them below the baseline price.
So traders would avoid selling this product there, and rather buy up the oversupply.

If a good is generally oversupplied in the market, the producers would run out of places to sell the product, and slow down production / close down.

If a good is generally scarce, the market price would be permanently over the base-price, and encurage businesses to invest into
producting / trading this good.

This would then make the economy dynamically adjust to the required production-capacities over time.

If there is suddenly an external shock (lets say a war breaks out, or a new colony is founded), some products shoot up in demand, and the industry would invest
into more production.
User avatar
Damocles
Lieutenant Commander
 
Posts: 116
Joined: Thu Jan 12, 2017 4:09 pm

Re: Self-Stablizing Economies

Postby bkdevil » Tue Jan 17, 2017 11:45 am

Ah, now these are the conversations that I really love this forum for!

I have nothing to add because I clearly have no understanding of how an imaginary, or real for that matter, economy actually functions, but I'm posting follow so I can try to puzzle it out at my leisure.

Keep it up heroes!
User avatar
bkdevil
Ensign
 
Posts: 49
Joined: Thu May 29, 2014 8:25 pm

Re: Self-Stablizing Economies

Postby Xifong » Sat Jan 21, 2017 7:16 am

Just popping in to mention that its really great to have created this simulation - I've planned to do something like this for a while now, so I'm really excited to see what else gets added. :D
Xifong
Recruit
 
Posts: 5
Joined: Sat Jul 19, 2014 4:12 am

Re: Self-Stablizing Economies

Postby Damocles » Sat Jan 21, 2017 8:28 am

Thanks. Im also working on other projects.

But the next step would be to create system with market prices and local demand.
EG: a more complex economy where different regions have different supply and demand, and then watching how the traders
move goods to where it is needed (in order to make a profit). Their profit making (by supplying the demand) is what drives the economy in this scenario.
User avatar
Damocles
Lieutenant Commander
 
Posts: 116
Joined: Thu Jan 12, 2017 4:09 pm

Re: Self-Stablizing Economies

Postby Xifong » Sat Jan 21, 2017 4:50 pm

Yes, this would be the next logical step for the simulation. I was thinking that the easiest way to implement dynamic valuation of goods is to have no
agent-independent value assignment for goods. Each agent (traders and stations) could store their own idea of what items are worth. If each agent was initialised with randomised weightings for goods (based off a Guassian distribution centred on a user input), and then allowed to change these weightings during specific events, a kind of adaptive economy would be created.

For example,

I am a trader:
Current gold - 25 gold
inventory - 5 * beers

Current evaluation of beer - 1 beer = 10 gold
Least I would be willing to sell a beer for - 10 * 0.7 = 7 gold
Ideal sale - 10 * 1.3 = 1.3 gold

Current evaluation of plates - 4 gold
Most I'm willing to buy a plate for - 4 * 1.3 = 5.2 gold
Ideal buy - 4 * 0.7 = 2.8 gold

Workers at a station:
Current gold - 15 gold

Current evaluation of beer - 5 gold
Most they would be willing to buy a beer for- 5 * 1.3 = 6.5 gold
Ideal purchase- 5 * 0.7 = 3.5 gold

Station:
Current gold - 10 gold
Inventory - 5 * plates

Valuation of plates - 4 gold
Least - 4 * 0.7 = 2.8 gold
Ideal - 4 * 1.3 = 5.2 gold

Sequence of events:
1. Is there overlap between our acceptable price ranges (workers and trader)?
No, there is not.
No sale is made.
2. I update my evaluation of beer:
(10 + 5 + 8(price I paid for beer originally))/3 = 7.7 gold
This is my first failed sale of beer in a row - 0.2 modifier
7.7 - 10 = -2.3
-2.3 * 0.2 = -0.46
10 + (-0.46) = 9.54 gold
Evaluation updated to 9.5 gold.
3. Workers update their evaluation of beer:
(5 + 10)/2 = 7.5 gold
This is my second failed purchase of beer in a row - 0.2 * 2 = 0.4 modifier
7.5 - 5 = 2.5
2.5 * 0.4 = 1 gold
5 + 1 = 6 gold
Evaluation updated to 6 gold.
4. Transaction complete.
5. Is there overlap between our acceptable price ranges (station and trader)?
Yes, there is.
Overlap from 2.8 - 5.2
Random value between 2.8 and 5.2 chosen (weighted towards middle using Gaussian distribution)
Value of 3 chosen.
Sale of 5 * plates at 3 gold/plate from station to trader.
6. I update my evaluation of plates:
(4 + 2.8)/2 = 3.4 gold
3.4 - 4 = -0.6
Third successful purchase of plates - 0.4 * 3 = 1.2 modifier
4 - 0.6*1.2 = 3.3 gold
Evaluation of plates updated to 3.3 gold
7. Station update their evaluation of plates:
(4 + 2.8 + 3(cost of producing plate))/2 = 3.3 gold
3.3 - 4 = -0.7
Second successful sale of plate - 0.4 * 2 = 0.8 modifier
4 - 0.7*0.8 = 3.4
Evaluation of plates updated to 3.4 gold
8. Transaction complete.
9. Trader undocks.

This is rough, but can be improved tangibly. I'm not sure how well this system scales to hundreds of traders, stations and good types but it would resemble a dynamic economy and if demand was incorporated into the calculations, this system would still work. Any kind of route planning AI could take this info into account. Thank you for reading and deciphering what I mean.

Xifong
Xifong
Recruit
 
Posts: 5
Joined: Sat Jul 19, 2014 4:12 am

Re: Self-Stablizing Economies

Postby Damocles » Sun Jan 22, 2017 3:00 am

Ok, in you example, you let the market actors adjust their evaluation of goods based on
the success of previous trades.

But without competing traders/consumers there would be just a monopoly.
A participant (the trader for example) could just constantly increase his sale price, and wait until the others
agree by adjusting their price-evaluation. He could always overcharge.

You could put more agents on the market, and using a bid-ask market clearance.

eg: the market-book-keeper records the following orders:


Trader A: offers 10 for 10cr (here price per item, eg 10*10c = 100cr total price)
Trader B: offers 8 for 9 cr
Trader C: offers 2 for 8 cr
Trader D: offers 15 for 11 cr

Consumer A: demands 9 for 7
Consumer B: demands 4 for 8
Consumer C: demands 3 for 10
Consumer D: demands 1 for 11
Consumer E: demands 2 for 9

now lets clear the market:

Trader C -> Consumer B (2 for 8)
Trader B -> Consumer C (3 for 9)
Trader B -> Consumer D (1 for 9)
Trader B -> Consumer E (2 for 9)

there where 8 items traded
for an average market price of 8.75


But an important component in this market is still missing: why do they want the products?
At the end of the day, each good is consumed (directly or within the production-chain), and thus creates value
for the consumer. For that you need a measure of utility.

A simple function of how to (internally) price things is: how much do i have left
and how much do i consume. The price means, what Am I willing to pay to avoid the RISK of running out of stock.

Lets say a station that produces plates out of ore consume 1 ore per day.
And the station has a supply of 10 ore left, that would mean the station runs out of stock in about 10 days.
-> In this situation production is halted, but worker need to be payed.

If the learned that every 3 day a trader is coming by, that in 50% of the time has ore to sell, they will not pay much above the market price.

But if the station has only 3 ore left they run a high risk of not having a trader with ore come by in time
before halting production.
In this case they would be willing to pay MORE per ore. Up to the point where they have 10 supply again.

so simplify: For each amount of stock, they assign a different price.

#1 Station with too little resource-stock will pay more.
#2 Traders will see those stations pay more and reroute their trade there
#3 Trade takes place, station is happy to have save stockpile, trader is happy about a higher profit.

-> the price signals the demand and supply in the market. and helps allocate goods more efficiently.
User avatar
Damocles
Lieutenant Commander
 
Posts: 116
Joined: Thu Jan 12, 2017 4:09 pm

Previous

Return to General



Who is online

Users browsing this forum: No registered users and 5 guests

cron