Gordon et al 2019 - Study Sample, Covariate Sets and Randomization Check

Summary

Section 5 of Gordon et al. (2019). It covers the 15 US Facebook conversion-lift RCTs from January-September 2015: about 2M to 141M users each, test shares from 17% to 85%, five verticals, 22 study-outcome pairs (14 checkout, 5 registration, 3 page view). It defines the four nested covariate sets used by every observational method: (1) Facebook profile and usage variables, (2) about 40 zip-level Census/ACS variables, (3) prior-week activity deciles by device, and (4) a machine-learned look-alike match score summarizing thousands of behavioral features. A randomization check on 1,251 test-vs-control mean comparisons gives p-values consistent with uniform (KS p = 0.4).

Overview

The observational methods are only as good as their covariates. This section therefore explains what the authors could condition on and why they think it is better than what a typical advertiser or third-party vendor has. It also shows the experiments were properly randomized, which justifies using them as ground truth.

Main Content

Study selection (§5)

Two of the authors (Gordon and Zettelmeyer) chose the 15 studies using these criteria:

  1. conducted after January 2015, when Facebook opened the experimentation platform to sufficiently large advertisers;
  2. at least 1 million users;
  3. business-relevant conversion tracking in place;
  4. no retargeting campaign by the advertiser;
  5. no significant sharing of ads between users.

All were run January-September 2015, US-only, with users aged 18+. The sample is “not representative of all Facebook advertising (nor is it intended to be)” but covers retail, financial services, e-commerce, telecom and tech, a range of sizes and a mix of splits. The 2023 follow-up used a representative sample of 663 experiments (Experimental Benchmarks for Observational Ad Measurement).

Table 1 — summary statistics (p. 21)

StudyVerticalObservationsTestControlImpressionsClicksConversionsOutcomes
1Retail2,427,49450%50%39,167,67945,4018,767C, R
2Finan. serv.86,183,52385%15%577,005,340247,12295,305C, P
3E-commerce4,672,11250%50%7,655,08948,00561,273C
4Retail25,553,09370%30%14,261,207474,3414,935C
5E-commerce18,486,00050%50%7,334,63689,649226,817C, R, P
6Telecom141,254,65075%25%590,377,3295,914,424867,033P
7Retail67,398,35017%83%61,248,021139,471127,976C
8E-commerce8,333,31950%50%2,250,984204,6884,102C, R
9E-commerce71,068,95575%25%35,197,874222,050113,531C
10Tech1,955,37560%40%2,943,89022,3907,625C, R
11E-commerce13,339,04450%50%11,633,187106,534225,241C
12Retail5,566,36750%50%10,070,74254,423215,227C
13E-commerce3,716,01577%23%2,121,96722,3057,518C, R
14E-commerce86,766,01980%20%36,814,315471,50115,722C
15Retail9,753,84750%50%8,750,27019,36576,177C

C = checkout, R = registration, P = page view. Every study except Study 6 has a checkout pixel (14 checkout outcomes). Five have registration and three have page view. Reader’s note: Table 1 lists Study 14’s outcome as C only, but Tables 3-4 and Fig. 10 also report a Study 14 registration outcome. Table 1 lists R for Study 13, but no Study 13 registration result is reported. The text’s count of five registration studies matches Studies 1, 5, 8, 10, 14 in the results tables. In total there are about 500M user-experiment observations and 1.6B impressions (Abstract).

The four nested covariate sets (§5, pp. 20-21)

Each observational model is estimated four times, adding one set at a time. Sets 1-2 are user-level and do not vary by time or study. Set 3 varies by user and time. Set 4 varies by user, time and study. The authors expected sets 3-4 “should especially help us account for activity bias”.

