Giter Site home page Giter Site logo

microsoft / longitudinaldifferenceindifferencespy Goto Github PK

View Code? Open in Web Editor NEW
15.0 6.0 10.0 1.98 MB

Did my program cause the improvement in my numbers?

Home Page: https://pypi.org/project/LongitudinalDifferenceInDifferencesPy/

License: MIT License

Python 100.00%

longitudinaldifferenceindifferencespy's Introduction

Introduction

It'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.

It'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.

Thanks to Sol Sadeghi (Cosine Data Science team @ Microsoft) for informing me about this analysis technique and helping with the initial code review!

Case Study

This package is designed for studying the causal effect of WAVE using code authoring time – result of a research study done by MSR and Windows ES, on developers’ productivity. This led the WAVE team deciding on automatically installing their product to all relevant COSINE developers.

Example 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.

Getting Started

Our documentation is available on this repository's wiki.

Demo

To see a full demonstration of the tool with some example data,

  1. Navigate to the example directory.
  2. Run the following command:
python exampleDIDAnalysis.py

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

longitudinaldifferenceindifferencespy's People

Contributors

csbuja avatar henokaddis avatar jlbuja avatar microsoft-github-policy-service[bot] avatar microsoftopensource avatar msftgits avatar solsadeghi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

longitudinaldifferenceindifferencespy's Issues

Support other ways to compare to comparison group

Today, the comparison groups metrics all come from the same point in time. We should support other ways of calculating the metrics with the individual data from different points in time, since we have varied time points in the treatment group.

  • Matching
  • Propensity score matching

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.