Causal ML is a Python package for uplift modeling and causal inference that estimates heterogeneous treatment effects from experimental or observational data using machine learning algorithms.
The package solves the problem of identifying which individuals will respond favorably to an intervention by estimating the Conditional Average Treatment Effect (CATE) for each person based on their observed features. Rather than assuming a single treatment effect across all users, it learns how treatment impact varies across individuals without requiring strong assumptions about model form. This enables data-driven personalization in contexts like ad targeting, where the goal is to reach customers most likely to respond positively, or in engagement optimization, where different treatment options can be recommended to different users based on their predicted individual effects.
The tool suits organizations running A/B tests or working with observational data who need to move beyond average treatment effects to individual-level predictions. It provides a standard interface across multiple estimator families, with documentation that includes a decision path for choosing among them and a capability matrix comparing their strengths. The package ships with loaders for standard causal inference benchmarks (LaLonde, IHDP, Twins) and includes ground-truth metrics for validation, enabling reproducible evaluation of estimator performance.
The project is marked as stable and being incubated for long-term support, though it may contain experimental code with APIs subject to change. Development activity shows engagement with community contributions through established code of conduct and contributing guidelines. The project maintains comprehensive documentation including end-to-end tutorials, a leaderboard notebook that regenerates published benchmark results, and example notebooks demonstrating practical usage.