My suggestion to get rid of penny wars

Hello everyone!

I have been commenting in the Discord, sharing my frustration about 0.01 undercuts in market prices, and proposing solutions. Some people suggested me to create a forum topic, so here it is!

In this post I will be explaining the problem, what it implies, why it’s unfair, and proposing solutions to it. We will be commenting the pros and cons of each system proposed and answering the comments and usual concerns I’ve been reading in Discord. Also, I will be expanding this post with any new ideas we may comment, as a summary.

This post is large as duck, so read the titles and feel free to skip the parts you’re not interested in.

Let’s start!

WHEN DOES A PENNY WAR (aka 0.01 undercut) HAPPEN?
It happens when trying to buy or sell items for which liquidity is low (sales happen sparsely), there’s a risk your ask/bid won’t be filled at all due to insuficcient offer or demand, and the price per unit is high, say, 100 or more.

EXAMPLE:
A and B are sellers which possess 1 unit each, while C is a buyer that will consume only 1 unit for the forseeable future. The item we’re trying to trade has an average price of 1000, and the cost of fabrication is 500 for both sellers. C is the only player interested in this item, since it only has niche uses.

A arrives first to the market, sees the billboard empty, and sets the price to the average of 1000.
Then B arrives right after and sees A’s ask. Then sets a price of 999.99.
Then arrives C. He buys the 1 unit he needs and is willing to pay up to 1200 for it. Sets the order, and it is immediately filled.
The result is C bought the item from B at 999.99. Now A is stuck with an item he can’t liquidate.

WHAT HAPPENED?
Well, markets normally operate under the FIFO rule, which stands for First In - First Out. It works just like a waiting line. The first to arrive is the first to be served, for a set price. Unless, of course, someone offers a lower price, then the lowest price is chosen first. It works the same for bids, but higher is chosen first. It’s like paying a premium to skip the queue.

So, CXs in PrUn work just like that. Since 999.99 < 1000, it was chosen first, regardless of it being posted later.

WHAT’S THE PROBLEM WITH THAT?
The problem is, there is really no difference between 999.99 and 1000 in practical terms. Player B came last and still got served first. How much did he pay for the privilege? 0.01, basically nothing. This is effectively a LIFO (Last In First Out) system, which is only used due to logistic and storage reasons and not in financial exchanges. The player who arrives last sees the previous ask and sets 0.01 below it, thus gaining the privilege to be filled first at no extra cost. Note that if a third seller appeared right after B, he could screw A and B just like B screwed A.

THE BOTS
As the veterans will remember, some player in the past universe used a bot to game the system. Botting works like this: each time someone undercuts your ask, the bot instantly changes your price to 0.01 under them, so that you’re always the first in line. That’s why a limit was implemented by the devs: you can only remove an order a maximum of 5 times per day, after which a fee proportional to the total order value is charged. This helped control the bots, since a program would quickly run the player into fee territory and would only be useful 5 times per day.

However, the problem is still not solved, because it can still be done manually.

THE TACTICS
Many people suggested a myriad of ways of overcoming this, but I have found none useful. I will list them below and expose their weaknesses.

Q: If they undercut you by 0.01, then just undercut them by 0.01 and win.
A: That simply doesn’t work. Let’s see the previous example again:

Player A arrives and sets price at 1000
Player B arrives and sets 999.99.
Player A plays reverse uno card and sets price 999.98. WIN? Nope…
Player B comes again and sets price 999.97.
A: 999.96
B: 999.95
A: 999.94
B: 999.93
A: 999.92
B: 999.91
A: 999.90
B: 999.89
A: out of moves!

The result is, both players have used their 5 free daily price changes, and would have to pay a fee in order to change price again. As you can see, B still wins. Sure, he pays 0.11 instead of 0.01. But to reach this point both had to be glued to the screen for half an hour, and they’ve both spent their 5 daily moves and are stuck at the current prices until next day.

Q: Buy their ask and re-list it at a higher price.
A: Sure, if you have the spare money, then go for it. However, you run the risk of losing if the customer C doesn’t pay enough to cover it, and you would still be stuck with an illiquid asset while player B runs happily with his quick cash. That’s bad, especially if you’re not swimming in cash (who is, really?).

