Trevor N. Dupuy, among his 56 verities of combat, states that “Average World War II division engagement casualty rates were 1-3% a day.”
This was based primarily on his research on the Western Front during World War II. For example, just to draw from data from real world experience, the average losses per U.S. division in 82 selected engagements was 1.2% per day in 1943-44. The average strength of these divisions was 14,000. The average loss per German division in 82 selected engagements was 1.8% per day. The average strength of these divisions was 12,000. These engagements were all from the Italian Campaign and the European Theater of Operations (primarily France).
Now for Germany versus the Soviet Union, the loss rates in 1943 were higher for both sides. We do have daily unit records and have assembled them into a series of 192 division-level engagements for the southern part of Battle of Kursk in July 1943 and 64 division-level engagements for the battles around Kharkov in February, March and August of 1943. They show the following statistics:
Battle of Kursk:
Average Losses: Average Average
Cases Mean Median Strength Force Ratio
Germans attacking 124 0.99 0.78 21,487 1.44
Germans defending 68 0.68 0.52 16,945 0.91
Soviets attacking 68 3.25 1.67 18,631 1.10
Soviets defending 124 4.31 3.82 14,930 0.69
Battles for Kharkov:
Germans attacking 35 0.58 0.48 17,326 2.77
Germans defending 29 0.64 0.50 14,834 0.87
Soviets attacking 29 2.18 1.56 17,001 1.15
Soviets defending 35 5.21 3.05 6,837 0.36
Slightly different figures will be created using differing selection criteria, but out of the 124 cases of the Germans attacking at Kursk, in only two cases were German losses greater than 3% . They were both cross-river attacks done on 5 July 1943 by the 106th and 320th Infantry Divisions. German losses at Kursk while defending never exceeded 3%. German losses in the Kharkov engagements never exceeded 2% a day.
Soviet losses exceeded 3% per day in 24 cases while attacking at Kursk and exceeded 6% in ten of those cases. Soviet losses exceeded 3% per day in 67 cases while defending at Kursk (in over half the cases) and exceeded 6% in 39 of those cases. Soviet losses exceeded 3% a day in only two cases while attacking at Kharkov and in 16 cases while defending, of which in seven of those cases Soviet losses exceeded 6% per day.
 See Colonel Trevor N. Dupuy, Understanding War: History and Theory of Combat (Paragon House Publishers, New York, 1987), page 179.
 See Dupuy, Understanding War, page 169. Note that all these WWII engagements were tagged with the note that the data was approximate, more research required. The Dupuy Institute has 282 division-level engagements from the Italian Campaign and ETO that are created from the unit records of both sides. We have not done this comparison using our further developed and more extensive data collection, but suspect the results would be similar.
 The data used for this calculation is presented for the Battle of Kursk in a series of 192 engagement sheets in the book by Lawrence, Kursk: The Battle of Prokhorova. This work can be cross-checked by others. The data used for the battles around Kharkov have not been published yet. It might be at some point in the future. The data is currently company proprietary of The Dupuy Institute.
 More precise would be to remove all the engagements coded as limited action and limited attack, leaving only those coded as failed attack, attack advances, defender penetrated, defender enveloped and other. In the 124 Kursk cases of the German attacking this would remove 15 cases of limited action, 14 cases of limited attack, and 26 cases where the outcome has not been coded yet. The force ratio is now up to 1.56-to-1 and the average German percent losses are 1.25% while the average Soviet percent losses are 5.83%. Conversely, in the 68 cases where the Soviet are attacking, there are 7 cases are limited action, 9 cases are limited attack and 33 cases where the outcome has not been coded yet. The force ratio for these remaining 19 cases is 1.27 and average Soviet percent losses are 4.05 while the average German percent losses are 0.86.
In all cases, the mean is calculated as a weighted mean, meaning that it is based upon total strengths compared to total losses. The median is calculated, naturally, by finding the midpoint of all 124 or 68 engagements.
The actual paper this was drawn from is here: Average Losses per Day