Tutorials › Biostatistics › Poisson Regression for Count Data in Clinical Trials

Clinical Trial Modeling & Count Data

Poisson Regression for Count Data in Clinical Trials

A practical guide to modeling clinical-trial count outcomes with Poisson regression, including incidence rates, exposure offsets, incidence rate ratios, model assumptions, overdispersion, recurrent events, complete worked examples, and implementation in R and SAS.

Intermediate 15 min read

What You'll Learn

  • When Poisson regression is appropriate for clinical count outcomes
  • How the log link connects predictors to expected event counts and rates
  • How exposure offsets allow patients to have different follow-up times
  • How to interpret incidence rate ratios and confidence intervals
  • How to detect and address overdispersion and excess zeros
  • How to implement Poisson regression in R and SAS for clinical-trial analyses

Introduction

Many clinical-trial endpoints are not naturally binary or continuous. Instead, a patient may experience an event a number of times during a period of observation.

Examples include the number of:

  • Asthma exacerbations during follow-up
  • Seizures during a treatment period
  • Hospitalizations during one year
  • Infections during treatment
  • Rescue-medication uses
  • Bleeding episodes
  • Falls
  • Protocol-defined disease flares
  • Adverse events of a particular type

These outcomes are count data. A natural starting point for analyzing such data is Poisson regression.

Key idea: Poisson regression models the expected number of events while allowing that expected count to depend on treatment, baseline characteristics, and other covariates. When patients have different amounts of observation time, an exposure offset can convert the model from an event-count model into an event-rate model.

What Is Count Data?

A count variable records how many times something occurs.

For example, suppose patients in a clinical trial are followed for six months and the number of disease exacerbations is recorded.

Patient Treatment Follow-up Exacerbations
1 Placebo 6 months 3
2 Placebo 6 months 0
3 Active 6 months 1
4 Active 6 months 2
5 Active 3 months 0

The outcome is different from a binary endpoint.

A binary analysis might record only whether a patient had at least one exacerbation:

\[ Y_i= \begin{cases} 1,&\text{at least one event}\\ 0,&\text{no events} \end{cases} \]

That approach discards information about whether a patient had one, two, three, or ten events.

Poisson regression retains the count information.

When Is Poisson Regression Useful?

Poisson regression is especially useful when the scientific question concerns the number or rate of events rather than simply whether an event occurred.

For example:

1
Binary outcome: Did the patient experience at least one exacerbation?
2
Count outcome: How many exacerbations did the patient experience?
3
Rate outcome: How many exacerbations occurred per patient-year of follow-up?

Logistic regression is natural for the first question. Poisson regression is a natural model for the second and third questions.

The Poisson Distribution

The Poisson regression model is based on the Poisson distribution.

If a random variable \(Y\) has a Poisson distribution with mean \(\lambda\), then:

\[ Y\sim\operatorname{Poisson}(\lambda) \]

The probability of observing exactly \(y\) events is:

\[ P(Y=y) = \frac{e^{-\lambda}\lambda^y}{y!}, \qquad y=0,1,2,\ldots \]

A fundamental property of the Poisson distribution is:

\[ E(Y)=\lambda \]

and:

\[ \operatorname{Var}(Y)=\lambda \]

Thus, the Poisson distribution assumes that the mean and variance are equal.

Equidispersion assumption: The equality of the mean and variance is a defining feature of the standard Poisson model. In clinical data, the observed variance is often substantially larger than the mean. This is called overdispersion and is one of the most important issues to investigate when fitting Poisson regression.

The Poisson Regression Model

Let \(Y_i\) be the event count for patient \(i\). The Poisson regression model assumes:

\[ Y_i\sim\operatorname{Poisson}(\lambda_i) \]

The expected count is related to the predictors through the log link:

\[ \log(\lambda_i) = \beta_0+ \beta_1X_{i1}+ \beta_2X_{i2} +\cdots+ \beta_kX_{ik} \]

Equivalently:

\[ \lambda_i = \exp\left( \beta_0+ \beta_1X_{i1}+ \beta_2X_{i2} +\cdots+ \beta_kX_{ik} \right) \]

The exponential form is particularly useful for interpretation because the coefficients can be converted into rate ratios.

Why Use the Log Link?

Counts cannot be negative.

The linear predictor:

\[ \beta_0+\beta_1X_1+\cdots+\beta_kX_k \] can take any real value.

Exponentiating it guarantees that the expected count remains positive:

\[ \lambda_i>0 \]

The log link therefore provides a natural way to connect an unrestricted linear predictor with a positive expected event count.

Interpreting a Poisson Regression Coefficient

Suppose treatment is coded:

\[ X= \begin{cases} 0,&\text{placebo}\\ 1,&\text{active treatment} \end{cases} \]

Consider the model:

\[ \log(\lambda_i) = \beta_0+\beta_1X_i \]

For placebo:

\[ \lambda_{\text{P}} = e^{\beta_0} \]

For active treatment:

\[ \lambda_{\text{A}} = e^{\beta_0+\beta_1} \]

The ratio is:

\[ \frac{\lambda_{\text{A}}}{\lambda_{\text{P}}} = e^{\beta_1} \]

Therefore:

\[ \boxed{\text{Rate Ratio}=e^{\beta_1}} \]

This quantity is commonly called the incidence rate ratio, or IRR, when the model represents event rates.

Interpreting the Incidence Rate Ratio

IRR Interpretation
1.00 No difference in event rate
0.80 20% lower event rate
0.50 50% lower event rate
1.25 25% higher event rate
2.00 100% higher event rate; twice the rate

