stmt: Modelling multiple timescales using flexible parametric survival models in Stata

After many years of working on the stmt package in Stata, our paper Flexible parametric survival analysis with multiple timescales: Estimation and implementation using stmt was recently published in the Stata Journal (1). stmt can be installed by typing in Stata:

ssc install stmt

The aim of this paper was to describe and illustrate how to model multiple timescales using flexible parametric survival models, and introduce the stmt Stata package (which has been around on SSC for quite some time already!). Typically time-to-event analyses focus on modelling one timescale of interest, but there may be situations where modelling multiple timescales is of interest. In fact it may be necessary to account for several timescales to answer specific research questions, or to estimate effects without bias under certain circumstances (2). One typical approach for modelling multiple timescales is to select one primary timescale, and split follow-up time on the second timescale. This variable for the second timescale can then be includes as a covariate in the time-to-event model (for example, as a categorical variable or smoothed spline in a Poisson model). When using large datasets, this approach can be computationally intensive!

Instead, we suggest the approach of modelling multiple timescales simultaneously and smoothly, via a flexible parametric survival model framework on the log hazard scale. Restricted cubic splines are used to model both the first and second timescale, where the second timescale is written as a function of the first timescale, since time increases in the same way independent of timescale. For example, if we were interested in modelling time since surgery until death, we could consider timescales 1) time since surgery and 2) attained age. We could then write the attained age as a function of time since surgery (= time since surgery + age at surgery).

stmt uses restricted cubic splines in the flexible parametric framework to model two timescales simultaneously; note that the command extends to three timescales, although the theoretical approach extends for multiple timescales.

The Stata Journal paper describes the methodology behind this approach, and illustrates how to fit these models using stmt, and predict useful results using the stmt post-estimation command.

Feedback and bug reports are very welcome – we hope you find it useful!


When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$


State-of-the-art statistical models for modern HTA

At @RedDoorAnalytics, we develop methodology and software for efficient modelling of biomarkers, measured repeatedly over time, jointly with survival outcomes, which are being increasingly used in cancer settings. We have also developed methods and software for general non-Markov multi-state survival analysis, allowing for the development of more plausible natural history models, where patient history can […]
Learn more


Multilevel (hierarchical) survival models: Estimation, prediction, interpretation

Hierarchical time-to-event data is common across various research domains. In the medical field, for instance, patients are often nested within hospitals and regions, while in education, students are nested within schools. In these settings, the outcome is typically measured at the individual level, with covariates recorded at any level of the hierarchy. This hierarchical structure […]
Learn more

Statistical Primers

What are competing risks?

Competing risks In survival analysis, competing risks refer to the situation when an individual is at risk of experiencing an event that precludes the event under study to occur. Competing risks commonly occur in studies of cause-specific mortality, as all other causes of death than the one under study might happen before the individuals “have […]
Learn more