Predicted damage = Number of attacks x Effective accuracy x Kill chance
Number of attacks:
Number of attacks = Current strength - suppressed strength
For example, your infantry has 15 HP, it has 4 suppression, then the number of attacks is 11. The number of attacks can be boosted by overstrength and the trait rapid fire. Apparently, overstrength tanks by 5 will increase their damage output by 50%, while overstrength infantry by 5 only increase their damage output by 33%. Rapid fire constantly multiplies the number of attacks by 1.5/2, so it works even better with an overstrengthed unit. Suppressing enemy units with artillery only reduces the enemy number of attacks, but does not increase your damage output.
Effective accuracy:
Effective accuracy = (base accuracy + experience boost + recon/aiming assistance - entrenchment reduction - other traits) x weather/terrain modifier
Base accuracy is always 50%. The experience boost is 5% per half star. The entrenchment reduction is a bit tricky. Each entrenchment reduce accuracy by 8%/10%/4% for infantry, tanks, and artillery respectively. Effective accuracy is capped at 100% of course. The entrenchment reduction is the most headache stat in an offensive mission. You can reduce the enemy entrenchment by artillery, but in most close terrains, there is a base entrenchment level that you can't reduce further. For example, hill has a base entrenchment of 3, forest has a base entrenchment of 4, and town has base entrenchment of 5. If you are attacking a town in a sunny day, and your unit is a 3 star heavy infantry with no ignore entrenchment trait. The effective accuracy would be (50 + 30 - 40)% = 40%. Apparently you won't deal much damage. However, with ignore entrenchment trait, your effective accuracy would be 80%, which doubles your damage. There is no hero can boost your accuracy other than aiming assistance and ignore entrenchment.
Kill chance:
Kill chance = (Effective attack - Effective defense) * 5% + 40%
The attack/defense stats of a unit are used in the kill chance calculation. You probably haven't heard about the kill chance if you have never read the combat log before. When a unit is hit, the unit can be either unit, deflected, or suppressed. The kill chance is capped at 100% when the attack-defense difference is more than 11. So, if a unit has 11 soft attack (a common infantry), and his enemy has only 3 ground defense (a conscript), then the kill chance would be 80%. If you use a panzer 4 which has a soft attack of 20, the kill chance would be capped at 100%. Even though panzer 4 has a much higher soft attack, there is not much room for damage improvement. There are abundant traits can affect the attack/defense. For example, crippling attack, tank killer, flag killer, avenger and more all boost your attack stats. However, as explained before, once you have an attack-defense difference of 11, your kill chance is capped at 100%, and it won't improve your damage much. Here, I list 3 useful attack/defense modifiers that are not known by many (including myself for a long time).
1. Half-track transportation gives the infantry +4 soft attack and +1 hard attack, while wheeled transportation has no benefit. It is not shown or explained in the game, hopefully dev can add an icon or trait in the future.
2. If a unit attacks from vulnerable terrain (river, swap, and bridge), his enemy is given +4 attack and defense.
3. Mountain infantry gets +4 attack and defense when they are sitting on hills and mountains.
After the damage is predicted, a dice will be rolled by the number of attacks. If the number is higher than the effective accuracy, another dice will be rolled to decide whether it is a kill, suppression or deflection. The actual damage is calculated based on both dice result and predicted damage.
Actual damage = Randomness * dice result + (1 - randomness) * Predicted damage
Now that we know how to increase the damage output, how to reduce the damage taken? There is one more stat I haven't cover, which is initiative.
Initiative is used to decide who shoot first. The side with lower imitative will take damage first and then shoot back, which means the number of attacks will be reduced in return fire. 20% of damage per initiative difference will be applied before the return fire. When the imitative difference is larger than 5, the higher initiative side will strike first with all their strength. Initiative is heavily dependent on terrain and weather. Mass attack also reduce defender's initiative by 1 or 2. In general, initiative does not affect your damage output unless you have a very low initiative, but it does reduce the damage of return fire when you have higher initiative.
Apart from the initiative, there is another way to reduce your damage taken, which is through the trait steamroller.
In addition to the overrun effect, steamroller also ignore the return fire when you can kill your enemy. For example, your unit is trying to attack enemy who has 10 strength, but it will also take 3 damage in return. When you don't have steamroller, even if you kill it, you still take 3 damage. However, if you have steamroller, the enemy will be killed without firing back. Unusually, only tanks can earn the award of steamroller once they trigger overrun multiple time (25 times in grand campaign). However, if you have a hero with overrun trait, you can assign him on any unit, and that unit will also gain the award of steamroller once you trigger the overrun 25 times. This means that your infantry can have steamroller, and minimize their damage taken by maximizing their damage output. The best defense is a good offense
