Why the Fluctuation Link Matters
A targeted update changes an initial estimate of the conditional mean outcome so that it also addresses the treatment-effect estimating equation. For a bounded outcome, that update must respect the outcome’s possible range. If the outcome is a score from 0 to 100, for example, a predicted conditional mean of 112 points is not interpretable, even if it arose from an additive adjustment that solved an estimating equation.
A logistic fluctuation handles this by updating predictions on the logit scale, then mapping them back to the outcome scale. The inverse-logit transformation always gives a value strictly between zero and one. After rescaling, the updated prediction therefore remains strictly within the known outcome bounds. This is a property of the chosen parameterization, not a solution to confounding, positivity problems, or misspecification of the initial outcome regression.
For counterfactual predictions, evaluate the same update at \(A=1\) and \(A=0\):
The estimated average treatment effect on the original outcome scale is the average targeted counterfactual contrast, multiplied by the range \(U-L\). The lower bound cancels from the contrast.
Why the Logistic Update Targets the Score
The logistic fluctuation can be fit as a logistic regression with the initial logit prediction as an offset and \(H(A,W)\) as the sole covariate, with no additional intercept. For outcomes in \([0,1]\), the binomial log-likelihood expression can be used as a loss for the conditional mean, including when the observed scaled outcomes are fractional rather than binary. The fitted coefficient \(\widehat\epsilon\) solves the fluctuation score equation, up to numerical tolerance.
The score equation follows by differentiating the binomial log-likelihood contribution \(Y_i^s\log(q_i)+(1-Y_i^s)\log(1-q_i)\), where \(q_i=\bar Q_\epsilon^s(A_i,W_i)\). Since the derivative of the logit of \(q_i\) with respect to \(\epsilon\) is \(H(A_i,W_i)\), the derivative of that contribution is \(H(A_i,W_i)(Y_i^s-q_i)\). Summing these derivatives and setting the result to zero gives the displayed equation. This is the feature that connects the fluctuation to the targeting equation; boundedness alone does not ensure that a fit has successfully targeted.
The treatment propensity appears in \(H\), so positivity matters: \(g(W)\) and \(1-g(W)\) must not be zero for the relevant covariate values. In practice, propensities near zero or one can make \(H\) very large and the update unstable. The usual causal interpretation of the ATE also requires consistency, conditional exchangeability given \(W\), and positivity. The link choice does not supply these identification conditions. It only specifies how the estimated conditional mean is updated.
Worked Updates and Link-Scale Calculations
Worked Example: Updating Predictions for a 0-to-100 Score
Hypothetical setup. Suppose \(Y\) is a score in points from 0 to 100, so \(Y^s=Y/100\). For a particular covariate profile, the initial scaled predictions are \(\bar Q_0^s(1,w)=0.30\) and \(\bar Q_0^s(0,w)=0.40\). Suppose the estimated propensity at this profile is \(g(w)=0.50\), and the fitted fluctuation coefficient is \(\widehat\epsilon=0.20\). These are illustrative fitted values; the calculation below applies the update rather than deriving the fit.
For treatment, \(H(1,w)=1/0.50=2\). Therefore the updated logit is \(\log(0.30/0.70)+0.20(2)=-0.847298+0.400000=-0.447298\). The updated scaled prediction is \(\operatorname{expit}(-0.447298)\approx0.390003\).
For control, \(H(0,w)=-1/(1-0.50)=-2\). The updated logit is \(\log(0.40/0.60)+0.20(-2)=-0.405465-0.400000=-0.805465\). Thus the updated scaled prediction is \(\operatorname{expit}(-0.805465)\approx0.308858\).
The scaled contrast is \(0.390003415-0.308857693\approx0.081145722\). On the original scale, this is \(100(0.081145722)\approx8.115\) points. Each prediction is between 0 and 1 on the scaled scale, or between 0 and 100 points after rescaling.
Worked Example: Initial Predictions at the Boundaries
Hypothetical setup. Suppose \(Y\) lies between 0 and 10 points. For one covariate profile, an initial scaled prediction is 0 for treatment and 1 for control. The logit is undefined at either endpoint, so the fluctuation formula cannot be applied directly. As a practical numerical safeguard, suppose these predictions are truncated to 0.01 and 0.99 before taking logits. Let \(g(w)=0.50\) and suppose the fitted coefficient after this safeguard is \(\widehat\epsilon=0.10\).
The treatment update uses \(H(1,w)=2\). Its logit is \(\log(0.01/0.99)+0.10(2)=-4.595120+0.200000=-4.395120\), giving \(\operatorname{expit}(-4.395120)\approx0.0122\). The control update uses \(H(0,w)=-2\). Its logit is \(\log(0.99/0.01)-0.200000=4.595120-0.200000=4.395120\), giving approximately \(0.9878\).
Returning to points, multiply each scaled prediction by 10: the updated treatment prediction is about 0.122 points and the updated control prediction is about 9.878 points. Both are in the allowable interval. Truncation is not an exact treatment of a true conditional mean equal to an endpoint; it changes that initial prediction slightly. Its threshold should be stated and its influence on the estimate checked, rather than treated as an innocuous identity.
Worked Example: Why an Unconstrained Identity Update Can Fail
Hypothetical setup. Consider a scaled outcome in \([0,1]\), an initial treatment prediction of 0.95, and an additive update of \(\epsilon H=0.20\). Under an unconstrained identity-link update, the new prediction would be \(0.95+0.20=1.15\), outside the permitted range. It cannot be a conditional mean for this outcome.
Using a logistic fluctuation with the same initial prediction and the same link-scale increment gives \(\operatorname{logit}(0.95)+0.20=\log(19)+0.20=2.944439+0.200000=3.144439\). The updated prediction is \(\operatorname{expit}(3.144439)\approx0.9587\), which is within \((0,1)\). The two updates are not numerically equivalent: the logistic update makes an additive change on the logit scale, not on the outcome scale.
This example checks range preservation, not whether \(\epsilon=0.20\) is a valid fitted coefficient. In an analysis, \(\epsilon\) must be estimated using the specified fluctuation and its score equation; one cannot choose it simply to obtain a desired prediction.
Choosing a Link and Checking the Fit
For a conditional mean known to lie in \([0,1]\), the logit link is a common choice because its inverse maps every finite real number to \((0,1)\), and the logistic fluctuation yields the targeting score above. Other links, such as the probit or complementary log-log link, also map real-valued linear predictors to \((0,1)\). They can preserve the prediction range, but their fluctuation score and likelihood-based fitting details differ. A link should be chosen as part of a fully specified fluctuation model, not swapped in while assuming all calculations remain unchanged.
An identity-link fluctuation is simpler to interpret as an additive shift, but an unconstrained update can leave the allowable range. It is appropriate only when the model or fitting procedure ensures valid predictions for the covariate profiles of interest. A bounded-outcome transformation is also distinct from choosing a link: scaling changes the outcome’s units, while the link determines how the conditional mean is updated.
After fitting, inspect whether the computation converged and whether the absolute value of the empirical targeting score is small. Also check the updated predictions against the original outcome bounds after rescaling. Large \(\widehat\epsilon\), very large clever covariates, sensitivity to endpoint truncation, or fitted probabilities numerically equal to zero or one can signal instability or numerical failure. These checks do not establish causal identification or model correctness; they identify problems with the update that require investigation.
Use known substantive bounds \(L\) and \(U\), and scale the outcome to \([0,1]\).
They must be in the logit’s domain \((0,1)\). If endpoints occur, document a suitable safeguard such as truncation and assess its sensitivity.
Use the initial logit as an offset and the clever covariate as the covariate, estimating \(\epsilon\) from the observed outcomes.
Calculate both counterfactual predictions, check the targeting score and bounds, then average the contrast and return it to the original units.
Common Mistakes and Limitations
- Applying a logit to zero or one. The logit is undefined at either endpoint. Use an explicit numerical strategy and report or examine its consequences.
- Scaling the contrast incorrectly. For \(Y^s=(Y-L)/(U-L)\), multiply the scaled contrast by \(U-L\); do not add \(L\) to a contrast.
- Assuming a link guarantees a good estimate. The logit keeps finite updated predictions in range, but cannot repair poor overlap, confounding, or an unstable nuisance fit.
- Confusing a solved fluctuation score with a solved causal problem. A small targeting residual is a computational check, not proof that causal identification assumptions hold.
- Using extreme propensities without scrutiny. When \(g(W)\) is near 0 or 1, the clever covariate can be large, making the update sensitive to a small number of observations.
Bounded-outcome fluctuations are useful because they combine a targeting update with predictions that remain interpretable on the outcome scale. Their limits are equally important: the range guarantee is a property of the inverse link for finite inputs, while causal validity and numerical stability depend on other assumptions and diagnostics.
Check Your Understanding
Answer each question, then compare your reasoning with the solutions.
- If \(Y\) is bounded between 5 and 25 units, what scaled value corresponds to an outcome of 15 units? What factor returns a scaled contrast to the original units?
- For \(g(w)=0.25\), calculate \(H(1,w)\) and \(H(0,w)\).
- An initial scaled prediction is 0.80 and its fitted logit-scale increment is \(-0.30\). Calculate the updated scaled prediction to three significant figures.
- Why can an unconstrained identity-link update be inappropriate for a bounded outcome?
- What does a nearly zero empirical targeting score establish, and what does it not establish?
Solutions. (1) The scaled value is \((15-5)/(25-5)=10/20=0.50\). A scaled contrast is returned to the original units by multiplying it by \(U-L=20\) units. (2) \(H(1,w)=1/0.25=4\), while \(H(0,w)=-1/0.75\approx-1.333\). (3) The updated prediction is \(\operatorname{expit}\{\operatorname{logit}(0.80)-0.30\}=\operatorname{expit}(1.386294-0.300000)=\operatorname{expit}(1.086294)\approx0.748\). (4) Adding an unrestricted increment to a prediction such as 0.95 can produce a value above 1, outside the allowable range. (5) It indicates that the fitted fluctuation approximately solves its empirical score equation; it does not establish causal identification, adequate positivity, or correct nuisance estimation.