Declaring and Diagnosing Research Designs

Empirical social scientists routinely face two research design problems. First, we need to select a high-quality design, given resource constraints. Second, we need to convince readers and reviewers of the design’s high quality.

We describe in this Web site an approach to declaring the elements of a research design in code and diagnosing the properties of the design, such as power and sampling bias, given assumptions. We outline the Model-Inquiry-Data Strategy-Answer Strategy (MIDA) approach, with further details in our paper and the supporting information.

Design library

To make getting started easy, we provide a library of common research designs that you can diagnose, modify, and implement.


We provide five software packages to declare and diagnose research designs.

  1. randomizr (for R and for Stata): Easy-to-use tools for common forms of random assignment and sampling.
  2. fabricatr: Imagine your data before you collect it.
  3. estimatr: Fast estimators for design-based inference.
  4. DeclareDesign: Declare and diagnose research designs.
  5. DesignLibrary: Templates for quick design declaration.

The Getting Started guide for DeclareDesign provides an overview of the capabilities of these package and how to declare and diagnose designs in our framework.

Getting help

If you get stuck, head to our help forum where we’ll be happy to assist with our software or coding your design.


We encourage you to contribute to our design library, as well as to submit bug reports and feature requests as Github issues. We ask that you agree to our code of conduct.


We are grateful for core funding from the Laura and John Arnold Foundation and seed funding from EGAP – Evidence in Governance and Politics.