December 15, 2018

Can Classes on Field Experiments Scale? Lessons from SOC412

Last semester, I taught a Princeton undergrad/grad seminar on the craft, politics, and ethics of behavioral experimentation. The idea was simple: since large-scale human subjects research is now common outside universities, we need to equip students to make sense of that kind of power and think critically about it.

In this post, I share lessons for teaching a class like this and how I’m thinking about next year.

Path diagram from SOC412 lecture on the Social Media Color Experiment

Most behavioral experiments out in the world are conducted by people with no university training. In 2016, bloggers at NerdyData estimated that A/B test company Optimizely’s software was deployed on over half a million websites. In 2017, the company announced that it had passed its one millionth experiment. Companies trying to support millions of behavioral studies aren’t waiting for universities to train socially conscious experimenters. Instead, training happens in hotel ballrooms at events like Opticon, which draws in over a thousand people every year,  SearchEngineLand’s similarly sized SMX marketing conference series, and O’Reilly’s Strata conferences. And while scientists might consider experiments to be innocuous on their own, many have begun to wonder if the drive to optimize profits through mass behavioral experimentation may have damaging side effects.

Traditionally, training on field experiments has primarily been offered to gradstudents, mostly through mentorship with an advisor, in small graduate seminars, or in classes like ICPSR’s field experiments summer course. Master’s programs in education, economics, and policy also have a history of classes on evaluation. These classes tend to focus on the statistics of experimentation or on the politics of government-directed research. So far, I’ve only found two other undergraduate field experiments classes: one by Esther Duflo in economics and Carolina Castilla’s class at Colgate.

My class, SOC412, set out to introduce students to the actual work of doing experiments and also to give them opportunity to reflect, discuss, and write about the wider societal issues surrounding behavioral research at scale in today’s society. This 10-student seminar class was a prototype for a much larger lecture class I’m considering. The class also gave me an opportunity grow at teaching hybrid classes that combine statistics with critical reflection.

In this post, I describe the class, imagine how it could be improved as a seminar, outline what might need to change for a larger lecture class, and what I learned. I will also include notes for anyone thinking about teaching a class like this.

Goals of the Class

My goal for students was to introduce them to the process of conducting experiments in context of wider debates about the role of experiments in society. By the end of the class, students would have designed and conducted more than one field experiment and have a chance to write about how that experiment connects to these wider social issues. The class alternated between lecture/discussion sessions and lab-like sessions focused on methods. Assignments in the first part of the semester focused on the basics of experimentation, and a second part of the class focused more on developing a final project. You can see the syllabus here.

Scaffolding Student Work on Field Experiments

Designing and completing a field experiment in a single semester isn’t just a lot of work- it requires multiple external factors to converge:

  • Collaborations with external partners need to go smoothly
  • The delivery of the intervention and any measurement need to be simple
  • Experiments need to be doable in the available time
  • The university’s ethics board needs to work on the timeline of an undergrad class

In the first post about SOC412, I give more detail on the work I did to scaffold external factors.

SOC412 also gave me a chance to test the idea that the software I’m developing with the team at CivilServant could reduce the overhead of planning and conducting meaningful experiments with communities. By dedicating some of CivilServant’s resources to the class and inviting our community partners to work with students after our research summit in January, I hoped that students would be able to complete a full research cycle in the course of the class.

How the CivilServant software supports community experiments online

We almost did it <grin>. Students were able to fully develop experiment plans by the end of the semester, and we are conducting all of the studies they designed. Here are some of the great outcomes I got to see from students and that I want to remember for my own future teaching:

  • Asking students to do a first experiment in their own lives is a powerful way to prompt student reflection on the ethics of experimentation
  • Conversations with affected communities do help students think more critically about the contributions and limitations of experimentation in pragmatic settings
  • The statistics parts of the class went smoothest when I anticipated student needs and wrote well documented code for students to work from
  • It worked well to review basic statistical concepts through prepared datasets and transition students to data from their own experiments partway through the course
  • Lectures that illustrated central concepts in multiple ways worked well
  • Simulations were powerful ways to illustrate p-hacking, false positives, false negatives, and decision criteria for statistical results, since we could adjust the parameters and see the results to grow student intuitions
  • Short student presentations prompted close reading by students of specific field experiment designs and gave them a chance to explore personal interests more deeply
  • I think I did the right thing to offer students a chance to develop their own own unique research ideas beyond CivilServant. This added substantial time to my workload, but it allowed students to explore their own interests. I don’t think it will scale well.

Areas for Improving the Class

