Red Door Analytics
Resources · Primer

What is a frailty model?

What a frailty model is, how individual frailty makes a population hazard fall, shared frailty for clustered data, and why its hazard ratios are conditional.

Primer5 min readUpdated 22 October 2026Reviewed 22 October 2026

A frailty model is a survival model with a random effect: an unobserved factor that multiplies the hazard of a person, or of a whole group. The word comes from demography, where frailty stands for how susceptible a person is. It is used in two ways. Individual frailty describes differences in susceptibility between people that the covariates do not explain. Shared frailty describes what the members of a cluster have in common, such as the patients of one hospital, the members of one family or the repeated events of one person.

For person i in cluster j the hazard is hij(t)=zjh0(t)exp(xijβ), where the shared frailty zj>0 is a random variable (for an individual frailty, zj is replaced by zij). It is often gamma distributed with mean 1 and variance θ, the model behind Clayton (1978) (see also Hougaard, 1995), or log-normal. The variance θ measures how much the frailties differ, and θ=0 means no frailty. (The tutorial of Balan and Putter writes θ for the inverse of this variance.)

Why unexplained differences matter: selection

People with a high frailty tend to have the event early, and those left are the more robust. The hazard of the population therefore changes over time even when no individual's hazard does (Vaupel et al., 1979; Balan and Putter, 2020). Take a baseline hazard of 0.2 per year, constant over time, and a gamma frailty with mean 1 and variance 1, so that each person's hazard is 0.2 times their own frailty and stays constant. The hazard of the population is 0.2/(1+0.2t): 0.20 at the start, 0.14 at two years, 0.10 at five and 0.067 at ten, although each person's own hazard does not change. The median survival of the population is 5.0 years, where a population with no frailty would have 3.5.

The same selection changes the hazard ratio. Suppose treatment halves the hazard of every person, from 0.2 to 0.1 per year, so the hazard ratio for people with the same frailty is 0.5 at every time. In the population, with the same frailty variance of 1, the ratio of the hazards is 0.50 at the start, 0.58 at two years, 0.67 at five, 0.75 at ten and 0.83 at twenty. In this example treatment has not waned. The control group loses its high-frailty members faster than the treated group does, so its survivors become more robust sooner. This is the built-in selection of the hazard ratio that What is a hazard ratio? describes.

Shared frailty and clustering

When members of a cluster share one frailty, their event times are correlated, and the variance θ measures how strongly. With a gamma frailty, Kendall's tau, a measure of the association between the event times of two members of a cluster, is θ/(θ+2), which is 1/3 for θ=1. Ignoring the clustering understates the uncertainty of the effects of cluster-level covariates. Frailty models are also used for recurrent events, where the cluster is the person and the repeated events of one person are correlated, and in joint models of recurrent and terminal events (Joint frailty models for recurrent and terminal events).

Conditional and marginal hazard ratios

A hazard ratio from a frailty model is conditional: it compares people, or clusters, with the same frailty. The hazard ratio of the population, the marginal one, differs. With a gamma frailty it is closer to 1 than the conditional one and moves towards 1 as time passes, as in the example. Which one to report depends on the question, a comparison for the same patient or for the population. It is the same distinction as in What is non-collapsibility?

Pitfalls

  • One event per person. With a single event for each person, an individual frailty is hard to tell apart from the shape of the baseline hazard and, when there are covariates, from a covariate effect that changes over time. The model separates them only through assumptions: the distribution of the frailty, and proportional hazards given the frailty. The estimate of θ depends on those assumptions.
  • The choice of distribution. A gamma frailty is convenient because the population hazard has a closed form, but the data seldom say whether it is right, and different choices can change the estimates of the covariate effects and of θ.
  • Testing that there is no frailty. Zero lies on the boundary of the possible values of θ, so the p-value from an ordinary chi-squared test with one degree of freedom is conservative. The correct reference is a 50:50 mixture of chi-squared distributions with 0 and 1 degrees of freedom, which halves the p-value, and Stata's streg reports this version.
  • A frailty is not a risk factor. It absorbs what is not measured, and misfit such as non-proportional hazards as well. It does not replace measuring and adjusting for the known risk factors.

What to report

  • The distribution of the frailty and the reason for choosing it.
  • The estimated variance θ, with a confidence interval (preferably from the profile likelihood), and for shared frailty the clusters and their sizes.
  • Whether the hazard ratios are conditional on the frailty, and, where the population effect is wanted, the marginal effect as well.
  • A comparison with the same model without frailty.

In software

In R, coxph() in the survival package fits a shared frailty with frailty(), and the coxme and frailtypack packages fit more general ones. In Stata, streg with the frailty() option fits an individual frailty, or a shared one when shared() is added, and stcox with shared() fits a Cox model with a shared gamma frailty. In merlin a normally distributed random effect can be added to the linear predictor of a survival model on the log hazard or log cumulative hazard scale, which gives shared (log-normal) frailties at one or more levels, as in Simulation and estimation of three-level survival models and Flexible parametric survival analysis with frailty.

Want to learn more?

Need this applied to your own data?

Tell us what you're modelling and we'll point you to the closest worked example — or build one with you.

Get in touch Start a project