Some of you would like more details on how the traffic rule works. You have been served!
Each day a stack is moving into a region, said region will accrues some 'Traffic Weight', TW hereafter. Some elements have a weight of 1: skirmishers, raiders and light vehicles. Some have a weight of 3: Medium artillery and above, medium vehicles and above, service elements (this is determined by their 'family').
When this increase is done, for a given day and region, it impacts all stacks on move by eating a way, slightly, on their 'Move Ratio', which is basically the speed of the unit. To determine how many % of MR is lost for a given day moving, take the TW of the region x TrafficRule /1000). At most, it can be 10% MR lost on a given day.
TrafficRule is the intensity of the rule. If you have set it to low, it's 5, if on Normal, it's 10 and if on severe, it's 15.
Let's take an example. You have 2 identical stacks made of 20 infantry elements, the region gets on each day they move: 2 x 20 x 2 = 80 TW.
So each stack loses each day: 80 x 10 /1000 = 0.8% MR. As you guess, there is a dice roll made, in this case a given stack has 80% chance of losing 1 MR%.
This don't seem a lot. But remember, TW accrues over time as stacks move into the region. Now it seems a lot?
Don't worry, because TW 'dissipates' overtime, as heat if you want. It represents the capacity of the region transport network / infrastructures to absorb traffic.
After each stack has moved one day, all region gets some 'dissipation'. The calculation is split in 2 parts: the first one sum up all parameters allowing some dissipations. The second part takes what remain in TW and multiply it by 0.75. So TW, each day, is significantly reduced but can definitively augments when a lot of stacks move for a long time in a region. And foul weather or bad terrain being major culprits in lengthening movement time, the rule quite naturally will adapt to bad conditions. The same region in summer will have quite a different behavior in muddy weather.
For the numeric-oriented people, the current values are (these is how many TW are removed in the region each day):
traWildRecov_ : integer = 10;
traClearedRecov_ : integer = 25;
traDevelopRecov_ : integer = 50;
traCivilRecov_ : integer = 100;
traTrackRecov_ : integer = 10;
traRoadRecov_ : integer = 30;
traDRoadRecov_ : integer = 70;
traRailRecov_ : integer = 100;
traDRailRecov_ : integer = 150;
traDestRailRecov_ : integer = -50;
traPillageRecov_ : integer = -20;
traDepotRecov_ : integer = 50;
traKeepCoeffRecov_ : integer = 75; // After recovery, the remaining TW points are time this % (so a fraction dissipate for free each turn, the more remaining, the more dissipate)
traMRPercThousand_ : integer = 5; // each traffic weight makes a % move ratio loss equals to this value/1000 time rulTraffic
// i.e rulTraffic = 1 ; Traffic Weight = 240 ; traMRPercH = 5 :=> 1 * 240 * 5/1000 = 1.2 % loss
traMaxMRPercLoss_ : integer = 10; // can't lose more than 10% MR on a single day, also is hard coded that traffic can't reduce speed by more than two third.
An important note: because of the game turn structure, at day 0, all MR penalty is removed from all stacks. So in effect a stack move faster at the start of the turn than at the end.
Hope it helps, and no doubt will trigger questions!