Why Offset Checks Matter
An offset lets a count model account for a known amount of exposure, such as policy-years or machine-hours, while estimating how the event rate varies with predictors. The offset is not an ordinary predictor: its coefficient is fixed at one. That makes its scale and definition consequential. If the model is given months where its rate is per year, or exposure itself where the logarithm is required, predictions can be wrong even when the model formula otherwise looks plausible.
A practical audit starts with an expected-count calculation. For each observation, identify the rate represented by the model and multiply it by the exposure in compatible units. Then compare that result with the model’s implied mean. This simple check can reveal an offset error before interpreting coefficients or comparing models.
This specification assumes that, conditional on the predictors, the expected count is proportional to exposure: doubling exposure doubles the expected count. The exposure must be known and expressed in the same unit used to define the rate. The Poisson assumption also specifies the conditional count distribution and equates its conditional mean and variance. An offset does not, by itself, ensure that these assumptions are suitable for a particular application.
Why the Logarithm of Exposure Is the Offset
The offset follows directly from the rate-times-exposure relationship, not from a software convention. Suppose a model describes the rate as \(\lambda_j=\exp(x_j^\mathsf{T}\beta)\). Multiplying that rate by exposure gives the expected count. Taking logarithms converts the multiplication into addition:
The coefficient on \(\log(e_j)\) must be one because the count mean is defined as exposure times rate. Estimating a different coefficient would instead fit a model in which the count changes with exposure at a non-proportional rate. That may be a different scientific question, but it is not the standard exposure offset model.
In R, the offset term for positive exposure is therefore written as offset(log(exposure)), for example in a Poisson GLM formula. Writing offset(exposure) places the untransformed exposure directly in the linear predictor and does not encode the intended rate model.
Worked Offset Audits
Worked Example: Annual Rates and Exposure Recorded in Months
A hypothetical portfolio is modeled with a Poisson count distribution. For a reference risk, the annual claim rate is \(0.04\) claims per policy-year. A second risk group has a rate multiplier of \(1.5\). The first group has 6 policy-months of exposure; the second has 18 policy-months. Find each expected count, the total expected count, and the result of mistakenly using the month values as if they were years.
Assumptions and method. Conditional on group, counts are Poisson with mean equal to annual rate times policy-years. There is no interest or mortality assumption in this count-model calculation. Convert each exposure to years before multiplying by its rate.
For the first group, the exposure is \(6/12=0.5\) policy-years. Its rate is \(0.04\) claims per policy-year, so \(\mu_1=0.04(0.5)=0.02\) claims.
For the second group, the rate is \(0.04(1.5)=0.06\) claims per policy-year. Its exposure is \(18/12=1.5\) policy-years, so \(\mu_2=0.06(1.5)=0.09\) claims. The total expected count is \(0.02+0.09=0.11\).
The same calculation using an offset has \(\log(0.5)\) and \(\log(1.5)\) as its exposure terms, alongside the appropriate group rate. If the recorded month values 6 and 18 are used as years, the mistaken means are \(0.04(6)=0.24\) and \(0.06(18)=1.08\), totaling \(1.32\). Each prediction is 12 times the correct value because one year contains 12 months.
Check and trap avoided. The direct rate-times-exposure calculation gives \(0.11\), so any model output implying \(1.32\) for these inputs signals a unit mismatch. The common mistake is to use a numerically valid exposure value with an incompatible rate unit.
Worked Example: Exposure Entered Without Its Logarithm
A hypothetical equipment portfolio has a constant claim rate of \(0.04\) claims per machine-year. Consider observations with 5 and 20 machine-years of exposure. Find the correct expected counts and calculate what the model would imply if the raw exposure were mistakenly added as an offset to the log mean.
Assumptions and method. Each count is conditionally Poisson with mean \(e\lambda\), where \(\lambda=0.04\) claims per machine-year. No interest or mortality assumption is involved. First calculate the count means directly; then evaluate the erroneous linear predictor \(\log(0.04)+e\).
The correct expected counts are \(\mu_1=5(0.04)=0.20\) and \(\mu_2=20(0.04)=0.80\). The corresponding correct log means are \(\log(0.20)\) and \(\log(0.80)\), or equivalently \(\log(5)+\log(0.04)\) and \(\log(20)+\log(0.04)\).
With the incorrect raw-exposure offset, the implied means are \(\exp(\log(0.04)+e)=0.04\exp(e)\). For \(e=5\), \(\exp(5)\approx148.413159\), so the erroneous mean is \(0.04(148.413159)\approx5.936526\), or \(5.937\) to three decimal places. For \(e=20\), \(\exp(20)\approx485{,}165{,}195.410\), so the erroneous mean is \(0.04(485{,}165{,}195.410)\approx19{,}406{,}607.816\), or \(19{,}406{,}608\) to the nearest whole count.
Check and trap avoided. The correct means are \(0.20\) and \(0.80\), proportional to exposure. The incorrect values grow exponentially with exposure instead. The common mistake is to omit the logarithm: the correct offset is \(\log(e)\), not \(e\).
Worked Example: Reconciling Rates per 100 Exposure Units
A hypothetical fleet has 250 vehicle-years of exposure. Its stated rate is 3.6 claims per 100 vehicle-years. Calculate the expected count using both a per-100-vehicle-year rate and a per-vehicle-year rate. Then quantify the error from pairing 3.6 with an offset based on all 250 vehicle-years.
Assumptions and method. The count is conditionally Poisson, with mean equal to rate times exposure expressed in the rate’s unit. There is no interest or mortality assumption. Convert either the exposure or the rate so that the two units agree.
Using the rate per 100 vehicle-years, the exposure is \(250/100=2.5\) units of 100 vehicle-years. Therefore the expected count is \(3.6(2.5)=9\).
Equivalently, the rate per vehicle-year is \(3.6/100=0.036\) claims per vehicle-year. Then the expected count is \(0.036(250)=9\), confirming the first calculation.
If the rate \(3.6\) per 100 vehicle-years is paired with exposure 250 vehicle-years, the implied mean is \(3.6(250)=900\). This is 100 times the correct expected count because the rate is per 100 units, not per one unit. Conversely, using \(0.036\) per vehicle-year with exposure \(2.5\) units of 100 vehicle-years would give \(0.09\), one hundredth of the correct mean.
Check and trap avoided. Both consistent calculations give 9 claims. A model’s intercept and offset must use a coherent rate convention: for example, log rate per vehicle-year with \(\log(250)\), or log rate per 100 vehicle-years with \(\log(2.5)\). The common mistake is to mix one convention’s rate with the other convention’s exposure.
A Practical Offset-Checking Process
A model formula is easier to audit when each quantity has an explicit unit. In particular, distinguish the exposure field stored in the data from the exposure scale used in the rate definition. A variable called “exposure” may contain months, days, or scaled units; its name alone does not establish its interpretation.
State what the model’s baseline rate means, such as claims per policy-year or claims per 100 machine-hours. Identify any predictor multiplier that changes the rate.
Convert months to years, or scale 250 units to 2.5 hundreds, before calculating the mean. Record the conversion explicitly.
For each case, multiply the rate by compatible exposure. For a predictor-adjusted rate, apply its rate multiplier before multiplying by exposure.
Confirm that the exposure contribution is \(\log(e)\), with \(e\) in the chosen unit, and that its coefficient is fixed at one.
Evaluate the linear predictor and exponentiate it. A discrepancy by a factor such as 12 or 100 often points to a unit mismatch; explosive growth can indicate that raw exposure was entered instead of its logarithm.
Zero Exposure and Limits of the Check
The log-offset formula requires \(e_j>0\), because \(\log(0)\) is undefined. Under the rate model, an observation with zero exposure has expected count zero. It cannot be inserted directly into a conventional Poisson log-offset fit by taking the logarithm of zero, and replacing zero with an arbitrary small positive number changes the model. Handle zero-exposure records according to the data design and modeling objective; do not disguise them with an undocumented numerical adjustment.
For positive exposures, checking a few individual fitted means is often more revealing than looking only at a fit statistic. A model may converge while still using the wrong exposure unit. Likewise, an apparently reasonable coefficient estimate does not establish that the offset is correct. The expected-count check validates the arithmetic and interpretation of the offset; it does not prove that the Poisson distribution, predictor set, or proportionality assumption is appropriate.
Check Your Understanding
For each problem, check the rate units before calculating the expected count.
- A hypothetical policy group has an annual claim rate of \(0.025\) per policy-year and 8 policy-months of exposure. Find its expected count under a Poisson rate model. (Answer: \(0.025(8/12)=0.0167\) expected claims, to four decimal places.)
- A device has a failure rate of \(0.12\) per operating year and is observed for 30 days. Use 365 days per year to find its expected failure count. (Answer: \(0.12(30/365)=0.0099\) expected failures, to four decimal places.)
- A hypothetical machine fleet has a rate of 4.2 events per 1,000 machine-hours and 7,500 machine-hours of exposure. Find the expected count and state the exposure scale suitable for an offset paired with that rate. (Answer: \(4.2(7{,}500/1{,}000)=31.5\); use exposure \(7.5\) in units of 1,000 machine-hours.)
- A model has a rate of \(0.03\) per unit-year and exposure of 12 unit-years. Find the correct mean, then the mean implied by the incorrect raw-exposure offset \(\log(0.03)+12\). (Answer: Correct mean \(=0.36\); incorrect mean \(=0.03\exp(12)\approx4{,}882.644\).)
- A hypothetical portfolio uses an annual rate of \(0.08\) per policy-year. One risk has 15 policy-months of exposure at the reference rate; another has 27 policy-months and a rate multiplier of \(1.25\). Calculate each expected count, their total, and the total if months were mistakenly treated as years. (Answer: Correct means are \(0.08(15/12)=0.10\) and \(0.08(1.25)(27/12)=0.225\), totaling \(0.325\); the incorrect total is \(0.08(15)+0.08(1.25)(27)=3.90\).)