In general, the percentage change in the event rate associated with a one-unit increase in a predictor is:

\[ 100\times(e^\beta-1)\% \]

For example, if:

\[ \beta=\log(0.70) \]

then:

\[ e^\beta=0.70 \]

and the event rate is approximately 30% lower.

Count Versus Rate

A major issue in clinical trials is that patients frequently have different amounts of observation time.

Consider two patients:

Patient Events Follow-up Events per Year
A 4 1 year 4.0
B 4 0.25 year 16.0

Both patients have four events, but their event rates are very different.

If follow-up time differs meaningfully among patients, analyzing the raw count without accounting for exposure can be misleading.

The Exposure Offset

Poisson regression handles differing exposure times through an offset.

Let:

  • \(Y_i\) = number of events for patient \(i\)
  • \(T_i\) = exposure or follow-up time for patient \(i\)
  • \(\mu_i\) = expected event count

The rate model can be written:

\[ \log(\mu_i) = \log(T_i) + \beta_0+ \beta_1X_{i1} +\cdots+ \beta_kX_{ik} \]

The term:

\[ \log(T_i) \] is the offset.

Equivalently, the event rate \(\lambda_i\) satisfies:

\[ \log(\lambda_i) = \beta_0+ \beta_1X_{i1} +\cdots+ \beta_kX_{ik} \]

and:

\[ \mu_i=T_i\lambda_i \]

This is one of the most important concepts in clinical Poisson regression.

Rule of thumb: If patients contribute different amounts of person-time, and the scientific question concerns an event rate, use the logarithm of exposure time as an offset rather than simply including follow-up time as an ordinary covariate.

Why the Offset Has a Fixed Coefficient

An offset differs from an ordinary predictor.

For an ordinary covariate:

\[ \beta X \]

the coefficient \(\beta\) is estimated from the data.

For the offset:

\[ 1\times\log(T) \]

the coefficient is fixed at one.

This encodes the assumption that expected event counts are proportional to exposure time.

Clinical Example: Asthma Exacerbations

Suppose a randomized clinical trial compares an active treatment with placebo for prevention of asthma exacerbations.

The primary count outcome is the number of exacerbations experienced during follow-up.

Because patients may have different observation times, the analysis will model the exacerbation rate.

Suppose the analysis population is summarized as follows:

Treatment Patients Total Exacerbations Total Person-Years
Placebo 200 100 90
Active 200 70 95

The crude event rates are:

\[ \text{Placebo rate} = \frac{100}{90} = 1.111 \]

and:

\[ \text{Active rate} = \frac{70}{95} = 0.737 \]

The crude rate ratio is approximately:

\[ RR = \frac{0.737}{1.111} \approx0.664 \]

Thus, before covariate adjustment, the active treatment has approximately one-third fewer exacerbations per person-year.

Patient-Level Model

The corresponding Poisson regression model could be:

\[ \log(\mu_i) = \log(T_i) + \beta_0 + \beta_1\operatorname{Treatment}_i + \beta_2\operatorname{Age}_i + \beta_3\operatorname{BaselineSeverity}_i \]

The treatment effect is:

\[ IRR=e^{\beta_1} \]

If the fitted coefficient were:

\[ \hat{\beta}_1=-0.40 \]

then:

\[ IRR=e^{-0.40}\approx0.670 \]

The estimated exacerbation rate would therefore be approximately 33% lower in the active-treatment group, conditional on the covariates in the model.

Confidence Intervals for the IRR

Suppose the estimated treatment coefficient is:

\[ \hat{\beta}_1=-0.40 \]

with standard error:

\[ SE(\hat{\beta}_1)=0.15 \]

A Wald 95% confidence interval on the log scale is:

\[ \hat{\beta}_1 \pm 1.96SE(\hat{\beta}_1) \]

Therefore:

\[ -0.40 \pm 1.96(0.15) \]

giving approximately:

\[ (-0.694,\,-0.106) \]

Exponentiating both limits gives the confidence interval for the IRR:

\[ (e^{-0.694},e^{-0.106}) \approx (0.50,0.90) \]

The estimated IRR would therefore be approximately:

\[ \boxed{IRR=0.67\;(95\%\,CI:\;0.50,\;0.90)} \]

An IRR below one indicates a lower event rate in the active-treatment group.

Hypothesis Testing

For a treatment effect, the usual null hypothesis is:

\[ H_0:\beta_1=0 \]

Because:

\[ e^0=1 \]

this is equivalent to:

\[ H_0:IRR=1 \]

The alternative is:

\[ H_A:\beta_1\ne0 \]

or equivalently:

\[ H_A:IRR\ne1 \]

A two-sided 95% confidence interval that excludes one corresponds to rejection of the two-sided null hypothesis at the 5% level under the corresponding large-sample Wald framework.

Rate Ratio Versus Risk Ratio

These quantities should not be confused.

Measure Typical Model Question
Risk ratio Binary regression How does probability of an event differ?
Odds ratio Logistic regression How do event odds differ?
Hazard ratio Survival model How does instantaneous event hazard differ?
Incidence rate ratio Poisson regression How does event rate differ?

The IRR compares expected event rates, typically events per unit of person-time.

Important: An IRR is not automatically a risk ratio or hazard ratio. The estimand must match the endpoint definition, follow-up structure, model, and interpretation specified in the statistical analysis plan.

Poisson Regression With a Binary Treatment Variable

The simplest clinical-trial model contains only treatment:

\[ \log(\mu_i) = \log(T_i) + \beta_0+ \beta_1X_i \]

where:

  • \(X_i=0\) for placebo
  • \(X_i=1\) for active treatment
  • \(T_i\) is the patient's exposure time