Q: Put a small part of your stock to lure the competition, then drop the rest under them to gain the advantage.
A: This one is interesting. So interesting that a penny warrior used it to counter my counter. We ended up spreading our stock all over the billboard with no clear winner. It may work for some, but not always, and it is too messy, and requires more work than it should, I think.

POSSIBLE SOLUTIONS

1- Many people commented that the game EVE had a similar problem and the bots were getting out of control. They implemented a new system, but I haven’t played EVE and therefore I don’t know much about it. All I know is that every time people mention it is to say how bad it is and how much they ruined the game. I don’t know it and it seems to be bad so I’m not gonna pay atention to it unless you guys insist.

2- The eBay solution. Literally. Since illiquid assets work basically like auctions, it would be a good way around it to copy the quintessential auction service. How do they do it? They basically give bots to everyone to make it fair.

It works like this:
The auction has a starting price. We could start at MM sell price.
Each seller sets their lowest acceptable selling price. This is secret and only the automated system knows it.
The system matches the prices and chooses the seller who has set the lowest minimum. HOWEVER, the resulting price is the minimum of the second lowest seller. It will be clearer with an example:

Seller A sets minimum price 700
Seller B sets minimum price 600
System chooses B as winner. The price is set at 700. The minimum price of B that is 600 is never revealed to anyone. In case of draw, the one who bid the first wins.

This example may seem a little weird since auctions normally work the other way, the seller sets the minimum starting price and bidders set the maximum price they’re disposed to pay. But it works no different either way.

This system works well and is used in real life so I guess it’s a safe bet. However, I do think it may be too big of a change and it would be clumsy when applied to markets with a few more participants.

3- My proposal: Tiered Prices.
My idea is that, for most commodities, we don’t need up to 0.01 precision, since cents aren’t even shown in the sidebar balance and are too small a unit to care about. However, they do matter when deciding which order is filled first. So I suggest to limit the amount of possible price points orders can be set at.

First, we need to decide up from which amount we consider a change of price to be “meaningful”. We could say for example 1%. And apply this at intervals, so numbers are rounded and simpler to manage.

For example. Let’s say that a commodity has an average price under 100 but above 50. The acceptable price variation would be 1% of 100 = 1. So, the price tiers, starting from MM sell, would be: MM100, 99, 98, 97, 96… all the way to MM buy. So you can set your price at 99 or 98 but not 99.5.

Real example: COF at Hortus has an average price of 515 ICA. It is under 1000 and above 500 so 1% of 1000 = 10. Acceptable prices would be, 1000, 990, 980, 970… It would also go up all the way to the upper price band, so 1000, 1010, 1020, 1030… Note that COF has no MM, but there is still a price band with upper and lower limits.

Another real example: SF has a MM sell of 16. It is under 50 and above 10, so 1% of 50 = 0.5. Acceptable prices would be 16, 15.5, 15, 14.5, 14… All the way to MM buy of 6.

WHY SHOULD TIERED PRICES BE IMPLEMENTED?

  • It would ensure that if someone undercuts you, it is by at least a meaningful amount. If they sold first it is because they really offered a cheaper price and not just 0.01 lower.
  • As the price tiers take into account average price, they adapt to each commodity, so that a small product allows finer price changes than a bigger product that doesn’t need them.
  • It should be simple to implement and easy to understand for everyone.
  • It doesn’t affect market dynamics: Price discovery, supply and demand and volatility, volume… work exactly the same as they work now.

CONS COUNTERED
Now I’m gonna proceed to enumerate some arguments I received over at Discord and give the reasons why I believe they’re not right.

Q: Real markets work like this, so we shouldn’t change it.
A: That’s not true, or, at least, not all markets. You’re probably thinking Forex or high liquidity stocks, which do operate on a continuous manner like PrUn markets do now. But those markets have high liquidity, an enormous amount of participants, and more bots than people working on them. We simply don’t have that here at PrUn. Even high liquidity markets like RAT or DW don’t reach the level of liquidity that a real market like FX has. For stocks, not all are traded continuously. Some companies’ shares aren’t traded very often and therefore operate on what is called “fixing”, in which their price is set one or two times per day and some days there aren’t any trades made. This better resembles most in-game markets.

