← all repositories
uber/causalml

Not every customer is worth targeting. This finds the ones who are.

To stop treating average A/B test results as if they apply to everyone.

5.9k stars Python ML FrameworksDomain Apps
causalml
Not currently ranked — collecting fresh signals.
star history

What it does

CausalML is a Python package that estimates the Conditional Average Treatment Effect (CATE)—essentially, how an intervention T changes an outcome Y for a specific user with features X. It bundles uplift modeling and causal inference methods behind a standard interface, accepting both experimental (A/B) and observational data without demanding rigid assumptions about model form. Uber built it to solve practical targeting problems: figuring out which customers an ad will actually persuade, or which up-sell offer fits a specific user.

The interesting bit

The library straddles two worlds that usually ignore each other: recent ML research (meta-learners, causal trees, neural networks) and industrial operations research (cost optimization across multiple treatments). It is explicitly incubated for long-term support, which is rare for open-source tooling born inside a ride-hailing company’s ad-tech stack.

Key highlights

  • Estimates heterogeneous treatment effects at the individual level rather than population averages.
  • Handles both randomized experiments and observational data where randomization was impossible.
  • Implements a broad catalog of recent methods drawn from the cited literature, including meta-learners, causal trees, and doubly robust estimators.
  • Supports multiple treatment options and cost optimization, based on the authors’ own published research.
  • Backed by an active research community with dedicated KDD workshops and an arXiv whitepaper.

Caveats

  • APIs for newer experimental methods are subject to change, even though the project is labeled stable and incubated.

Verdict

Worth a look if you run A/B tests but suspect your average lift is driven by users who would have converted anyway. Less useful if your problem is purely associative prediction rather than causal attribution.

Frequently asked

What is uber/causalml?
To stop treating average A/B test results as if they apply to everyone.
Is causalml open source?
Yes — uber/causalml is an open-source project tracked on heatdrop.
What language is causalml written in?
uber/causalml is primarily written in Python.
How popular is causalml?
uber/causalml has 5.9k stars on GitHub.
Where can I find causalml?
uber/causalml is on GitHub at https://github.com/uber/causalml.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.