The treatment IRR is:

\[ IRR=e^{\beta_1} \]

This model provides an adjusted estimate only if additional covariates are included. With treatment as the only predictor, the result is essentially a model-based comparison of the treatment-specific event rates.

Adding Baseline Covariates

Clinical trials may include prognostic baseline variables to improve precision or address prespecified adjustment requirements.

For example:

\[ \log(\mu_i) = \log(T_i) + \beta_0 + \beta_1Treatment_i + \beta_2Age_i + \beta_3Sex_i + \beta_4BaselineSeverity_i \]

The treatment IRR remains:

\[ IRR=e^{\beta_1} \]

but it now represents the treatment association conditional on the covariates included in the model.

Categorical Predictors

Poisson regression can include categorical predictors in exactly the same general way as other generalized linear models.

Suppose disease severity has three categories:

  • Mild
  • Moderate
  • Severe

If mild disease is the reference category, the model might contain indicators for moderate and severe disease.

\[ \log(\mu_i) = \log(T_i) + \beta_0 + \beta_1Treatment_i + \beta_2Moderate_i + \beta_3Severe_i \]

The corresponding IRRs are:

\[ IRR_{\text{moderate vs mild}}=e^{\beta_2} \]

and:

\[ IRR_{\text{severe vs mild}}=e^{\beta_3} \]

Continuous Predictors

A continuous predictor can also be included.

Suppose age is measured in years:

\[ \log(\mu_i) = \log(T_i) + \beta_0+\beta_1Age_i \]

Then:

\[ e^{\beta_1} \]

is the multiplicative change in event rate associated with a one-year increase in age.

For example, if:

\[ e^{\beta_1}=1.03 \]

then each additional year of age is associated with a 3% higher modeled event rate, assuming the linear effect on the log-rate scale is appropriate.

Scaling Continuous Predictors

A one-unit increase is not always clinically meaningful.

Suppose baseline biomarker concentration is measured in units where a one-unit difference is trivial. Instead, the predictor can be scaled per 10 units.

\[ X_i^{*}=\frac{X_i}{10} \]

Then:

\[ e^\beta \]

represents the IRR associated with a 10-unit increase rather than a one-unit increase.

Interactions

Poisson regression can also evaluate whether a treatment effect differs across subgroups.

For example:

\[ \log(\mu_i) = \log(T_i) + \beta_0 + \beta_1Treatment_i + \beta_2Sex_i + \beta_3Treatment_i\times Sex_i \]

The interaction coefficient tests whether the treatment effect differs by sex on the log-rate scale.

Interpret interactions carefully: A statistically significant subgroup-specific treatment effect is not itself evidence of treatment-effect heterogeneity. The interaction term is the direct model-based test of whether the treatment effect differs across the subgroups.

The Most Important Assumption: Equidispersion

The standard Poisson model assumes:

\[ E(Y_i)=Var(Y_i)=\lambda_i \]

In real clinical data, the variance frequently exceeds the mean.

For example, suppose:

\[ \bar{Y}=1.8 \]

but:

\[ s^2=5.6 \]

The observed variance is much larger than the mean.

This is evidence of possible overdispersion.

Why Does Overdispersion Matter?

If the mean model is appropriate but the variance is larger than assumed by the Poisson distribution, the standard Poisson model can underestimate standard errors.

That can lead to:

  • Confidence intervals that are too narrow
  • P-values that are too small
  • Overly optimistic evidence against the null hypothesis
Key distinction: Overdispersion primarily affects the estimated variability and therefore inference. The treatment coefficient may still describe a useful mean-rate relationship, but the standard Poisson variance assumptions may be inadequate.

Sources of Overdispersion

Clinical count data can be overdispersed for many reasons.

  • Unobserved patient heterogeneity
  • Patients with unusually high event rates
  • Clustering of events within patients
  • Different underlying disease severity
  • Excess zeros combined with a small number of high counts
  • Dependence among recurrent events
  • Incorrect model specification
  • Unmodeled treatment-by-covariate interactions

Checking for Overdispersion

One simple diagnostic compares the residual deviance with its degrees of freedom.

\[ \phi = \frac{\text{Residual Deviance}} {\text{Residual Degrees of Freedom}} \]

Values substantially above one can indicate overdispersion.

Another rough diagnostic compares the Pearson chi-square statistic with its degrees of freedom:

\[ \hat{\phi} = \frac{X^2_{\text{Pearson}}}{df} \]

A value close to one is consistent with the Poisson variance assumption, while a materially larger value suggests overdispersion.

Do not use a single diagnostic mechanically. A dispersion statistic should be considered alongside residual diagnostics, the distribution of counts, clinical knowledge, event clustering, and the study's estimand.

Quasi-Poisson Regression

One way to account for overdispersion is a quasi-Poisson model.

The mean model remains:

\[ \log(\lambda_i) = X_i^\top\beta \]

but the variance is allowed to be:

\[ Var(Y_i)=\phi\lambda_i \]

where:

\[ \phi>1 \]

represents overdispersion.

The estimated regression coefficients retain the same basic interpretation, but the variance estimation is adjusted.

Negative Binomial Regression

Another widely used approach is negative binomial regression.

A common parameterization has:

\[ E(Y_i)=\mu_i \]

and:

\[ Var(Y_i)=\mu_i+\alpha\mu_i^2 \]

where:

\[ \alpha\ge0 \]

allows the variance to exceed the mean.

The mean structure can still use the log link:

\[ \log(\mu_i) = \log(T_i)+X_i^\top\beta \]