Q: I would like to keep markets as free as possible and therefore I oppose any regulation.
A: While I do think markets should be kept liberal, all markets have some degree of regulation to prevent manipulation. In this case, the regulation I’m proposing is meant not to influence any major market force, but to ensure the FIFO (First In First Out) principle is preserved.

Q: I’m worried that this change would accelerate the current deflationary trend.
A: Deflation is a monetary issue. It is affected by the supply of currency, and that has to do with MM. Pricing is just a symptom, not the cause. While I do have seen margins thinning recently, it has more to do with increased competition as the universe matures and grows and more players join. Also, do not worry because as soon as a price drops to MM buy, it acts as a floor, and currency is naturally injected into the system so as to keep deflation in check. The same would happen in case of inflation with MM sells, it is one of the advantages of MMs. In the worst case scenario, yes, we would have less money, but we won’t lose any purchasing power since prices would drop accordingly.

Q: All this is because you don’t like to be undercut. You don’t like competition. You’re a sore loser.
A: You made me cry. I hope you feel good with yourself.

5 Likes

A Thought

I thought about proposing the system of the “Reverse Auction” where sellers simply put up the items they’re wanting to sell and an “absolute minimum” that they will accept (sometimes called “the reserve”) and buyers compete by submitting the “most” they will pay for an item. All submitted values are invisible to all other participants.

The sellers’ collective stock depletes down the line of buyers filling at the buyers’ requests until one of three things happens:

  1. There are no more buyers, and thus no more fills to make
  2. There are no more sellers, and thus no more fills to make
  3. There are no buyers offers which exceed or meet the remaining sellers reserve.

The issue with doing this is that reverse auctions happen in a set time-span. All participants know exactly when the auction is, bids to buy and sell must be in by a set deadline, and the exchange happens at the appointed time. This does nothing to solve the problem of liquidity and, if anything, only makes it worse.

A Constructive Response

I believe that you are making a mountain out of a molehill. If a product is so illiquid that it never sells then there is little to no incentive to ever produce that product except for an extreme cost differential / markup to make up for the capital lock up while the good sells. MHLs are a good example of this. The first ones to be made were sold to the public at stupidly high prices because their need is very niche. You can see the same trend take place in real life… take for example the Qerkywriter keyboard. This is a good quality, niche product. The result? A really, really, really high price for a keyboard. At it’s core, it’s a Cherry MX Blue switch keyboard which you can get on Amazon for only $49.95… yet Qwerkywriter sells their build for just under $300.

Low liquidity, niche product, high price.

So, if you have a problem with getting penny warred, I would suggest the following:

  • Don’t produce goods which don’t sell. If you have a problem holding inventory because you need cashflow, then don’t make goods which don’t produce cash flow.
  • Don’t get greedy with your sale prices. I have now sold the first publicly traded SFKs and MFKs in Moria. I did a cost markup of CPU + 22.8%. They sold. I don’t have any competition (yet), but even if I do, the prices I’m selling at are fairly competitive so I don’t expect anyone to undercut me.
  • Talk with other players and figure out what they need to buy. Offer to fill that need contractually and avoid the CX. There’s a value proposition in handling logistics and you just need to make sure that whoever is buying from you understands that “I want it now, but I don’t want to fly my ship” means that they need to pony up for the delivery.
  • Try and do as much as possible on the planet your base exists on. If you don’t have a thriving LM, help create one.
  • Accept that sometimes, you will need to sell at a loss. As long as you aren’t doing this often, you can still have a successful business. We all make mistakes and no one is right 100% of the time.

An Interpretation

The way I see it, you are not accustomed to selling as a manufacturer. This shit happens all the time in the real world. You’re looking at commodities as though they were stocks. They’re not. To me, you’re looking at the CX the same way a retailer does and not how a commodities producer does. If you want to have CXs function some special way, advocate for that in corporate run exchanges or markets where players can make the rules.

