News:

Simutrans Sites
Know our official sites. Find tools and resources for Simutrans.

[Patch] Realistic transportation measurement

Started by Ranran, January 19, 2022, 05:43:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ranran

In my opinion, among the statistics used in simutrans, "transported" uses ambiguous data that is unrealistic and of little use.
To get to the point first, I think it would be better to change the "transportation unit" to one that is more practical and valuable.

It may be seen in detail in the following page on wikipedia.
https://en.wikipedia.org/wiki/Units_of_transportation_measurement
I do not speak English, so I may not be able to explain it well, but I believe it describes what I want to achieve.



Currently in simutrans, the transport unit is expressed as a number of pieces. In some cases, this reduces the value of the statistics, for example in convoy statistics, where all cargo categories are mixed together.
(1) Is the value of transporting a mail really the same as that of a passenger being? For example, a convoy with 100 passengers and mail capacity of 500.
(2a) Should transporting a traveler who travels 1km from origin to destination and transporting a traveler who travels 1000km both be considered the same achievement? Currently they both count as transported count 1.
(2b) A passenger who rides from the first station to the last station is counted as one transported passenger. A passenger who get off on the way is counted as 1, and another passenger who sits in that empty seat is also counted as 1. Then one seat can count 2 passengers on the same journey.


In the real world, statistical units such as those shown in above wikipedia page are used, and I believe that it is best to mimic them.
This is because it solves problems (1) and (2) and makes for useful statistics, while at the same time being similar to the real world, so it is not difficult for players to understand.
To make (2) clearer, it is better to use a table of the number of cargo between stations, but I wish to implement that in the future.

In brief, record of "transported" is torn into three parts by this patch.
- passenger-kilometre for passengers
- tonne-kilometre or kilogram-kilometre for mail
- tonne-kilometre for goods

The charts that will be affected are finance, line, convoy.
The charts are accompanied by suffixes to facilitate understanding. These can be translated.
Recording memory increase is 12 months*2 for each line, 12 months*2 for each convoy (int64). For finance dialog there is no increase because those record memories already existed even though they were not used.


Please note that the above are only units for transportation. Successful journeys will still be counted as before. I mean, during the journey, they may use the player's transportation several times. The new transportation units will be used for those statistics. In other words, travel and transportation are different concepts.
The remaining "Transported" button has been changed to "Travelled" to avoid player misunderstanding. This keeps track of the number of times a generated passenger has successfully traveled, but I don't speak English, so I'm not sure if this word is appropriate.

Unfortunately, it is not compatible with older records.
Therefore, this patch increases the version by 0.1 to indicate this fact.
In other words, to say "Starting from 14.17, transport records will be changed and related records will be discarded or units will be changed because they are not compatible. Current players will be aware of the fact that the transportation record categories have been split, so they will be aware of that fact. But unfortunately, it's a temporary mess. (´・ω・`)
However, as I have already explained, the transportation record so far is not very useful. The value of "1" is unstable, because passenger and mail are sometimes mixed. There was also no correlation with distance. I believe this change will be an improvement when old records are lost and new games are started.

Note that the same kind of problem exists with freecapacity records. I haven't made any changes to this as I couldn't think of any ideas to improve this.
I am curious if anyone has any ideas to improve this.


This change in statistics will also allow us to calculate the "transportation density". This is a number used in Japan for statistics on routes, and can be used to determine how well a route is operating, as well as statistics on demand and profitability.
Due to motorization, Japanese National Railways used this evaluation standard to abolish many railway lines.
This is also worth using as a parameter to compare lines.
The display of the transportation density will be added to the bottom left of the linemanagement dialog.


I have thrown a pull request for this patch. #470, please check.
This patch adds the following translation terms.

Pax-km
Mail-km
Freight-km
pkm
kgkm
tkm
A measure of the amount of passengers transported, expressed in passenger-kilometre
A measure of the amount of mail transported, expressed in tonne-kilometre
A measure of the amount of freight transported, expressed in tonne-kilometre
Transportation density
Yearly average
/mon



I would be grateful if you guys could let me know what you guys think about this change in transportation unit. Thank you.

Sirius

