{"id":656325,"date":"2020-06-02T09:40:48","date_gmt":"2020-06-02T16:40:48","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-project&p=656325"},"modified":"2022-02-24T07:11:27","modified_gmt":"2022-02-24T15:11:27","slug":"econml","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/econml\/","title":{"rendered":"EconML"},"content":{"rendered":"
\n\t\n\t\tEconML on GitHub\t<\/a>\n\n\t\n\t\n\t\tDocumentation on EconML\t<\/a>\n\n\t<\/div>\n
\n

Overview<\/h2>\n

EconML<\/b>\u00a0is a Python package that applies the power of machine learning techniques to estimate individualized causal responses from observational or experimental data. The suite of estimation methods provided in EconML represents the latest advances in causal machine learning. By incorporating individual machine learning steps into interpretable causal models, these methods improve the reliability of what-if predictions and make causal analysis quicker and easier for a broad set of users.<\/p>\n

EconML is open source software developed by the\u00a0ALICE team<\/a> at Microsoft Research.<\/p>\n\t\t\t

\n\t\t\t
\n\t\t\t\t\t
\n\t\t

\"Flexible<\/p>

Flexible<\/b><\/p>

Allows for flexible model forms that do not impose strong assumptions, including models of heterogenous responses to treatment.<\/p>

\t<\/div>\n\t \t

\n\t\t<\/p>

\"Unified<\/p>

Unified<\/b><\/p>

Broad set of methods representing latest advances in the econometrics and machine learning literature within a unified API.<\/p>

\t<\/div>\n\t \t

\n\t\t<\/p>

\"Familiar<\/p>

Familiar Interface<\/b><\/p>

Built on standard Python packages for machine learning and data analysis.<\/p>

\t<\/div>\n\t<\/p>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n

<\/div>\n

Use Cases<\/h2>\n

This toolkit is designed to measure the causal effect of some treatment variable(s) T on an outcome variable Y, controlling for a set of features X. Use cases include<\/a>:<\/p>\n\t\t\t

\n\t\t\t
\n\t\t\t\t\t
\n\t\t

\"illustration<\/p>

Recommendation A\/B testing<\/a><\/h3>

Interpret experiments with imperfect compliance<\/p><\/div>

\t<\/div>\n\t \t

\n\t\t<\/p>

\"illustration<\/p>

Customer segmentation<\/a><\/h3>

Estimate individualized responses to incentives<\/p><\/div>

\t<\/div>\n\t \t

\n\t\t<\/p>

\"illustration<\/p>

Multi-investment Attribution<\/a><\/h3>

Distinguish the effects of multiple outreach efforts<\/p><\/div>

\t<\/div>\n\t<\/p>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n<\/div>\n

<\/div>\n
\n\t\n\t\tEconML on GitHub\t<\/a>\n\n\t\n\t\n\t\tDocumentation on EconML\t<\/a>\n\n\t<\/div>\n","protected":false},"excerpt":{"rendered":"

EconML\u00a0is an open source Python package developed by the ALICE team at Microsoft Research that applies the power of machine learning techniques to estimate individualized causal responses from observational or experimental data. The suite of estimation methods provided in EconML represents the latest advances in causal machine learning. By incorporating individual machine learning steps into interpretable causal models, these methods improve the reliability of what-if predictions and make causal analysis quicker and easier for a broad set of users.<\/p>\n","protected":false},"featured_media":810628,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13556,13548],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-656325","msr-project","type-msr-project","status-publish","has-post-thumbnail","hentry","msr-research-area-artificial-intelligence","msr-research-area-economics","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"","related-publications":[471504,626160,471510,771889,475107,900081,475113,493301,493316,626067,626082,471336,626151],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[],"related-articles":[],"tab-content":[{"id":0,"name":"Get Started","content":"

\r\n
\r\n\r\n\"orange\r\n

Quick Installation<\/h2>\r\nInstall the latest release for PyPI<\/a>:\u00a0pip install econml<\/code>\r\n\r\n<\/div>\r\n
<\/div>\r\n

For Developers<\/h2>\r\nYou can get started by cloning this repository. We use\u00a0setuptools<\/a>\u00a0for building and distributing our package. We rely on some recent features of setuptools, so make sure to upgrade to a recent version with\u00a0pip install setuptools --upgrade<\/code>. Then from your local copy of the repository you can run\u00a0python setup.py develop<\/code>\u00a0to get started.\r\n

Running the Tests<\/h2>\r\nThis project uses\u00a0pytest<\/a>\u00a0for testing. To run tests locally after installing the package, you can use\u00a0python setup.py pytest<\/code>.\r\n

Generating the documentation<\/h2>\r\nThis project's documentation is generated via\u00a0Sphinx<\/a>. Note that we use\u00a0graphviz<\/a>'s\u00a0dot<\/code>\u00a0application to produce some of the images in our documentation, so you should make sure that\u00a0dot<\/code>\u00a0is installed and in your path.\r\n\r\nTo generate a local copy of the documentation from a clone of this repository, just run\u00a0python setup.py build_sphinx -W -E -a<\/code>, which will build the documentation and place it under the\u00a0build\/sphinx\/html<\/code>\u00a0path.\r\n

The reStructuredText files that make up the documentation are stored in the\u00a0docs directory<\/a>; module documentation is automatically generated by the Sphinx build process.<\/p>\r\n\r\n

\r\n

Enviroment<\/h2>\r\nThe econml package works on macOS, Windows, and Linux, and supports Python versions 3.5-3.7. The econml package relies on numpy, scipy, and scikit-learn for most of its underlying numerical computation and machine learning routines, and uses keras for the components built on deep neural networks. If you don\u2019t already have these dependencies installed locally, then installing the econml package from PyPI via pip will also install them.\r\n\r\n<\/div>\r\n<\/div>\r\n
<\/div>\r\n
[msr-button text=\"EconML on GitHub\" url=\"https:\/\/github.com\/Microsoft\/EconML\" new-window=\"true\" ][msr-button text=\"Documentation on EconML\" url=\"https:\/\/econml.azurewebsites.net\/\" new-window=\"true\" ]<\/div>"},{"id":1,"name":"How To","content":"

If You Are New to Causal Inference<\/h2>\r\nCausal analysis is used to answer what-if questions. Unlike forecasting, which answers the question of what will happen next if everyone keeps behaving as they have in the past, causal inference answers the question of what would happen next if someone changes behavior, such as pursuing a new pricing strategy for a product or a new treatment for a patient. If you are new to causal inference, our guide will introduce you to the biggest challenges in answering causal questions, how EconML addresses those challenges, and the standard causal terminology we use throughout our SDK and documentation.\r\n\r\n