Post Script (PS):

I played EVE and experienced the problem you’re referencing. I played Star Wars Galaxies and sold GtC for real USD in high school. Had the same issue… I paid off student loans playing World of Warcraft and flipping Gold to USD via selling people packaged deals (“Just buy your riding skill, flying, etc”) for less than the Chinese farmers. I have dealt with being “penneyed” and worse but still came out on top.

The reason this issue is hurting you is mainly because you have bad cash flow and deflation is occurring which is exacerbating your problem. Find other things to make and this won’t be an issue for you any more.

Fuyutuki, thank you for your time and effort.

The solution you described is exactly what I had in mind regarding eBay, just that it would work both ways just like you described. I don’t think the time span would be an issue, since it could be done synchronously once every few hours. However, it would be quite a big change for CXs, as I mentioned.

Also, liquidity is not a problem like you say, it’s a trait of a market at a given time. And yes, illiquid assets can be problematic, but that’s just how it is.

I didn’t say the example commodity is “so illiquid that never sells”. If a commodity won’t sell, it makes no sense to talk about rules of exchange. Of course it sells, it’s just that it would take so much time for a new buyer to appear that it is important to sell first.

Also, you put MHLs as an example, and I don’t think it’s fitting, because it’s an asset that is difficult to acquire, high in demand, and there’s mostly no seller competition. That’s basically the opposite of when a 0.01 undercut happens.

You make a lot of assumptions about me, which is really unfortunate because you miss them all. The tips you give are great for new players but they totally miss the point.

I don’t understand why people assume my business isn’t doing good when I complain about being undercut by 0.01. If I get frustrated it’s because of how unfair it is to subvert the FIFO principle and how easy it is to pull it off. My suggestions are aimed at improving the game for everyone and not for my particular benefit. In fact, I could undercut by 0.01 more than people do to me, but I never do it because I don’t like it, as you well know.

Since drastic changes have been made to similar games for this very reason, I don’t think it’s a molehill.

I’m looking forward to more ideas to add to the pile, so keep them coming.

Best regards.

Tabula Rasa then, mea cupla.

Simply because complaint tends to signify a perception that you’re being damaged by something, and if you were doing well, then you wouldn’t complain. That’s my take on it, I’m not assuming anything about you here anymore as I’ve declared Tabula Rasa.

It’s not really a FIFO system if the prices aren’t exactly the same. Your suggesting for price banding is good at solving this; however, it would just kick the can down the road to arguments about, “Listing at exactly the next band lower as a fight to the bottom is good for no one but buyers.”

Reserve your judgment after this section until you read the one that follows

I could do nothing but throw Hadoukens in Street Fighter and win. Someone would complain that they’re getting zoned and that it’s cheesy and they don’t like it. The mechanic exists. It may leave a bad flavor in your mouth to use it; however, it’s available to be used. This is just people operating in the confines of the environment they’re given.

And I think that’s the proper argument. Using my Hadouken analogy, the game is called “Street Fighter” not “Fireball Simulator.” Modeling the PRUN market after something like the US Securities market (or ANY securities market) is probably not the best move because the developments around these modern markets require “special” market participants that have “weird powers” and do “strange things” compared to an individual participant.

Not to get tinfoil-hattish, but a lot of money has gone into getting the markets to operate how large firms want them to and not necessarily how they should.

If I stop looking at your suggestion as a whine (I know, you prefaced not to, but it was impossible the first time through), and instead open my mind to think about proper solutions to the problem while maintaining instant purchase ability then I have an alternate solution to the Penny Problem.

An Alternative

We can have the order book UI update every X hours, but have orders processed at real time if a bid/ask alignment happens. This way, the instant undercutting stops being a problem but you maintain instantaneous exchange ability.

What do you think about that?

The guy above me is likely more civil about it and i agree wholeheatedly with them.

My response was meant to be just two words and mean, but that likely wouldnt fly as far as rules go so heres a more tame response.