#1
Quote from: Ranran on January 19, 2022, 05:43:34 PMwould be grateful if you guys could let me know what you guys think about this change in transportation unit.
This change is quite valuable.
I see two concepts in there:
1. use unit-kilometers unit
2. split the record into three categories

The first feels like a best practice indeed!
The second feels like a good start, definitely better than not splitting these at all, but it might not be fine-grained enough.
Different freight types do not compare well in tkm nor in any other unit-kilometer. They are simply incomparable.

Instead of splitting this into pax/mail/freight, did you consider a finer grained splitting into goods categories as used for vehicle capacities and so on?
That is pax, mail, piecegoods, longgoods, bulk and so on.

That might require an own "transport stats" tab/window as the display relies on a freight type to be selected, but this should be fine I guess.

Memory consumption might speak against it.
On the other hand, assuming 10k vehicles in pak128.britain (11 categories)  this would result in just 10.56 MB, still leaving room for improvement by not storing categories not used by this specific transport stat entity.
10k vehicles is the magnitude of a B-B savegame

wlindley

The original "passenger and freight count" measure is indeed misleading.  Such mistakes are not uncommon in the real world: Amtrak regrettably trumpets how many passengers carried, as if one passenger from Trenton to New York generated as much revenue as a passenger from Los Angeles to Atlanta! 

If we could also graph:

       
  • total passengers carried (like original measure, but just for passengers)
  • total revenue from passengers only
  • total units of mail carried
  • total revenue from mail only
  • revenue per passenger-km (revenue / ( transported_count * km_distance )) -- we already have distance and total convoy km_distance; this is just a calculation on those figures.
  • expenses per passenger-km
  • profit per passenger-km
  • total freight kilograms transported
  • revenue per freight kilogram-km (and likewise expenses per; and profit per)
  • revenue per convoy-km (and likewise expenses per; and profit per)
that would give further insight into how well our companies are doing.  Those are the same figures that railroads, airlines, and trucking companies always compute in the Real World.

jamespetts

Excellent, thank you - this is very helpful. I have incorporated this. These are indeed much more useful metrics, and will be very helpful in balancing, as these are comparable with real life historical data.

As to free capacity, can you not use the same metrics for that: free passenger km, free mail km and free freight km? This will show how much more can be transported than is being transported, and then allow a calculation of a meaningful ratio of used to free capacity. Indeed, if you do not want to clutter the charts with lots of different free capacity graphs, you can simply use the free capacity graph as a single percentage figure and only record the ratio, discarding the raw data for each of the categories after the percentage has been calculated.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ranran

Quote from: wlindley on January 19, 2022, 11:08:35 PMIf we could also graph:
total passengers carried (like original measure, but just for passengers)
total revenue from passengers only
total units of mail carried
total revenue from mail only
revenue per passenger-km (revenue / ( transported_count * km_distance )) -- we already have distance and total convoy km_distance; this is just a calculation on those figures.
expenses per passenger-km
profit per passenger-km
total freight kilograms transported
revenue per freight kilogram-km (and likewise expenses per; and profit per)
revenue per convoy-km (and likewise expenses per; and profit per)
that would give further insight into how well our companies are doing.  Those are the same figures that railroads, airlines, and trucking companies always compute in the Real World.
Check out the finance dialog. There you will find statistics for each type of transport. You can check the statistics of XX tonnne-km transported by ship or XX tonne-km transported by rail.
Therefore, profitability can be checked a little more in-depth.

Note that just as there are different types of cargo, there are different classes of passenger and mail. Earnings will also vary depending on the total distance. For example, goods that are transported too far will not generate a profit.
To be exact, the system is very complex. This patch will stay with a simple system that mimics reality.


Quote from: jamespetts on January 21, 2022, 09:42:44 PMAs to free capacity, can you not use the same metrics for that: free passenger km, free mail km and free freight km?
Should freecapacity also be split into three categories, i.e. add two records?
We can record the distance the "empty seat" has been transported and compare it to the distance it has been carried to calculate the percentage used.

jamespetts

Quote from: Ranran on January 21, 2022, 10:29:14 PM
Should freecapacity also be split into three categories, i.e. add two records?
We can record the distance the "empty seat" has been transported and compare it to the distance it has been carried to calculate the percentage used.

I am not sure that this is necessary - but I do not have a strong view on this. I should be interested in others' views.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.