So I know that there's a really easy way to generate a normal distribution with dice (simply add them). Is there a way to generate a Pareto distribution?

  • $\begingroup$ Maybe multiplication/division? $\endgroup$ Commented Feb 14, 2023 at 8:13
  • 1
    $\begingroup$ Applying the inverse cdf + cdf transform turns a Normal into a Pareto. $\endgroup$
    – Xi'an
    Commented Feb 14, 2023 at 8:26
  • 5
    $\begingroup$ More seriously, using (only) a dice cannot produce a generation from a continuous distribution. See this stats.stackexchange.com/a/247250/7224 entry. $\endgroup$
    – Xi'an
    Commented Feb 14, 2023 at 8:31
  • 1
    $\begingroup$ You tagged with discrete-distributions, but the Pareto is continuous? $\endgroup$ Commented Feb 14, 2023 at 23:02
  • $\begingroup$ My guess is that the "dice" are implied to be physical with discrete faces. Though IMX this sort of problem tends to end up in a grey area where any concrete solution must be discrete, but we are not really committing to any specific target discretization. $\endgroup$ Commented Feb 15, 2023 at 0:24

1 Answer 1


If you are looking to use physical dice in a tabletop game, here are a couple approximations that may be reasonably aesthetically pleasing.

Tail behavior: "stackable critical hits"

  • Roll a die with $s$ sides labeled with a "critical hit" on one face, and the rest positive integers.
  • If you roll a critical hit, roll again and multiply the result by $c$.
  • Keep multiplying as long as you keep rolling critical hits.

What is the asymptotic chance of reaching at least a threshold $x$?

  • You need $\log_c x$ critical hits (plus some constant) to reach $x$.
  • Each critical hit has a chance of occurring $\frac{1}{s}$.

All in all, the chance is proportional to

$$ P\left(X \geq x \right) \propto \left( \frac{1}{s} \right)^{\log_c x} = x^{- \log s / \log c} $$

Compare the survival function of a Pareto distribution

$$ P\left(X \geq x\right) = \left( \frac{x_m}{x} \right)^\alpha $$

and we have a match with $\alpha = \frac{\log s}{\log c}$. For example:

  • The St. Petersburg game corresponds to the case of $s = 2, c = 2$ which makes $\alpha = 1$.
  • A Dungeons & Dragons-like system with $s = 20, c = 2$ makes $\alpha \approx 4.32$.

You can make the distribution look more or less like the Pareto distribution in details and/or try to hit a particular $x_m$ by choosing the numbers on the faces of the die, or by using some sort of compound dice roll rather than a single standard die. Though you'll eventually run into tradeoffs between making a better approximation, the complexity of the rolling process, and other considerations.

Threshold-only: "step dice"

If you don't need the exact value of a sample, but only whether it exceeds a target threshold (e.g. binary pass/fail resolution in a tabletop game), then you can use the survival function

$$ P\left(X \geq x\right) = \left( \frac{x_m}{x} \right)^\alpha $$

directly by rolling $\alpha$ dice, each with $x$ sides labeled $1 \ldots x$, taking the highest, and seeing if the result is less than or equal to $x_m$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.