Don’t change anything or remove the limit of how many times you can remove your orders to undercut others. Its a game, let the ones who are more active and care more have an edge. A lot of games try to cater to casuals and its never good for the game itself, it just leads to the game itself becoming shallow and unintrensting.

Just like real life, put more effort into things, gain benefits.

As for you, yeah the assumptions are made becosue otherwise this thread wouldn’t exist. If you want to sell at higher prices, usually more than the product should really be priced at, be ready to compete in undercutting wars. Otherwise, just dump your stuff and price it at what its really worth and discourage them from undercutting you, if they want those sick overpriced sales. After all one person can only supply this much of certain item. Your stuff will eventually sell, at reasonable price, and they can have their undercut wars with other people who think alike.

Your suggestions, such as one number 3, will only lead to prices getting fucked faster than they are right now. Given that its usually more beneficial to just sell faster, as long as its above the production cost, and investing this money into more buildings to produce more stuff, it would do nothing to deter me from undercutting you, be it by 1 or 0.01%.

As for suggestion number 2, yes its surely a great idea to just have me log in and pay attention even less to the game that progresses at such a slow pace, just make me log in every 3 or 4 days to send my ship to the CX, and have the bot undercut till absolute minimum profit by itself.

As for number one, if you suggest it as a solution, then explain what it actually means, i dont play EVE and dont feel like doing research on a different game to decipher what you mean. “I KNOW this game solved it by doing x but i won’t tell you what x is becouse i have no idea lmao i didn’t play it but it worked !!!1 (supposedly)”.

TL:DR grow thicker skin, stop crying, and if you want to sell your overpriced stuff at overpriced well, prices, be ready to engage in 0.01 undercut wars, otherwise price your shit accordingly to what its worth.

New person here. A couple of valid points. I’m thinking that the primary argument is ‘Auction vs Market’. Which is a fair one. There was a reference of a corporation creating an auction house as a different location to sell goods. That is an interesting idea. What I will disagree with is that FIFO must be maintained.

This game is not setup as a FIFO from what I can understand of it. Just because someone is first to market does not mean that person (corporation or idea) should sell better than the others. The most profitable products usually are 2nd generation. The R&D is already accomplished and the market has been educated regarding the product. All a competitor needs to do is to make a cheaper version of what is already being offered. This has been done many times before.

I agree with the 1 penny difference being really annoying. I have had that happen on other games and it generated a few opinions on my part.

As an idea for a solution, perhaps the market post only lasts for N days. It will cost M-somethings (percent or fixed amount or commission if sold).

These are just some thoughts. In conclusion, being later to a market is usually a good idea. Both in real-life and here.

I say that a penny war is far too noble a contest. Let’s add 5 decimal points to each currency for some real carnage :smiling_imp:

But seriously, there’s no point to implementing FIFO if you don’t have a queue. And if you don’t have price bands, then you effectively don’t have queues for any price above 100 cents.

But, maybe you’re not particularly civil and so you are indifferent to the principle of FIFO. Why, then, is it that something selling for 100.00 should be priced to five significant figures? Can we REALLY expect to know the value of something that exactly? Given that the spread for even the most basic consumables like drinking water and rations is in the hundreds of pennies, it seems not. A quick glance at these most liquid markets reveals that the spread thereof at any given time is rarely less than 5% of the asking price of the commodity being traded. Thus, a price band of 1% should be fine enough granularity to satisfy everyone; if it wasn’t then the spreads already would be thinner, and so no one has the right to complain :slight_smile:

Why should the other guy get rewarded for not pricing his shit at what it’s worth? Alas, it doesn’t matter, for if we agree to end such petty behaviour by restricting ourselves to dime, dollar, or even larger denominational warfare depending on the trading price, we can arrive at the fair price in a faster and more civilized way.

The only argument I can immediately devise against price banding is that it makes it easier for strangers to collude in price fixing. If the price band is made thinner, it becomes easier for one of the colluders to crack. We should strive to find that happy medium which is the widest price band that still allows such cracks to form in an acceptable amount of time.