Policy Learning

Policy learning is focused on finding an optimal treatment assignment policy that maximizes the overall outcome (e.g., maximizing revenue or health outcomes) across a population. Instead of just estimating the treatment effect, policy learning directly optimizes the decision rules determining who should receive treatment.

PolicyLearner

The policy.PolicyLearner uses an Inverse Propensity Weighting (IPW) or an Augmented IPW (Doubly Robust) approach to evaluate and learn optimal policies. It takes observational data, models the outcome and propensity scores, and builds a decision tree that directly maximizes the estimated policy value.

Example:

from perpetual.policy import PolicyLearner

# X: covariates, w: treatment (0 or 1), y: outcome
model = PolicyLearner(
    budget=0.5,
    mode="aipw"
)

model.fit(X, w, y)

# Predict the optimal treatment assignment (0 or 1)
optimal_treatment = model.predict(X_test)

Tutorials

For a detailed walkthrough, see the Policy Learning: Optimal Treatment Assignment.