{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/estimation-and-inference-of-heterogeneous","title":"Estimation and Inference of Heterogeneous Treatment Effects using Random Forests","arxiv_id":"1510.04342","date":"2015-10-14","proceeding":null,"authors":["Stefan Wager","Susan Athey"],"abstract":"Many scientific and engineering challenges -- ranging from personalized\nmedicine to customized marketing recommendations -- require an understanding of\ntreatment effect heterogeneity. In this paper, we develop a non-parametric\ncausal forest for estimating heterogeneous treatment effects that extends\nBreiman's widely used random forest algorithm. In the potential outcomes\nframework with unconfoundedness, we show that causal forests are pointwise\nconsistent for the true treatment effect, and have an asymptotically Gaussian\nand centered sampling distribution. We also discuss a practical method for\nconstructing asymptotic confidence intervals for the true treatment effect that\nare centered at the causal forest estimates. Our theoretical results rely on a\ngeneric Gaussian theory for a large family of random forest algorithms. To our\nknowledge, this is the first set of results that allows any type of random\nforest, including classification and regression forests, to be used for\nprovably valid statistical inference. In experiments, we find causal forests to\nbe substantially more powerful than classical methods based on nearest-neighbor\nmatching, especially in the presence of irrelevant covariates.","url_abs":"http://arxiv.org/abs/1510.04342v4","url_pdf":"http://arxiv.org/pdf/1510.04342v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"estimation-and-inference-of-heterogeneous","repo_url":"https://github.com/IBM/causallib","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"estimation-and-inference-of-heterogeneous","repo_url":"https://github.com/biomedsciai/causallib","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"estimation-and-inference-of-heterogeneous","repo_url":"https://github.com/rafaelpalmerio/causal_forest","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"estimation-and-inference-of-heterogeneous","repo_url":"https://github.com/swager/causalForest","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"GPL-2.0"}},{"paper_slug":"estimation-and-inference-of-heterogeneous","repo_url":"https://github.com/till-tietz/rcf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"estimation-and-inference-of-heterogeneous","repo_url":"https://github.com/vshirvaikar/rrcf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[{"task_slug":"marketing","task_name":"Marketing"},{"task_slug":null,"task_name":"valid"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1510.04342","atlas_url":"https://app.syntology.ai/?focus=1510.04342","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1510.04342"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vshirvaikar/rrcf","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/till-tietz/rcf","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/swager/causalForest","reach":{"status":"ok","spdx":"GPL-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/IBM/causallib","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rafaelpalmerio/causal_forest","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/biomedsciai/causallib","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":4},"by_repo_kind":{"listed":{"samples":4,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":4,"samples":[{"code_sha256_prefix":"ee004243c3b7252d","entry":"load_data_file","repo":"biomedsciai/causallib","repo_kind":"listed","path":"causallib/datasets/data_loader.py","file_url":"https://github.com/biomedsciai/causallib/blob/HEAD/causallib/datasets/data_loader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"ee004243c3b7252d"}},{"code_sha256_prefix":"917e96204e10f43e","entry":"load_nhefs","repo":"biomedsciai/causallib","repo_kind":"listed","path":"causallib/datasets/data_loader.py","file_url":"https://github.com/biomedsciai/causallib/blob/HEAD/causallib/datasets/data_loader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"917e96204e10f43e"}},{"code_sha256_prefix":"f40f03ccbbb22170","entry":"load_nhefs_survival","repo":"biomedsciai/causallib","repo_kind":"listed","path":"causallib/datasets/data_loader.py","file_url":"https://github.com/biomedsciai/causallib/blob/HEAD/causallib/datasets/data_loader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"f40f03ccbbb22170"}},{"code_sha256_prefix":"7fcb9711697c5711","entry":"majority_rule","repo":"biomedsciai/causallib","repo_kind":"listed","path":"causallib/estimation/matching.py","file_url":"https://github.com/biomedsciai/causallib/blob/HEAD/causallib/estimation/matching.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7fcb9711697c5711"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}