Capabilities and refusals#

Shipped analysis families#

The technical implementation matrix is the authoritative reader-facing inventory. In brief, the package supports point and longitudinal TMLE, the sequentially doubly robust longitudinal estimator, arm and regimen contrasts, modified treatment policies, incremental interventions, MSM projections, controlled direct effects, C-TMLE, DR-TMLE, cross-fitting, influence-curve inference, sensitivity analysis, and post-fit diagnostics in the combinations documented there. The longitudinal family also includes Kennedy’s incremental estimator IPSI. An incremental intervention takes one odds factor for each level of a treatment with three or more levels, at a point treatment and at a node of IPSI. The registered study categorical incremental policies covers the support rows T35 at a point treatment and G43 over time. Any other such fit, for example with weights, clusters or a delta= argument, is labelled experimental.

longitudinal estimator

reads

interval

LTMLE

outcome regressions and mechanisms, with a fluctuation

the influence curve

SDR

the same, with the sequentially doubly robust construction

the influence curve

IPSI

the treatment mechanism

the influence curve of the incremental estimator

SequentialGComputation

the outcome and pseudo-outcome regressions

the stacked curve when every regression is a GLM. Otherwise the point only

SequentialIPW

the treatment and censoring mechanisms

the stacked curve when every mechanism is a GLM. Otherwise the point only

StructuralNestedMean

the outcome and treatment regressions on the full history, with a linear blip model

the influence curve, valid under the linear structural nested mean model with the declared blip features

ParametricGFormula

a model of each time-varying covariate, and the outcome or hazard models

the stacked curve with the simulation error when every model is a GLM. Otherwise the point only

The two sequential baselines are reference estimators. They refuse n_folds > 1 and msm=. Sequential g-computation and IPW lists every refusal. ParametricGFormula refuses the same two requests, and it accepts a fixed or rule-set continuous dose with a stated model reliance. Parametric g-formula lists its refusals.

StructuralNestedMean reports blip coefficients and static regimen contrasts. It refuses a rule, a policy, censoring, survival and repeated outcomes. It refuses a static contrast when a feature reads a time-varying covariate. Structural dynamic effects lists every refusal. Its evidence label is “Python property evidence, with comparator runs pending”. A cross-fitted fit that a G42 row covers reads supported, and any other fit reads experimental (support label).

Why a request can be refused#

An error at identification or method selection is often a scientific boundary, not merely an API limitation. Every CleverlyError carries error.refusal, and error.refusal.reason holds one of five codes.

error.refusal.reason

meaning

invalid_declaration

the requested analysis cannot run on the declared sample or design

different_estimand

the requested option changes the causal question

implementation_gap

the method is well posed, and this package has no implementation yet

inference_gap

the estimate exists, and the requested uncertainty calculation is not derived

api_redirection

the feature exists through another argument or object

A capability row carries the same record before any call. Read how to read a refusal for the action that each code asks of you. Do not work around a refusal by switching to a similarly named estimand unless that estimand is genuinely the scientific question.

Explicitly unimplemented#

Graph identification, front-door adjustment, instrumental-variable effects, mediation decompositions, transport, direct Riesz learning, and EP learning are proposals or outside the current scope. The roadmap states the evidence required before a proposed method can become a release claim.

Extending the package#

The public protocols are Estimand, IdentificationProvider, EstimationMethod, and CausalResult.

  • A custom provider returns an IdentifiedEffect only when it can name the observed-data functional and its assumptions.

  • A custom method declares which functionals it supports and returns a result with stable parameter keys.

  • A new registered analytic target needs the oracle, Gateaux, remainder, and mutation evidence that the evidence manifest describes. A typed wrapper certifies nothing.