and the exponentiated treatment coefficient remains an incidence rate ratio.

Poisson Versus Negative Binomial

Feature Poisson Negative Binomial
Count outcome Yes Yes
Log link Typically Typically
Mean \(\mu\) \(\mu\)
Variance \(\mu\) \(\mu+\alpha\mu^2\)
Overdispersion Not explicitly modeled Yes
Exposure offset Yes Yes
Effect measure IRR IRR
Practical point: Negative binomial regression is often a natural sensitivity or primary alternative when count data show meaningful overdispersion that cannot be adequately addressed by a standard Poisson model.

Excess Zeros

Clinical count data can contain many patients with zero events.

For example, in a trial of a rare disease flare:

  • Most patients may have zero flares.
  • A small number may have one or two.
  • A few patients may have many recurrent flares.

If the number of zeros is substantially greater than expected under a standard Poisson or negative binomial model, a zero-inflated or hurdle model may be considered.

Zero-Inflated Models

A zero-inflated model combines two processes.

One process determines whether an observation is in a structural-zero group.

The second process generates counts, potentially including additional zeros.

Conceptually:

1
Structural-zero process: determines whether a patient can experience the event under the modeled process.
2
Count process: models the number of events among patients subject to the count-generating process.

Zero-inflated models should not be selected simply because the dataset contains many zeros.

There should be a scientifically defensible reason for assuming that two distinct processes generate the observations.

Hurdle Models

A hurdle model also separates zero from positive counts.

The first component models:

\[ P(Y_i>0) \]

while the second component models the positive counts.

Hurdle models can therefore be useful when the scientific question naturally separates:

  • Whether a patient experiences any events
  • How many events occur among patients who experience at least one

Repeated Events and Patient-Level Dependence

A major issue in clinical trials is that recurrent events within the same patient are generally not independent.

For example, a patient who experiences one hospitalization may be at greater risk of experiencing another hospitalization.

Therefore, simply treating all events as independent Poisson observations can understate uncertainty.

The appropriate model depends on the estimand and the scientific question.

Population-Level Rate Versus Recurrent-Event Modeling

There is an important distinction between:

  • Comparing overall event rates between treatment groups
  • Modeling within-patient recurrent-event dependence

A simple Poisson rate model can be useful for the first question, especially when robust variance estimation or other appropriate methods account for within-patient dependence.

For more complex recurrent-event questions, alternatives may include:

  • Negative binomial models
  • Generalized estimating equations
  • Mixed-effects count models
  • Frailty models
  • Andersen-Gill-type recurrent-event approaches
  • Joint or multi-state models
Estimand first: The choice of recurrent-event method should follow the clinical estimand. Different methods answer different questions about repeated events, and they should not be treated as interchangeable simply because they all analyze counts.

Robust Variance Estimation

When the mean structure is appropriate but independence or variance assumptions are questionable, robust or sandwich variance estimation can provide a useful approach.

The model can retain a Poisson mean structure:

\[ \log(\mu_i) = \log(T_i)+X_i^\top\beta \]

while the covariance matrix is estimated using a robust method.

This can be particularly relevant when multiple events occur within the same patient.

Important: Robust standard errors do not magically fix a badly specified mean model. They primarily address variance misspecification. The clinical estimand and mean structure still need to be appropriate.

Worked Example: Hospitalizations

Suppose a randomized trial evaluates a treatment intended to reduce hospitalizations.

The analysis includes 300 patients.

Treatment Patients Hospitalizations Person-Years
Placebo 150 120 110
Active 150 84 115

The crude rates are:

\[ Rate_P=\frac{120}{110}=1.091 \]

and:

\[ Rate_A=\frac{84}{115}=0.730 \]

The crude rate ratio is:

\[ IRR = \frac{0.730}{1.091} \approx0.669 \]

Thus, the active treatment has approximately 33% fewer hospitalizations per person-year in this crude comparison.

Poisson Model for the Hospitalization Example

The patient-level model is:

\[ \log(\mu_i) = \log(T_i) + \beta_0 + \beta_1Treatment_i \]

Suppose the fitted treatment coefficient is:

\[ \hat{\beta}_1=-0.402 \]

Then:

\[ IRR=e^{-0.402}\approx0.669 \]

The treatment effect can be expressed as:

\[ 100(0.669-1) = -33.1\% \]

Therefore, the estimated hospitalization rate is approximately 33% lower under active treatment than placebo.

Predicted Rates

The model can also be used to estimate expected event rates.

For placebo:

\[ \lambda_P=e^{\beta_0} \]

For active treatment:

\[ \lambda_A=e^{\beta_0+\beta_1} \]

The ratio remains:

\[ \frac{\lambda_A}{\lambda_P}=e^{\beta_1} \]

This makes the IRR especially convenient for communicating treatment effects.

Expected Counts for a Fixed Follow-Up Period

Suppose the modeled placebo rate is:

\[ \lambda_P=1.10 \]

hospitalizations per person-year.

For a patient followed for two years, the expected count is:

\[ E(Y)=T\lambda = 2(1.10) = 2.20 \]

If the treatment IRR is 0.70, the active-treatment rate is:

\[ \lambda_A = 0.70(1.10) = 0.77 \]

and the expected number over two years is:

\[ E(Y_A) = 2(0.77) = 1.54 \]

R Implementation

In R, Poisson regression can be fitted using the generalized linear model function glm().

Suppose the dataset contains:

  • events = number of events
  • treatment = treatment indicator
  • exposure = follow-up time
  • age = baseline age
  • severity = baseline severity

The basic model is:

fit <- glm(
  events ~ treatment + age + severity +
    offset(log(exposure)),
  family = poisson(link = "log"),
  data = trial
)