Variable sets 1-4 (§5)

  1. FB variables: age, gender, relationship status, days on Facebook, number of friends, friend requests sent, desktop and mobile access days in the last 7 and 28 days, phone OS, tablet OS, region, zip.
  2. Census variables = set 1 + nearly 40 zip-level variables from the most recent Census/ACS, matched through Facebook’s estimate of the user’s zip.
  3. User-activity variables = set 2 + for each device type (desktop, mobile, other) the user’s decile of total ad impressions served in the week before the study, across all Facebook campaigns running that week. This captures both time on site and how far the user scrolls. Entered as a full set of decile-by-device dummies.
  4. Match score = set 3 + “a composite metric of Facebook data that summarizes thousands of behavioral variables and is a machine-learning-based metric Facebook uses to construct target audiences similar to consumers an advertiser has identified as desirable” (fn. 14 points to Facebook’s look-alike audience help page). For each study it measures similarity between exposed users and all other users. Including it and functions of it lets the propensity model “condition on a summary statistic for data beyond which we had direct access”.

Table 2 — description of variables (p. 22)

SetVariableDescriptionSource
1ageAge of userFB
1gender1 = female, 0 = otherwiseFB
1rel statusmarried, engaged, in relationship, single, otherFB
1FB ageDays since user joined FBFB
1friends# of friendsFB
1num initiated# of friend requests sentFB
1web L7 / web L28# of last 7 / 28 days accessed FB by desktopFB
1mobile L7 / mobile L28# of last 7 / 28 days accessed FB by mobileFB
1mobile phone OSOS of primary phoneFB
1tablet OSOS of primary tablet (if exists)FB
1regionregion of residenceFB
1zipzip code of residenceFB
2population, housingunitspopulation; # housing units in zipACS
2pctblack, pctasian, pctwhite, pcthispracial/ethnic compositionACS
2pctunder18, pctmarriedhh, medhhsize% under 18; % married households; median household sizeACS
2yearbuilt, medhvalue, pcthowned, pctvacant, vehperhhousing age, value, ownership, vacancy; vehicles per householdACS
2pcths, pctcol, pctgradeducation sharesACS
2pctbusfinance, pctstem, pctprofessional, pcthealth, pctprotective, pctfood, pctmaintenance, pcthousework, pctsales, pctadmin, pctfarmfish, pctconstruction, pctrepair, pctproduction, pcttransportationoccupation / industry sharesACS
2income, pctpoverty, pctunemployedaverage household income; % below poverty line; % unemploymentACS
2pctbadenglish% residents with “bad” EnglishACS
3mobile / desktop / other activitydecile of users’ FB activity by deviceFB
4match scoreComposite variable of FB dataFB

Notes to Table 2: the first three rows are self-reported. Region and zip come from geolocation. ACS data are from 2010.

Randomization check (§5, Fig. 4)

Uniformity of balance-test p-values (§5, p. 21; Fig. 4)

Procedure. For every study and every variable, compare test and control means. That gives 1,251 p-values. Expectation under correct randomization. The p-values should be Uniform(0,1). Result. 10% are below 0.10, 4% below 0.05 and 0.9% below 0.01. The histogram (Fig. 4, density roughly flat at 1 over [0,1]) looks uniform, and a Kolmogorov-Smirnov test fails to reject uniformity (p = 0.4). No particular variables were more likely to be imbalanced. Conclusion: “we find no evidence that the randomization was implemented improperly.” Why this works. It is a meta-test that treats the collection of balance tests as draws from their null distribution, instead of reading 1,251 tests one at a time (which would produce about 125 “significant” results at 10% by chance). Compare Multiple Testing Corrections.

Examples

A generic practitioner analogue

An analyst who audits a platform lift test can repeat the Fig. 4 check with whatever pre-period covariates the platform exports, such as prior-period purchase counts, region and device mix. Compute a test-vs-control p-value per covariate and per cell, pool them, and KS-test the pooled set against Uniform(0,1). A pile-up near 0 points to broken assignment, for example cookie churn or arm leakage, before any lift is read.

Connections

See Also