On release of Vic3 trade had an unfair system, that made trade magic money out of thin air. It would treat assume, that a trade route sold goods at an average of pre-trade and post-trade prices. If a trade route was extremely profitable at the start, it would fuel a large number of trade route levels, as initial income translated into income on every level. So much so, that trade routes could cause an inversion of prices - importing expensive goods from one market, to sell for cheap in another, and make money off of it (as it was even shown on an official screenshot in
DevDiary #54). Eventually this was fixed, and trade centers only make money based on post-trade prices, like any other building would. However, all other mechanics around trade stayed the same - the game was balanced with an idea of Trade Centers spawning money, and then it stopped being a case.
It's hard to overstate how hard is it for a trade center to meaningfully make money. Most buildings in this game rely on using labour to transform some input goods, into some output goods, and obviously the collective base price of all inputs is lower than that of all outputs. Some buildings make a killing, some really struggle to stay afloat (for example railways)... Trade Centers are different, as they have no inputs or outputs, they simply teleport goods and make money on the difference, but they have to pay double flat value tariffs, and the more they choose to transport, the heavier they affect prices in both markets, and the smaller the difference between them is in terms of a price. This leads to trade routes rarely making all that much of a good cash, needing subsidizing in terms of removing tariffs and making it basically impossible to introduce any kind of additional cost for Trade Centers (like convoys).
Let's imagine there are two markets and they don't have a trade relation = 0 tariffs on both sides, and there's some good that can be exported, that one market has a shortage of, and the other simply treats as trash - a perfect opportunity for a trade! However, the more of the good is transferred, the more the prices change, and eventually the country that had a shortage will have it cheaper than the exporter. I made a pretty simple graph of how the prices could look like depending on every possible quantity traded. The purple/pink is a figure which total area represents how much money the trade route makes (green area is a negative area, where it actually loses money). Under the old system it would looks something like this:
View attachment 1128773
By taking an average the game treats the price curves as straight lines and creates massive additional areas that magic money out of nothing (of course it can also lose massively, but that's trades we just wouldn't make). It doesn't even have a problem into making more and more levels, well into losing money, if it just means it gets to expand the early profits further and further. Eventually it just reaches a point where it's slightly less profitable to trade more, and stops.
Alternatively we could just pick an average between end points and draw one big rectangle, the resulting area would be the same though. It has one nice property though - shows that extending this rectangle further and further increases width, but only slightly reduces height, probably resulting in an increase of area... even if we know, that at this point the prices have inverted.
If we look at current implementation:
View attachment 1128787
Well... the more it trades the shorter this rectangle will be, and it totally does not care about the "history" of prices. After just a few levels the area would shrunk if we progressed just one level more. This means there might be some really good trade routes, that get stuck on level 1 or 2, just because they'd rather take the money now, than do any more trading and change their profits per a unit of good. But notice how the prices at this point are still significantly different. You can probably find another such exporter and make another lvl 1 route, and another, and another. Sure, this is how every building in Vic3 works, but if we want trade to happen, and for tariffs to make economic sense, it can't be so restricted. Remember - in this case we have 0 tariffs, and we can barely trade, even though Trade Centers have no costs.
So what if we just didn't simply the maths. Trade is already discrete by design, so that calculation would be pretty easy for the computer:
View attachment 1128791
Now we just say, that at every level the trade route sells X units of goods (the X is traded quantity as defined by the game. In other words - how much would be traded by a level 1 trade route), and the price is just post-
trade route upgrade price. So we assume they already made money selling X goods, now the prices dropped and they think about selling another X, and another. Here obviously it continues until price of importer is higher than that of exporter, why? Because there's no tariffs. Introducing them would translate to moving the blue dots a bit down, or red dots a bit up - the trade would then stop just as it stops making money, but earlier than in this case. You can keep introducing new costs, like maybe they need to buy clippers - okay now there's a higher cost to trading and the bars don't just need to be positive, they have a minimum they need to be to make profit.