summary(fit)

Extract the Incidence Rate Ratio in R

The treatment coefficient is on the log-rate scale.

Exponentiating it gives the IRR.

beta_treatment <- coef(fit)["treatment"]

irr <- exp(beta_treatment)

irr

A convenient way to obtain exponentiated coefficients is:

exp(coef(fit))

The treatment coefficient should be identified explicitly rather than assuming a particular coefficient position.

95% Confidence Interval for the IRR in R

The confidence interval can be obtained on the model coefficient scale and then exponentiated.

ci_beta <- confint.default(
  fit,
  parm = "treatment"
)

ci_irr <- exp(ci_beta)

ci_irr

For a likelihood-based confidence interval:

ci_beta_profile <- confint(
  fit,
  parm = "treatment"
)

exp(ci_beta_profile)

The choice between Wald and profile-likelihood intervals should follow the analysis specification and software-validation strategy.

Checking Overdispersion in R

A simple diagnostic is:

dispersion <- sum(
  residuals(fit, type = "pearson")^2
) / df.residual(fit)

dispersion

A value substantially greater than one suggests possible overdispersion.

For example:

dispersion
# approximately 1.8

would indicate substantially more variability than the standard Poisson model expects.

Do not interpret 1.8 as a universal cutoff. Dispersion should be evaluated in context. The magnitude, data structure, sample size, residual patterns, and clinical mechanism all matter.

Quasi-Poisson in R

A quasi-Poisson model can be fitted using:

fit_qp <- glm(
  events ~ treatment + age + severity +
    offset(log(exposure)),
  family = quasipoisson(link = "log"),
  data = trial
)

summary(fit_qp)

The treatment effect can again be exponentiated:

exp(coef(fit_qp)["treatment"])

Negative Binomial Regression in R

Negative binomial regression can be fitted using the MASS package.

library(MASS)

fit_nb <- glm.nb(
  events ~ treatment + age + severity +
    offset(log(exposure)),
  data = trial
)

summary(fit_nb)

The treatment IRR is:

exp(coef(fit_nb)["treatment"])

SAS Implementation

In SAS, Poisson regression can be fitted using PROC GENMOD.

proc genmod data=trial;
    class treatment severity;

    model events =
        treatment
        age
        severity
        / dist=poisson
          link=log
          offset=log_exposure
          type3;

    estimate "Active vs Placebo"
        treatment 1 -1
        / exp cl;
run;

Here log_exposure should contain the logarithm of the patient's exposure time.

For example:

data trial;
    set trial;
    log_exposure = log(exposure);
run;
SAS offset detail: The offset variable should contain the logarithm of exposure time, not the raw exposure time itself, when using the standard log-link Poisson model.

Negative Binomial Regression in SAS

The same general procedure can fit a negative binomial model.

proc genmod data=trial;
    class treatment severity;

    model events =
        treatment
        age
        severity
        / dist=negbin
          link=log
          offset=log_exposure
          type3;

    estimate "Active vs Placebo"
        treatment 1 -1
        / exp cl;
run;

The exponentiated treatment estimate is interpreted as an incidence rate ratio.

Choosing the Reference Treatment

The treatment coding determines the interpretation of the coefficient.

Suppose placebo is the reference category.

Then:

\[ IRR = \frac{\text{Active treatment rate}} {\text{Placebo rate}} \]

An IRR below one favors active treatment when lower event rates are clinically desirable.

If the reference category is reversed, the estimated coefficient changes sign and the IRR becomes its reciprocal.

\[ IRR_{\text{Placebo vs Active}} = \frac{1}{IRR_{\text{Active vs Placebo}}} \]

Interpreting an IRR of 0.65

Suppose the analysis reports:

\[ IRR=0.65 \]

Then the active-treatment event rate is estimated to be 65% of the placebo event rate.

The relative reduction is:

\[ 1-0.65=0.35 \]

or:

\[ 35\% \]

Thus, a useful clinical interpretation is: the estimated event rate was approximately 35% lower with active treatment than with placebo.

Interpreting an IRR Greater Than One

Suppose:

\[ IRR=1.40 \]

Then the event rate is 1.40 times the reference rate.

The percentage increase is:

\[ 100(1.40-1)=40\% \]

Therefore, the event rate is approximately 40% higher.

Model-Based Rate Predictions

Poisson regression can also provide predicted rates for specific patient profiles.

Suppose:

\[ \beta_0=0.20 \]

and:

\[ \beta_1=-0.40 \]

For a placebo patient:

\[ \lambda_P=e^{0.20}\approx1.221 \]

For an otherwise identical active-treatment patient:

\[ \lambda_A=e^{0.20-0.40} = e^{-0.20} \approx0.819 \]

The ratio is:

\[ \frac{0.819}{1.221} \approx0.67 \]

which is exactly the treatment IRR:

\[ e^{-0.40}\approx0.67 \]

Model Diagnostics

Poisson regression should not be treated as a black box.

Useful diagnostic questions include:

  • Is the count outcome defined correctly?
  • Is exposure time correctly measured?
  • Is the offset appropriate?
  • Is the mean-variance relationship plausible?
  • Is there evidence of overdispersion?
  • Are there influential observations?
  • Are there extreme counts?
  • Are there excess zeros?
  • Are events clustered within patients?
  • Are important covariates or interactions omitted?

Residual Diagnostics

Residuals can help identify observations that do not fit the model well.

Common residual types include:

  • Pearson residuals
  • Deviance residuals
  • Working residuals

For example, in R:

plot(
  fitted(fit),
  residuals(fit, type = "pearson"),
  xlab = "Fitted values",
  ylab = "Pearson residuals"
)

abline(h = 0, lty = 2)

The goal is not simply to obtain a visually perfect plot. Residual patterns should be interpreted in relation to the clinical data and the assumed mean structure.

Influential Observations

A small number of patients with unusually large event counts can have a substantial influence on a Poisson model.

For example, suppose most patients have zero to two events, but one patient has 25 events.

That patient may be clinically legitimate, but the analyst should determine whether:

  • The observation is correct
  • The patient truly belongs in the analysis population
  • The event definition was applied consistently
  • The high count reflects genuine clinical heterogeneity
  • The model adequately accommodates such patients
Do not remove an extreme count merely because it changes the treatment effect. Outlier handling should be based on prespecified data-quality and statistical principles, not on whether removing a patient produces a more desirable result.

Exposure Time Must Be Defined Carefully

The offset is only as good as the exposure definition.

Potential exposure measures include:

  • Time on treatment
  • Time at risk
  • Time under observation
  • Person-years
  • Person-months

The appropriate denominator depends on the estimand.

For example, if the question is treatment-emergent adverse-event rate during actual treatment exposure, exposure time might be based on time on treatment.

If the question concerns events during a fixed follow-up period, a different exposure definition may be appropriate.

Clinical interpretation matters: The offset is not merely a technical adjustment. It defines the denominator of the rate being modeled and therefore contributes directly to the estimand.

Person-Time Units

The units of exposure affect the numerical rate but not the treatment IRR, provided the same unit is used consistently.

For example, suppose the rate is measured per year:

\[ \lambda=2.0\text{ events/person-year} \]

The same rate expressed per month is:

\[ \frac{2.0}{12} \approx0.167 \text{ events/person-month} \]

The numerical intercept changes with the time unit, but the treatment IRR does not change when the exposure unit is consistently rescaled.

Poisson Regression and Adverse Events

Adverse events are frequently represented as counts.

However, analysts must first determine what is actually being modeled.

Potential endpoints include:

  • Number of patients with at least one adverse event
  • Total number of adverse events
  • Number of treatment-emergent adverse events per patient
  • Rate of adverse events per patient-year
  • Number of recurrent events of a specific preferred term

These are different estimands and may require different statistical methods.

Important: A count of adverse events is not automatically an appropriate Poisson endpoint. The analysis should account for repeated events within patients, exposure time, event definitions, treatment-emergent rules, and the prespecified safety estimand.

Poisson Regression and Hospitalizations

Hospitalization counts are a classic use case because patients may experience multiple admissions and may have different follow-up times.

A rate model might estimate:

\[ \text{hospitalizations per person-year} \]

and compare treatment groups using an IRR.

For example:

\[ IRR=0.72 \]

would indicate a 28% lower modeled hospitalization rate for active treatment relative to placebo.

Poisson Regression and Disease Flares

Suppose a clinical trial measures the number of disease flares during follow-up.

A count model may be more informative than a binary endpoint because:

  • One flare and five flares are clinically different.
  • Patients can experience repeated flares.
  • Follow-up may vary.

A Poisson or negative binomial model can therefore directly target the rate of recurrent flares.

When Poisson Regression Is Not Appropriate

Poisson regression should not be used simply because the outcome happens to be an integer.

Other methods may be more appropriate when:

  • The endpoint is binary.
  • The endpoint is continuous.
  • Time to first event is the primary estimand.
  • There is strong overdispersion requiring a different variance model.
  • There are structural zeros requiring a two-part model.
  • Within-patient recurrent-event dependence is central to the analysis.
  • The count process has a fundamentally different distribution.

Poisson Regression Versus Logistic Regression

Feature Logistic Regression Poisson Regression
Outcome Binary Count
Examples Responder / nonresponder Number of exacerbations
Link Logit Log
Typical effect measure Odds ratio Incidence rate ratio
Exposure offset No Often appropriate

Poisson Regression Versus Negative Binomial Regression

The most important practical distinction is the variance structure.

Poisson:

\[ Var(Y)=E(Y) \]

Negative binomial:

\[ Var(Y)>E(Y) \]

when the dispersion parameter is positive.

Both models can use exposure offsets and produce IRRs.

Poisson Regression Versus Time-to-Event Analysis

Poisson regression and survival analysis can both involve event rates, but they answer different questions.

A time-to-event analysis often focuses on:

\[ \text{time to first event} \]

A Poisson rate analysis may instead focus on:

\[ \text{number of events per unit exposure} \]

If recurrent events are clinically important, reducing the outcome to time to first event can discard information.

Conversely, if only the first event is scientifically relevant, a recurrent count analysis may answer the wrong question.

A Practical Model Selection Framework

1
Define the estimand: decide whether the scientific question concerns risk, rate, time to first event, or recurrent events.
2
Define the outcome: specify exactly what constitutes one event.
3
Define exposure: determine the appropriate person-time denominator.
4
Fit the mean model: include treatment and prespecified covariates.
5
Evaluate dispersion: determine whether the Poisson variance assumption is plausible.
6
Evaluate dependence: determine whether recurrent events within patients require special handling.
7
Compare appropriate alternatives: consider negative binomial, quasi-Poisson, robust variance, or other recurrent-event approaches.
8
Report the estimand and IRR: provide the effect estimate, confidence interval, and model specification.

Reporting the Statistical Model

A clinical-trial report should make the count model reproducible.

