Since there is a lot of discussion about what the hit rate translates to in game I thought this quick chart would be helpful. If you assume a 65% hitrate, two attacks (aka most fighter types). And then we assume a damage of 12.5 (1d8 + 5 str +2 for something like dueling mastery + 1 magic bonus). And then here is the average damage that character will do, the % of the time they do it, both for regular, advantage, and disadvantage. So you can guage for yourself how wide a variance in damage the character will do.
View attachment 405363
Aside: If you want a full model, find an engine capable of handling polynomials.
A 1d8+5+2+1 hit is represented by 1/8 * (x+x^2+...+x^8) for the d8, times x^8 for the flat bonus damage, or x^8/8 * (x-x^9)/(1-x).
Each term of this polynomial looks like (probability)x^(damage done). Take its derivative and evaluate at 1 and you get the average damage of a hit. Its second derivative can be used to calculate variance.
You can model crits and misses and multiple swings with more math.
Let d

= 1/n (x-x^n)/(1-x)
Then d(8) = 1/8 (x-x^9)/(1-x)
0.6 * d(8) * x^8 + 0.05 * d(8)^2 * x^8 is the polynomial describing the damage distribution of "5% crit chance, 65% hit chance (including crits). Two swings is just that squared:
(0.6 * d(8) * x^8 + 0.05 * d(8)^2 * x^8 + 0.35 x^0)^2
tossing it an an algebra engine it produces:
x^8 * 0.6 * (x+x^2+x^3+x^4+x^5+x^6+x^7+x^8)/8 + x^8 * 0.05 * ((x+x^2+x^3+x^4+x^5+x^6+x^7+x^8)/8)^2+0.35)^2
=
6.10352Ă—10^-7 x^48 + 2.44141Ă—10^-6 x^47 + 6.10352Ă—10^-6 x^46 + 0.000012207 x^45 + 0.0000213623 x^44 + 0.0000341797 x^43 + 0.0000512695 x^42 + 0.0000732422 x^41 + 0.000215454 x^40 + 0.000476074 x^39 + 0.000853271 x^38 + 0.00134521 x^37 + 0.00195007 x^36 + 0.00266602 x^35 + 0.00349121 x^34 + 0.00442383 x^33 + 0.0107391 x^32 + 0.016814 x^31 + 0.0226501 x^30 + 0.0282495 x^29 + 0.0336139 x^28 + 0.0387451 x^27 + 0.043645 x^26 + 0.0483154 x^25 + 0.0424042 x^24 + 0.0366138 x^23 + 0.0309436 x^22 + 0.0253931 x^21 + 0.0199615 x^20 + 0.0146484 x^19 + 0.00945313 x^18 + 0.004375 x^17 + 0.0563281 x^16 + 0.0557812 x^15 + 0.0552344 x^14 + 0.0546875 x^13 + 0.0541406 x^12 + 0.0535937 x^11 + 0.0530469 x^10 + 0.0525 x^9 + 0.1225 x^0
which gives the exact probabilities of each damage amount (the exponent of a term) and the probabilities (the coefficient of the term); a 6.10352*10^7 chance of a double-crit with max damage of 48, for example.
Want to know what 4 turns of damage output looks like? Raise it to the power 4! You are only limited by the precision of your algebraic engine.
And, as noded, calculating mean and variance from this model is just the matter of examining derivatives. Mean = df(x)/dx evaluated at 1, Variance is a simple formula in the 2nd derivative.