{ "info": { "author": "Spencer Buja", "author_email": "csbuja@umich.edu", "bugtrack_url": null, "classifiers": [], "description": "\n\n# Introduction \nIt's critical to know if the work we are doing is helping the team reach its organizational goals. The problem is that there are potentially many other effects at play. One analysis method for doing this is called a difference in differences analysis. If I had done nothing, then what would have happened to the numbers I care about or \"key performance indicators\" (KPI) after people started using my product.\n\nIt's not always feasible (e.g. due to cost or lack of necessary infrastructure) or ethical (e.g. randomly assigning a cancer-causing drug to a subgroup of the population sample) to run a fully randomized experiment when building a product. If you're looking to measure impact on some quantitative KPIs and you can't run experiments/\"randomized control trials\"/\"AB Testing\", then this type of analysis is for you.\n\nThanks to Sol Sadeghi (Cosine Data Science team @ Microsoft) for informing me about this analysis technique and helping with the initial code review!\n\n# Case Study\n\nExample of how this tool was used inside of Microsoft to show the (5+%) impact of a product on internal/\"1st party\" developer productivity within the Windows division at Microsoft coming soon.\n\n# Getting Started\n[Our documentation is available on this repository's wiki.](https://github.com/microsoft/LongitudinalDifferenceInDifferencesPy/wiki)\n\n\n# Demo\n\nTo see a full demonstration of the tool with some example data, \n1. Navigate to the `example` directory.\n2. Run the following command:\n```python\npython exampleDIDAnalysis.py\n```\n\n\n\n# Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/microsoft/LongitudinalDifferenceInDifferencesPy", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "LongitudinalDifferenceInDifferencesPy", "package_url": "https://pypi.org/project/LongitudinalDifferenceInDifferencesPy/", "platform": "ALL", "project_url": "https://pypi.org/project/LongitudinalDifferenceInDifferencesPy/", "project_urls": { "Homepage": "https://github.com/microsoft/LongitudinalDifferenceInDifferencesPy" }, "release_url": "https://pypi.org/project/LongitudinalDifferenceInDifferencesPy/1.0.2/", "requires_dist": null, "requires_python": "", "summary": "Runs a difference in differences analysis in Python.", "version": "1.0.2" }, "last_serial": 5513851, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "2bd6beb1e44a6a4f35caea9ced70145a", "sha256": "c6817520d0bdc46e5de02559a6687ca1f56810392fb454b91fbe5c780b5ac51f" }, "downloads": -1, "filename": "LongitudinalDifferenceInDifferencesPy-0.9.0.tar.gz", "has_sig": false, "md5_digest": "2bd6beb1e44a6a4f35caea9ced70145a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8683, "upload_time": "2019-07-02T18:54:51", "url": "https://files.pythonhosted.org/packages/52/d4/80ae6f669eedcc3d5c7aaf6e7a446569e0b75190514784901ed244fe290c/LongitudinalDifferenceInDifferencesPy-0.9.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "bc9c8b950b0fc18573a7c8a72fc91f87", "sha256": "f31a16a0dd8c65803d8666b74d56d585dcabf2f9057c8fc8c6d803efd57b0d4b" }, "downloads": -1, "filename": "LongitudinalDifferenceInDifferencesPy-1.0.0.tar.gz", "has_sig": false, "md5_digest": "bc9c8b950b0fc18573a7c8a72fc91f87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8719, "upload_time": "2019-07-02T18:59:01", "url": "https://files.pythonhosted.org/packages/50/fe/a00de1c157d0c4d4f69ccf28091437f8718364ed5ed8b2b4ad5a7bf890ea/LongitudinalDifferenceInDifferencesPy-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "cabce7709662b8983d4965c713b593d2", "sha256": "7ea4ace6645a10231a0ffaad305bc7cf42df7762ead5651d4523a3e823467be7" }, "downloads": -1, "filename": "LongitudinalDifferenceInDifferencesPy-1.0.1.tar.gz", "has_sig": false, "md5_digest": "cabce7709662b8983d4965c713b593d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9499, "upload_time": "2019-07-08T17:11:25", "url": "https://files.pythonhosted.org/packages/48/1f/e0b020be706b038cf3d4410379d73cbc5bd59ab4c9ee0f98cc288aed013e/LongitudinalDifferenceInDifferencesPy-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "828c3716e49ab8feebde9a4d7d87185c", "sha256": "7ea322504adceab513a0b1142a76603987224e7118e150b1b25368c8a45476f1" }, "downloads": -1, "filename": "LongitudinalDifferenceInDifferencesPy-1.0.2.tar.gz", "has_sig": false, "md5_digest": "828c3716e49ab8feebde9a4d7d87185c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9589, "upload_time": "2019-07-10T20:25:29", "url": "https://files.pythonhosted.org/packages/b1/3a/099ce63f15d13bf6e8cb5cc3fe7063c59dc6fc19fc9348328431d3051f96/LongitudinalDifferenceInDifferencesPy-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "828c3716e49ab8feebde9a4d7d87185c", "sha256": "7ea322504adceab513a0b1142a76603987224e7118e150b1b25368c8a45476f1" }, "downloads": -1, "filename": "LongitudinalDifferenceInDifferencesPy-1.0.2.tar.gz", "has_sig": false, "md5_digest": "828c3716e49ab8feebde9a4d7d87185c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9589, "upload_time": "2019-07-10T20:25:29", "url": "https://files.pythonhosted.org/packages/b1/3a/099ce63f15d13bf6e8cb5cc3fe7063c59dc6fc19fc9348328431d3051f96/LongitudinalDifferenceInDifferencesPy-1.0.2.tar.gz" } ] }