Here are some of the things that prevented us from meeting the full goals of the class, and how I would teach a seminar class differently in the future:

  • Online discussion:
    • Never use Piazza again. The system steers conversations toward question-answer with the instructor rather than discussion, and the company data-mines student behavior and sells it to job recruiters (they make a big show about opt-in, but it’s an dark pattern default checkbox). I’m thinking about shifting to the open source tools Discourse and NB.
  • Statistics:
    • Introduce students directly to a specific person who can provide extra statistics support as needed, rather than just point them to institutional resources (Brendan Nyhan does this in his politics experiments syllabus)
    • Pre-register every anticipated hypothesis test before the class, unless you want students to legitimately question your own work after you teach them about p-hacking <grin>
    • When teaching meta-analysis and p-hacking, give students a pre-baked set of experiment results (I’m working on getting several large corpora of A/B tests for this, please get in touch if you know where I can find one)
  • Designing experiments:
    • Students conducted power analyses based on historical data, and difficulties with power analysis caused substantial delays on student projects. Develop standard software code for conducting power analyses for experiments with count variable outcomes, which can be reasonably run on student laptops before the heat death of the universe. 
    • Experiments are a multi-stage process where early planning errors can compound. The class needs a good way to handle ongoing documents that will be graded over time, and which may need to be directly adjusted by the instructor or TA for the project to continue.
    • When using software to carry out experiment interventions, don’t expect that students will read the technical description of the system. Walk students through a worked example of an experiment carried out using that software.
    • Create a streamlined process for piloting surveys quickly
    • Create a standard experiment plan template in Word, Google Docs, and LaTeX. Offering an outline and example still yields considerable variation between student work
    • Consider picking a theme for the semester, which will focus students’ theory reading and their experiment ideas
    • Since classes have hard deadlines that cannot easily be altered, do not support student research ideas that involve any new software development.
  •  Participatory research process:
    • Schedule meetings with research partners before the class starts and include a regular meeting time in the syllabus (Nyhan does something similar with an “X period”). If you want to offer students input, choose the meeting time at the beginning of the semester and stick to it. Otherwise, you will lose time to scheduling and projects will slip.
    • Write a guide for students on the process of co-designing a research study, one that you run by research partners, that gives students a way to know where they are in the process, check off their progress, and communicate to the instructor where they are in the process.
  • Team and group selection:
    • While it would be nice to allow students to form project teams based on the studies they are interested in, teams likely need to be formed and settled before students are in a position to imagine and develop final project ideas.
  • Writing: Even students with statistics training will have limited experience writing about statistics for a general audience. Here are two things I would do differently:
    • Create a short guide, partly based on the Chicago Guide to Writing about Numbers, that shows a single finding well reported, poorly/accurately reported, and poorly/inaccurately reported. Talk through this example in class/lab.
    • In the early part of the class, while waiting for results from their own first set of experiments, assign students to write results paragraphs from a series of example studies, referring to the guide.

Supporting a Class With a Startup Nonprofit

This class would not have been possible without the CivilServant nonprofit or Eric Pennington, CivilServant’s data architect. CivilServant provides software infrastructure for collecting data, conducting surveys, and carrying out randomized trials with online communities. The CivilServant nonprofit (which gained a legal status independent of MIT on April 1st, halfway through the semester) also provided research relationships for students. While gradstudents developed their own studies, undergraduate students used CivilServant software and depended on the nonprofit’s partner relationships.

After the class, some students expressed regret that they didn’t end up doing research outside of the opportunities provided through CivilServant. During the semester, I developed several opportunities to conduct field experiments on the Princeton campus, and I explored further ideas with university administrators. Unfortunately, none of the fascinating student ideas or university leads were achievable within a semester (negotiating with university administrators takes time).

Between the cost of the summit and staff time, CivilServant put substantial resources into the class. Was it worth the time and expense? When working with learners, our research couldn’t happen as quickly or efficiently as it might have otherwise. Yet student research also helped CivilServant better focus our software engineering priorities. Supporting the class also gave us a first taste at what it might be like to combine a faculty position with my public interest research. Next spring, we will need to plan well to ensure that CivilServant’s wider work isn’t put on hold to support the class.

Should SOC 412 Be a Lecture or Seminar?

Do I think this class can scale to be a lecture course? I think a larger lecture course may be possible with some modifications under specific conditions:

  • Either (a) drop the participatory component of the course or (b) organize each precept (section) to carry out a single field experiment, coordinated by the preceptor (TA)
  • If needed, relax the goal of completing studies by the end of the semester and find other ways for students to develop their experience communicating results
  • The technical processes for student experiments should not require any custom software, or it will be impossible to support a large number of student projects. This would constrain the scope of possible experiments but increase the chance of students completing their experiments
  • If I’m to teach this as a lecture course next year, I should apply for a teaching grant from Princeton, since scaling the class will take substantial work on software, assignments, and class materials to formalize
  • Notes on Preceptors (TAs)
    • Careful preceptor recruitment, training, and coordination would be essential to scale this class
    • If each precept (section) does a single experiment, the work of developing studies will need to be distributed and managed differently than with the teams of 2-3 that I led
    • The class needs clear grading systems and rubrics for student writing assignments
    • Preceptors in the course could receive a privileged authorship position on any peer reviewed studies from their section, in acknowledgment of the substantial work of supporting this course

Should You Teach a Class Like This?

I had an amazing time teaching SOC412, the students learned well, and we completed and are launching a series of field experiments, all of which are publishable. Teaching this class with ten students was a lot of work, much more than a typical discussion seminar. If you’re thinking about teaching a class like this, here are some questions to ask yourself:

  • do you have the means to deploy multiple field experiments?
  • do you have staff who can support community partnerships?
  • do you have enough partners lined up?
  • is your IRB responsive enough to make quick emendations during a semester?
  • does your department already teach students the needed statistics prerequisites?
  • do you have streamlined ways to conduct experiments that will work for learners?
  • do you have Standard Operating Procedures for common study types, along with full code for the statistical methods?
  • do you have the resources to continuously update any incomplete parts of student projects throughout the course to ensure the quality of projects?