A useful description should include:

  • Definition of the count endpoint
  • Analysis population
  • Exposure-time definition
  • Offset specification
  • Treatment coding
  • Covariates
  • Link function
  • Distributional assumption
  • Method for handling overdispersion
  • Method for handling within-patient dependence
  • Effect measure
  • Confidence interval method
  • Hypothesis-testing procedure

Example Statistical Analysis Plan Language

A statistical analysis plan might specify that the number of recurrent events will be analyzed using a log-linear count model with treatment as the primary predictor and the logarithm of patient-level exposure time included as an offset.

The treatment effect would be summarized using an incidence rate ratio with a 95% confidence interval.

If overdispersion is identified or prespecified, a negative binomial model may be used instead of a standard Poisson model.

The exact method should be prespecified before unblinding treatment-group comparisons when required by the trial design.

Common Mistakes

  1. Ignoring exposure time. If patients have substantially different follow-up times, analyzing raw event counts can produce misleading comparisons.
  2. Using follow-up time as an ordinary predictor instead of an offset. When the scientific model assumes proportional exposure, the logarithm of exposure belongs in the model with its coefficient fixed at one.
  3. Assuming the Poisson distribution automatically fits count data. Count-valued data can be overdispersed, zero-inflated, or otherwise incompatible with a simple Poisson model.
  4. Reporting the coefficient instead of the IRR. The regression coefficient is on the log-rate scale. Clinical interpretation usually requires exponentiation.
  5. Calling an IRR a risk ratio. These are different effect measures.
  6. Ignoring recurrent-event dependence. Multiple events from the same patient are generally not independent.
  7. Removing patients with high counts without justification. Extreme observations should be investigated, not automatically discarded.
  8. Selecting a negative binomial model solely because it produces a more favorable P-value. Model selection should be driven by the endpoint, data-generating mechanism, prespecified assumptions, and diagnostic evidence.
  9. Interpreting an IRR as an absolute treatment effect. An IRR is relative. Absolute rates should also be reported when clinically useful.

Absolute Rates and Relative Effects Should Be Reported Together

An IRR alone does not tell the reader how frequent the events actually were.

Suppose:

\[ IRR=0.50 \]

This could represent:

\[ 2.0\rightarrow1.0 \]

events per person-year, or:

\[ 0.20\rightarrow0.10 \]

events per person-year.

The relative reduction is the same, but the clinical implications are very different.

Best practice: When possible, report both the estimated event rates and the incidence rate ratio. Relative effects are useful for comparison; absolute rates provide clinical context.

From IRR to Absolute Rate Difference

Suppose the placebo rate is:

\[ \lambda_P=1.20 \]

and:

\[ IRR=0.70 \]

Then the active-treatment rate is:

\[ \lambda_A = 0.70(1.20) = 0.84 \]

The absolute rate difference is:

\[ \lambda_A-\lambda_P = 0.84-1.20 = -0.36 \]

Thus the treatment is associated with 0.36 fewer events per person-year in this example.

Prediction at Different Exposure Times

Suppose a treatment-specific rate is:

\[ \lambda=0.80 \text{ events/person-year} \]

For a six-month period:

\[ E(Y) = 0.5(0.80) = 0.40 \]

For two years:

\[ E(Y) = 2(0.80) = 1.60 \]

The expected count changes with exposure time even though the underlying event rate is unchanged.

What the Offset Does Mathematically

Starting with:

\[ \log(\mu_i) = \log(T_i)+X_i^\top\beta \]

subtracting the offset gives:

\[ \log\left(\frac{\mu_i}{T_i}\right) = X_i^\top\beta \]

Since:

\[ \frac{\mu_i}{T_i} \] is the expected event rate, the model is directly modeling the logarithm of the event rate.

This is the central mathematical interpretation: The offset converts a model for expected counts into a model for expected counts per unit exposure.

Modeling Rate Differences Across Treatment Groups

Suppose the model is:

\[ \log\left(\frac{\mu_i}{T_i}\right) = \beta_0+\beta_1Treatment_i \]

Then:

\[ \lambda_P=e^{\beta_0} \]

and:

\[ \lambda_A=e^{\beta_0+\beta_1} \]

so:

\[ IRR = \frac{\lambda_A}{\lambda_P} = e^{\beta_1} \]

This is why the exponentiated treatment coefficient is the natural effect measure in the model.

Sample Size and Power Considerations

Count-data trials can also require sample-size calculations based on expected event rates.

Important planning quantities can include:

  • Control-group event rate
  • Expected treatment-group event rate
  • Target incidence rate ratio
  • Total exposure time
  • Expected follow-up
  • Overdispersion
  • Dropout or loss to follow-up
  • Allocation ratio
  • Desired type I error
  • Desired power

Unlike a simple comparison of means, the information available for a rate comparison depends strongly on the number of observed events and total person-time.

Event Counts Matter More Than Patient Counts Alone

Consider two trials with the same number of patients.

Trial Patients Total Events Information
A 400 20 Few events
B 400 400 Many events

The number of patients alone does not determine the amount of information for a count-rate comparison.

The event frequency and total exposure time are central to precision.

Clinical Trial Interpretation

Suppose a trial reports:

\[ IRR=0.74 \]

with a 95% confidence interval of:

\[ (0.61,0.90) \]

A suitable interpretation is:

The estimated event rate in the active-treatment group was 26% lower than in the reference group, with a 95% confidence interval corresponding to approximately a 10% to 39% reduction.

This is more informative than simply stating that the treatment coefficient was negative.

What a Poisson Regression Result Does Not Prove

A statistically significant IRR does not automatically prove that treatment caused every observed difference.

