Distributions (normal, binomial, Poisson)
Why distributions matter
Distributions model uncertainty and randomness.
- Normal: measurement noise, averages
- Binomial: number of successes in N trials (conversions)
- Poisson: counts over time/space (arrivals, events)
Normal distribution
- Parameters: mean (\mu), std (\sigma)
- Symmetric bell curve
Normal samples
import numpy as np
x = np.random.normal(loc=0, scale=1, size=10_000)
print(x.mean(), x.std())Normal samples
import numpy as np
x = np.random.normal(loc=0, scale=1, size=10_000)
print(x.mean(), x.std())Binomial distribution
- Parameters: trials (n), success prob (p)
- Example: 100 visitors, conversion probability 0.03
Binomial samples
import numpy as np
samples = np.random.binomial(n=100, p=0.03, size=10_000)
print(samples.mean())Binomial samples
import numpy as np
samples = np.random.binomial(n=100, p=0.03, size=10_000)
print(samples.mean())Poisson distribution
- Parameter: rate (\lambda)
- Example: number of support tickets per hour
Poisson samples
import numpy as np
samples = np.random.poisson(lam=5, size=10_000)
print(samples.mean())Poisson samples
import numpy as np
samples = np.random.poisson(lam=5, size=10_000)
print(samples.mean())Practical tip
When unsure:
- Plot a histogram of your data.
- Start with simple candidates (normal vs count distributions).
- Check mean/variance: for Poisson, mean ≈ variance.
If this helped you, consider buying me a coffee ☕
Buy me a coffeeWas this page helpful?
Let us know how we did
