Reliafy
← Model reference

Discrete distributions

Use these when life is a count, not a duration: cycles to failure, shocks survived, demands before a failure. They take the same x/c/n mapping as the continuous distributions, but there's no probability paper for them — you get parameters, reliability functions and goodness-of-fit, without the plot.

In Python: these are SurPyval's discrete distributions, fitted in code as its parametric modelling docs show.

Discrete Weibulldiscrete_weibull

Parameters
q0 – 1β> 0
Support
0 to ∞

The whole-count analogue of the Weibull, with the same shape-driven behaviour over a discrete support.

R(k) = q^(k^β)

Use it for cycles-to-failure or shocks-to-failure where you'd reach for a Weibull if time were continuous. Watch out: if counts are large (thousands of cycles), the continuous Weibull is usually easier to interpret and loses nothing.

Geometricgeometric

Parameters
p0 – 1
Support
0 to ∞

The discrete memoryless model — the counting analogue of the exponential. Each trial fails independently with the same probability.

R(k) = (1 − p)^k

Use it for per-demand failures where history genuinely doesn't matter. Watch out: as with the exponential, the memoryless assumption is often assumed rather than checked — if failures cluster with age, this will hide it.

Beta-Geometricbeta_geometric

Parameters
a> 0b> 0
Support
0 to ∞

Geometric with unit-to-unit variation. The per-trial failure probability isn't one number: it varies across the population, drawn from a Beta.

p ~ Beta(α, β),   then  k | p ~ Geometric(p)

Use it when a plain geometric under-predicts survivors — heterogeneity means weak units fail early and the remainder are tougher than the average implies. Watch out: you need a decent sample to separate real heterogeneity from noise.

Negative Binomialnegative_binomial

Parameters
r> 0p0 – 1
Support
0 to ∞

Trials until several failures, rather than the first — more dispersed than the geometric.

Number of trials until the r-th failure, each with probability p

Use it for counts that are over-dispersed relative to a simple model, or when a unit tolerates several events before it's considered failed. Watch out: its extra parameter can absorb over-dispersion that actually comes from mixing distinct populations.

Poissonpoisson

Parameters
μ> 0
Support
-1 to ∞

Counts of events in a fixed exposure — the classic count model.

P(k) = e^(−λ)·λ^k / k!

λ is both the mean and the variance.

Use it for number of events per unit of time or usage. Watch out: the mean-equals-variance property is a strong claim. If your data's variance clearly exceeds its mean, prefer the negative binomial. Note too that this models a count, not a time to failure — for repairable-system event histories, the recurrent-event models are the right tool.

Discretized lognormaldiscretized_lognormal

Parameters
μany real valueσ> 0
Support
0 to ∞

A lognormal on the counts 1, 2, 3, … — the continuous lognormal rounded up to whole cycles, so R(k) equals the lognormal's survival at k.

P(K = k) = F(k) − F(k − 1)

μ and σ keep their lognormal meanings (mean and spread of log life).

Use it for cycles or demands to failure that look right-skewed, as fatigue does. Watch out: as for the lognormal, the hazard rises then falls.

Discretized gammadiscretized_gamma

Parameters
α> 0β> 0
Support
0 to ∞

A gamma on the counts 1, 2, 3, … — the continuous gamma rounded up to whole cycles. α is the shape and β the rate, as for the gamma.

Use it for counts to failure that build up through stages or shocks.

Discretized log-logisticdiscretized_loglogistic

Parameters
α> 0β> 0
Support
0 to ∞

A log-logistic on the counts 1, 2, 3, … — the continuous log-logistic rounded up to whole cycles, with α the scale and β the shape.

Use it for counts with a heavier tail than the discretized lognormal.