Interpretation depends on:

  • Randomization
  • Endpoint definition
  • Analysis population
  • Exposure definition
  • Model assumptions
  • Missing-data handling
  • Protocol deviations
  • Multiplicity
  • Other prespecified analysis considerations

In a randomized trial, a properly specified treatment comparison has a stronger causal interpretation than an observational comparison, but the statistical model still needs to match the trial estimand.

A Complete Practical Workflow

1
Define exactly what constitutes one event.
2
Determine whether the scientific question concerns a count, rate, risk, or time to event.
3
Define the analysis population.
4
Define the appropriate exposure or person-time denominator.
5
Specify treatment coding and prespecified covariates.
6
Fit the Poisson mean model with a log link and appropriate offset.
7
Assess overdispersion and residual behavior.
8
Assess recurrent-event dependence and patient-level clustering.
9
Consider negative binomial, quasi-Poisson, robust variance, or other appropriate alternatives when justified.
10
Exponentiate the treatment coefficient to obtain the IRR.
11
Report the IRR with its confidence interval and corresponding absolute rates when appropriate.

What Should Be Reported?

A high-quality clinical-trial report should provide enough information for the reader to understand exactly what was modeled.

Component What to Report
Endpoint Definition of one event and counting rules
Exposure Definition and units of person-time
Model Poisson, negative binomial, or other specified model
Link Log link
Offset Logarithm of exposure time, if applicable
Covariates Treatment and prespecified adjustment variables
Effect measure Incidence rate ratio
Precision Confidence interval
Dispersion Assessment and handling of overdispersion
Dependence Method for recurrent events or clustering

Worked Example Summary

Component Example
Endpoint Number of hospitalizations
Exposure Person-years of follow-up
Model Poisson regression
Link Log
Offset \(\log(\text{person-time})\)
Primary predictor Treatment
Estimated treatment coefficient \(-0.402\)
IRR \(e^{-0.402}\approx0.669\)
Estimated relative reduction Approximately 33%

The Most Important Concept

The most important idea in Poisson regression for clinical trials is that the model is not simply a sophisticated way of analyzing integer-valued outcomes.

It provides a framework for modeling the relationship between covariates and an event rate, particularly when patients contribute different amounts of exposure time.

The core model is:

\[ \log(\mu_i) = \log(T_i) + X_i^\top\beta \]

where the logarithm of exposure time acts as an offset.

The treatment effect is interpreted through:

\[ \boxed{IRR=e^{\beta_{\text{treatment}}}} \]

An IRR below one indicates a lower event rate relative to the reference group, while an IRR above one indicates a higher event rate.

But the analysis does not end with fitting the model.

The analyst must also consider:

  • Overdispersion
  • Excess zeros
  • Recurrent-event dependence
  • Exposure definition
  • Model diagnostics
  • Clinical interpretation
Bottom line: Poisson regression is a powerful generalized linear model for clinical-trial count outcomes. With a log link and an exposure offset, it can directly model event rates and estimate incidence rate ratios. The exponentiated treatment coefficient provides an intuitive relative rate measure, but analysts must verify that the Poisson variance assumption and independence structure are reasonable. When overdispersion or recurrent-event dependence is important, negative binomial, quasi-Poisson, robust-variance, or more specialized recurrent-event approaches may be more appropriate. The correct model should ultimately be chosen from the clinical estimand and data-generating structure, not from the count outcome alone.

References

McCullagh, P. & Nelder, J.A. (1989). Generalized Linear Models. 2nd ed. Chapman & Hall.
Cameron, A.C. & Trivedi, P.K. (2010). Microeconometrics Using Stata. Stata Press.
Hilbe, J.M. (2011). Negative Binomial Regression. 2nd ed. Cambridge University Press.
Agresti, A. (2015). Foundations of Linear and Generalized Linear Models. Wiley.
Byar, D.P. (1980). Studies in epidemiology: introducing the concept of person-time. International Journal of Epidemiology.
Diggle, P., Heagerty, P., Liang, K.-Y. & Zeger, S. (2002). Analysis of Longitudinal Data. 2nd ed. Oxford University Press.
Fleming, T.R. & Harrington, D.P. (1991). Counting Processes and Survival Analysis. Wiley.

Clinical Trials

See these methods in real clinical trials

See the method applied to published trial results, with the estimates, confidence intervals and interpretation explained.

REVEAL
Independent statistical analysis of the phase 3 REVEAL trial of anacetrapib versus placebo in atherosclerotic cardiovascular disease, including trial design, time-to-event endpoints,…
Phase 3 · n = 30,449
DELIVER
Independent statistical analysis of the DELIVER phase 3 trial of dapagliflozin in heart failure with preserved ejection fraction, including its dual primary…
Phase 3 · n = 6,263
DISCOVER
Independent statistical analysis of the DISCOVER phase 3 trial evaluating F/TAF versus F/TDF for HIV-1 pre-exposure prophylaxis, including non-inferiority testing, rate-ratio analysis,…
Phase 3 · n = 5,399
FLAME
Independent statistical analysis of the FLAME phase 3 trial of QVA149 versus LABA/ICS in COPD, including exacerbation rates, time-to-event analyses, non-inferiority methodology,…
Phase 3 · n = 3,362
PURPOSE 2
Independent statistical analysis of PURPOSE 2, a randomized phase 3 trial of lenacapavir for HIV pre-exposure prophylaxis, including its rate-based primary analyses,…
Phase 3 · n = 3,292
REACT
Complete statistical analysis of the REACT trial (NCT01329029), evaluating roflumilast versus placebo in patients with chronic obstructive pulmonary disease treated with fixed…
Phase 4 · n = 1,945
See all 16 trials using Poisson regression →