Auto-Research PipelineA durable, human-gated pipeline for computational research
Research rune968530de670· 8 September 2026

Why is the college-proximity IV estimate of the return to schooling nearly twice the OLS estimate? Testing whether the gap is an Angrist-Imbens margin-weighting artefact

CompleteArchived runEconomics · Modelled on American Economic Review

Paper

Margin Composition and the IV–OLS Gap in the Return to Schooling

Abstract

Instrumental-variables estimates of the return to schooling exceed ordinary least squares, and one benign explanation is that the instrument weights schooling margins differently from a linear specification. We test this on Card's 1976 National Longitudinal Survey of Young Men extract (N = 3,010). Reweighting the estimated cross-sectional return schedule by college proximity's Angrist–Imbens weights moves the return by −0.0044 (0.0079), against a gap of 0.0568 (0.0610). Composition of that schedule explains none of the gap, though it cannot be separated from a uniform level shift in complier returns. The gap itself is indistinguishable from zero.

JEL codes: C26, I26, J24, J31.

Keywordsreturns to schoolinginstrumental variableslocal average treatment effectscausal response functioncollege proximityweak identification

§Ask about this paper

Grounded in this run

Questions are answered from this run's record — the paper, the executed analysis, the data provenance and the referee report. Nothing else is consulted.

This run is finished, so the recorded paper cannot be rewritten. Questions are still answered from its record.

Pipeline

1.Literature review

Attempt 3Done

Literature review complete (live:agent:claude-opus-5): 10 key papers, 17 grounded sources, 6 open gaps.

Summary

Instrumental-variables estimates of the return to schooling that exploit supply-side variation are, as a rule, larger than the ordinary-least-squares estimates they are meant to correct. Card (1993/1995) instruments completed years of schooling with an indicator for growing up near an accredited four-year college in a 1976 NLSYM sample of 3,010 men and finds IV returns 25-60 percent above OLS; Card (2001) documents the same ordering across a dozen studies. The textbook omitted-ability story predicts the opposite sign, so the gap has become a standing puzzle.

Four explanations compete. First, heterogeneous returns: Imbens and Angrist (1994) show IV recovers a complier-specific LATE, and Card (2001) supplies a comparative-advantage model in which credit-constrained men have high marginal returns and are precisely the ones supply-side instruments move. Carneiro, Heckman and Vytlacil (2011) cut the other way, finding returns higher among those most likely to enrol. Second, margin composition: Angrist and Imbens (1995) prove that with an ordered treatment and a binary instrument, 2SLS is a weighted average of per-unit effects across adjacent schooling margins, the weights given by the instrument-induced shift in the probability of reaching each level. Because the cross-sectional return schedule is sharply non-linear - Jaeger and Page (1996) document large degree-year premia - 2SLS can exceed a linear-in-years OLS coefficient with no heterogeneity in individual returns and no invalid instrument. Kling (2001) reads the proximity instrument through this lens and reports its largest impact at the high-school-to-college transition. Third, exclusion-restriction failure: proximity proxies for urban location and family background, and Conley, Hansen and Rossi (2012) supply the standard breakdown-value sensitivity analysis. Fourth, weak identification: Bound, Jaeger and Baker (1995) and Lee, McCrary, Moreira and Porter (2022) show that a first-stage F near 14 leaves conventional t-ratio inference badly distorted, so the gap may simply be noise.

Practice in this literature is well settled: a Mincer equation with experience, race, region and SMSA controls; HC1 standard errors; separately reported first stage and reduced form; and, increasingly, Anderson-Rubin sets. What is missing is arithmetic. No study appears to have measured how much of the IV-OLS gap margin composition alone can carry - reweighting the estimated per-margin return schedule by the Angrist-Imbens weights and asking whether the result reproduces 2SLS. Because that channel needs neither heterogeneity nor exclusion failure, it should be netted out before the other three are invoked.

Key papers (10)

  1. Using Geographic Variation in College Proximity to Estimate the Return to Schooling. David Card, NBER Working Paper 4483; published 1995 in Aspects of Labour Market Behaviour, 1993.
    Origin of the instrument, the dataset and the stylised fact this study interrogates: IV returns 25-60 percent above OLS in a 3,010-man NLSYM sample.
  2. Estimating the Return to Schooling: Progress on Some Persistent Econometric Problems. David Card, Econometrica 69(5): 1127-1160, 2001.
    Establishes that IV exceeds OLS across many supply-side designs and supplies the comparative-advantage model in which credit-constrained compliers have high marginal returns.
  3. Two-Stage Least Squares Estimation of Average Causal Effects in Models with Variable Treatment Intensity. Joshua D. Angrist and Guido W. Imbens, Journal of the American Statistical Association 90(430): 431-442 (NBER Technical Working Paper 127), 1995.
    Provides the exact decomposition this study tests: with an ordered treatment and a binary instrument, 2SLS is a weighted average of per-margin effects with weights proportional to the instrument-induced shift in the probability of reaching each schooling level.
  4. Identification and Estimation of Local Average Treatment Effects. Guido W. Imbens and Joshua D. Angrist, Econometrica 62(2): 467-475, 1994.
    Establishes the LATE interpretation and the monotonicity condition that the margin weights must satisfy to be non-negative.
  5. Interpreting Instrumental Variables Estimates of the Returns to Schooling. Jeffrey R. Kling, Journal of Business and Economic Statistics 19(3): 358-364, 2001.
    Closest antecedent: reads the college-proximity IV as a weighted average of individual-specific effects and finds the instrument bites hardest at the high-school-to-college transition, but stops short of reweighting the OLS return schedule to quantify the gap.
  6. Degrees Matter: New Evidence on Sheepskin Effects in the Returns to Education. David A. Jaeger and Marianne E. Page, Review of Economics and Statistics 78(4): 733-740, 1996.
    Documents the sharp non-linearity in the schooling return schedule that makes margin composition a live explanation for IV exceeding a linear-in-years OLS coefficient.
  7. Estimating Marginal Returns to Education. Pedro Carneiro, James J. Heckman and Edward J. Vytlacil, American Economic Review 101(6): 2754-2781, 2011.
    Marginal-treatment-effect evidence of positive selection on gains, which contradicts the constrained-marginal-student rationale for IV exceeding OLS.
  8. Plausibly Exogenous. Timothy G. Conley, Christian B. Hansen and Peter E. Rossi, Review of Economics and Statistics 94(1): 260-272, 2012.
    Supplies the sensitivity framework used here to compute how large a direct effect of proximity on wages would have to be to erase the gap.
  9. Valid t-Ratio Inference for IV. David S. Lee, Justin McCrary, Marcelo J. Moreira and Jack Porter, American Economic Review 112(10): 3260-3290, 2022.
    Shows the conventional first-stage F greater than 10 rule is far too permissive, motivating Anderson-Rubin inference for an estimate whose first-stage F is near 14.
  10. When is TSLS Actually LATE?. Christine Blandhol, John Bonney, Magne Mogstad and Alexander Torgovitsky, NBER Working Paper 29709, 2022.
    Warns that linear-in-covariates 2SLS, the specification used throughout this literature, need not be a positively weighted average of LATEs, so any decomposition must be framed as a statement about estimands.

Methods in use

  • Mincer log-wage regression with schooling in completed years, potential experience and its square, race, region and SMSA indicators, estimated by OLS with heteroskedasticity-robust (HC1) standard errors
  • Just-identified two-stage least squares with a single binary instrument, reporting the first stage and reduced form separately
  • First-stage F as the identification diagnostic, increasingly supplemented by Anderson-Rubin confidence sets when F is modest
  • Durbin-Wu-Hausman / control-function test of whether the 2SLS and OLS coefficients differ
  • Sargan/Hansen over-identification test when a second proximity instrument (two-year college) is available
  • Balance and placebo regressions of the instrument on predetermined background characteristics conditional on the controls
  • Angrist-Imbens margin weights estimated as the instrument coefficient in linear probability models for reaching each schooling level
  • Conley-Hansen-Rossi plausibly-exogenous sensitivity analysis, tracing the estimate against an assumed direct effect of the instrument
  • Marginal treatment effect and local instrumental variables estimation for selection on gains
  • Pairs bootstrap for inference on functionals that combine several regressions

Open gaps

  • No study quantifies how much of the IV-OLS gap in the returns to schooling is pure Angrist-Imbens margin composition: reweighting the estimated per-margin return schedule by the instrument's complier weights and comparing the result with the 2SLS estimate is a direct, feasible test that has not been run on the canonical Card sample.
  • The distribution of the college-proximity instrument's weight across schooling margins is only qualitatively described (Kling 2001 reports the largest impact at the high-school-to-college transition); the full weight profile and its overlap with the degree-year premia documented by Jaeger and Page (1996) has not been tabulated.
  • Card's claim that gains concentrate among men with poorly educated parents and Carneiro, Heckman and Vytlacil's finding of positive selection on gains have not been adjudicated using the margins the instrument actually moves.
  • It is rarely tested whether the IV-OLS gap is statistically distinguishable from zero at all: with a first-stage F near 14 the 2SLS standard error is an order of magnitude larger than the OLS one, so much of the discussion may be interpreting sampling noise.
  • Breakdown values for the exclusion restriction in this design have not been reported alongside a calibration of how large a direct proximity-wage effect the measured imbalance in predetermined ability could plausibly generate.
  • Monotonicity of the proximity instrument across every schooling margin, which the Angrist-Imbens weights require to be non-negative, is assumed rather than examined margin by margin.
Grounded search sources (17) · mode: live:agent:claude-opus-5

2.Ideation

Attempt 2Done

3 candidate ideas generated; selected: “Is the IV-OLS gap in the returns to schooling a margin-weighting artefact? Decomposing the Card college-proximity estimate”.

  1. Idea 1Selected

    Is the IV-OLS gap in the returns to schooling a margin-weighting artefact? Decomposing the Card college-proximity estimate

    Hypothesis. A substantial share - at least half - of the gap between the just-identified 2SLS and the linear OLS return to schooling in Card's NLSYM sample is attributable to Angrist-Imbens (1995) margin weighting: because 2SLS is a weighted average of per-margin returns with weights proportional to the instrument-induced shift in the probability of reaching each schooling level, and because the cross-sectional return schedule has large degree-year premia, reweighting the OLS per-margin schedule by the instrument's own weights should move the estimate materially towards the 2SLS value. Falsified if the reweighted OLS estimate stays close to the linear OLS coefficient, i.e. if the bootstrap 95 percent confidence interval for the reweighting contribution excludes half of the observed gap or contains only values that are small relative to it.

    Dataset. Card (1995) college proximity and returns to schooling, NLSYM card_college_proximity

    Test plan, novelty and risk

    Test plan. Sample: all 3,010 NLSYM men with non-missing lwage, educ, nearc4, nearc2 and the Card control set (no further filters; the controls have no missing values, so N = 3,010). Outcome lwage (log hourly earnings in cents); treatment educ (completed years, 1-18); instrument nearc4 (grew up near a four-year college); controls exper, expersq, black, south, smsa, smsa66 and the reg661-reg668 region dummies. Step 1 - benchmarks: OLS of lwage on educ and controls with HC1 standard errors; the first stage (educ on nearc4 and controls) with its robust F; the reduced form (lwage on nearc4 and controls); the just-identified 2SLS estimate with HC1 standard errors, its Wald interval, and a weak-identification-robust Anderson-Rubin 95 percent confidence set obtained by grid inversion. Step 2 - is the gap real? A Durbin-Wu-Hausman control-function test (add the first-stage residual to the OLS equation and test its coefficient). Step 3 - Angrist-Imbens weights: for each schooling margin j, regress the indicator 1{educ >= j} on nearc4 and the controls; the coefficient pi_j is the instrument-induced shift at that margin, and the weights w_j = pi_j / sum_k pi_k sum by construction to the first stage. Pool the sparse margins at 9 years and below into a single increment. Report every pi_j to check monotonicity (all weights should be weakly positive). Step 4 - per-margin cross-sectional returns: estimate the wage equation saturated in schooling increments, lwage on the pooled low increment, the indicators 1{educ >= 10} ... 1{educ >= 18} and the controls, so each coefficient beta_j is the incremental return to crossing margin j, with HC1 standard errors. Step 5 - the decomposition: compute the counterfactual reweighted OLS estimate sum_j w_j beta_j and compare it with the linear OLS coefficient and with 2SLS. Inference by a 2,000-replication pairs bootstrap over individuals (seed fixed) on the joint distribution of the linear OLS coefficient, 2SLS and the reweighted estimate, reporting bootstrap standard errors and percentile intervals for the reweighting contribution, for the 2SLS-OLS gap and for the residual gap that reweighting cannot explain. Step 6 - what remains: probe the exclusion restriction by regressing nearc4 on each predetermined characteristic (IQ, father's and mother's education, family structure at 14, library card at 14) conditional on the controls plus a joint F test; a Sargan over-identification test adding nearc2 as a second instrument; and Conley-Hansen-Rossi breakdown values for the direct effect delta of proximity on wages needed to drive 2SLS down to OLS and to zero, calibrated against the direct effect implied by the measured proximity-ability imbalance. Robustness: recompute the reweighted estimate with weights that omit the covariates and with the low margins pooled at 7 and at 11 years. Refuted if the reweighting contribution is near zero, negative, or its 95 percent interval rules out half the gap.

    Novelty. Angrist and Imbens (1995) supply the decomposition and Kling (2001) notes qualitatively that the proximity instrument bites hardest at the high-school-to-college transition, but no study appears to have carried out the arithmetic: reweighting the estimated per-margin return schedule by the instrument's own complier weights and asking how much of the celebrated IV-OLS gap that mechanical channel can carry. The exercise is decisive because margin composition requires neither heterogeneous individual returns nor an invalid instrument, so it is the explanation that must be netted out before the other three are invoked. Whatever the sign of the answer, it disciplines a thirty-year discussion with a number.

    Expected outcome. The instrument's weight should concentrate on the post-secondary margins, with the single largest weight on the high-school-to-college transition, consistent with Kling (2001). Whether that raises or lowers the reweighted estimate depends on where the degree-year premia sit: if the weight lands on the college-entry margins rather than the bachelor's-completion year, the reweighted OLS estimate could fall below the linear OLS coefficient, refuting the hypothesis and shifting the burden onto heterogeneous returns, exclusion failure or sampling noise. The 2SLS estimate should be near 0.13 against an OLS estimate near 0.075, with a first-stage F in the low teens and a 2SLS standard error roughly fifteen times the OLS one, so the Durbin-Wu-Hausman test may well fail to reject equality.

    Main risk. The per-margin returns are estimated off thin cells at the low end of the schooling distribution, which is why the margins at nine years and below are pooled into one increment; if the pooling choice drives the answer the decomposition is not informative, so the robustness checks vary the pooling point. A second risk is that the reweighting contribution is estimated too imprecisely to distinguish from half the gap, in which case the honest finding is that the data cannot settle the question - though the pilot logic suggests the reweighting contribution is a function of far better identified objects than 2SLS and should be an order of magnitude more precise.

  2. Idea 2

    Whose schooling does college proximity move? Complier composition and the credit-constraint rationale for IV above OLS

    Hypothesis. Card's rationale for IV exceeding OLS is that supply-side instruments move credit-constrained men from disadvantaged families, whose marginal returns are high. If so, the first stage for nearc4 should be strictly stronger among men whose parents have little schooling than among men whose parents are well educated, and the IV-OLS gap should be concentrated in the disadvantaged group. Falsified if the interaction between nearc4 and a high-parental-education indicator in the first stage is zero or positive.

    Dataset. Card (1995) college proximity and returns to schooling, NLSYM card_college_proximity

    Test plan, novelty and risk

    Test plan. Sample: the 2,320 men with non-missing father's education (and the 2,220 with both parents' education) plus the Card control set; report the excluded group separately since item non-response is substantial. Estimate a pooled first stage with nearc4, a high-parental-education indicator and their interaction, plus exper, expersq, black, south, smsa, smsa66 and reg661-reg668, HC1 standard errors, and report the interaction coefficient and its p-value. Repeat with mean parental education entered continuously and centred. Then split the sample at father's education 12 years and estimate OLS, the first stage, the reduced form and just-identified 2SLS separately in each cell, reporting the IV-OLS gap by cell with bootstrap standard errors. Complement with Angrist-Pischke complier relative-likelihood ratios: for each binary background characteristic, the ratio of the subgroup first stage to the full-sample first stage times the subgroup share gives how much more likely a complier is to have that characteristic. Refuted if the interaction is insignificantly different from zero or positive and the disadvantaged-group first stage is the weaker of the two.

    Novelty. Card (2001) and Carneiro, Heckman and Vytlacil (2011) reach opposite conclusions about whether the marginal entrant has above- or below-average returns, and the disagreement has never been adjudicated on the very sample that generates the stylised fact using the instrument's own first-stage heterogeneity as the evidence.

    Expected outcome. The subgroup first stages will differ in point estimate but, with roughly 400 to 1,900 observations per cell and a full-sample first-stage F near 14, the interaction is likely to be imprecise; the honest result may be that the data cannot distinguish the two stories, which is itself worth reporting against a literature that treats the credit-constraint rationale as established.

    Main risk. Power. Splitting a sample whose full-sample first-stage F is already only about 14 leaves subgroup first stages that may be indistinguishable from zero, and father's education is missing for 690 men in a way that is unlikely to be random, so the subsample estimands differ from the full-sample one.

  3. Idea 3

    How much exclusion-restriction failure would it take? Breakdown values for the college-proximity instrument

    Hypothesis. The IV-OLS gap can be explained by a direct effect of growing up near a four-year college on wages operating outside schooling - through local labour market quality or unmeasured family advantage. If so, the direct effect delta needed to drive 2SLS down to the OLS estimate should be no larger than the direct effect the data themselves suggest, calibrated from the measured association between proximity and predetermined ability. Falsified if the required breakdown delta is several times the calibrated one.

    Dataset. Card (1995) college proximity and returns to schooling, NLSYM card_college_proximity

    Test plan, novelty and risk

    Test plan. Sample: all 3,010 men with the Card controls. Estimate the first stage and reduced form, then trace the Conley-Hansen-Rossi plausibly-exogenous estimate beta(delta) = (reduced form - delta) / (first stage) and report the breakdown values of delta at which beta equals the OLS coefficient and at which it equals zero. Calibrate a plausible delta from the ability channel: regress IQ on nearc4 and the controls (HC1) to measure the imbalance, regress lwage on educ, IQ and the controls to price an IQ point, and multiply, reporting both the point estimate and the upper end of its 95 percent interval. Test balance on the other predetermined characteristics (father's and mother's education, family structure at 14, library card at 14) individually and jointly. Add nearc2 as a second instrument and report the Sargan over-identification statistic. Refuted if the calibrated delta is a small fraction of the breakdown delta and the balance and over-identification tests do not reject.

    Novelty. The exclusion restriction on college proximity is routinely described as contested but rarely quantified; putting a number on how large a violation would have to be, and comparing it with the violation the measured ability imbalance can support, converts a rhetorical objection into a testable magnitude.

    Expected outcome. The breakdown delta needed to reach OLS is likely to be a couple of log points, while the ability-channel calibration is likely to be a fraction of that, so the exclusion restriction probably cannot carry the gap on its own; the balance tests are expected not to reject once the region and SMSA controls are included.

    Main risk. IQ is missing for 949 men and is measured in high school, so it is only partly predetermined relative to the college decision; the calibration therefore bounds one channel of violation rather than all of them, and a null balance test with these standard errors is weak evidence of validity.

Ranking rationale

Idea 1 is first because it is the only one of the three whose central quantity is estimated far more precisely than 2SLS itself. The Angrist-Imbens weights and the per-margin return schedule are functions of large-sample linear regressions, so the reweighting contribution can be pinned down even though the 2SLS estimate that motivates the question cannot be; the study therefore returns a decisive number whichever way it comes out, and it isolates the one explanation for IV above OLS that needs neither treatment-effect heterogeneity nor an invalid instrument, which logically must be netted out before the others are entertained. It also subsumes the useful parts of ideas 2 and 3, since the balance tests, the over-identification test and the breakdown values fit naturally as the section on what remains after margin composition is removed. Idea 3 ranks second because breakdown values are cheap to compute and directly disciplined by the data, but on its own it can only bound one channel of exclusion failure and its calibration leans on an IQ measure missing for a third of the sample. Idea 2 ranks last: it asks the most economically interesting question of the three, but splitting a sample whose full first-stage F is about 14 into cells of 400 to 1,900 observations almost guarantees that the interaction of interest is too imprecise to settle anything, so the likely outcome is a power statement rather than an answer.

3.Experimentation

Attempt 3Done

Experiment succeeded in 1 round (4.655s).

Succeeded1 round · exit 0 · 4.655s

Data provenance

Datasetcard_college_proximity

Card (1995) college proximity and returns to schooling, NLSYM

Source
R package 'wooldridge' (Wooldridge, Introductory Econometrics), mirrored by the Rdatasets archive; original data from the National Longitudinal Survey of Young Men
Citation
Card, D. (1995) Using geographic variation in college proximity to estimate the return to schooling. In: Christofides, L.N., Grant, E.K. and Swidinsky, R. (eds) Aspects of Labour Market Behaviour: Essays in Honour of John Vanderkamp. Toronto: University of Toronto Press, 201-222. Data distributed with Wooldridge, J.M. Introductory Econometrics: A Modern Approach, via the Rdatasets archive.
Licence
Redistributed in the R package 'wooldridge' under GPL-3 via the Rdatasets archive; underlying survey data from the US National Longitudinal Survey of Young Men.
File
https://vincentarelbundock.github.io/Rdatasets/csv/wooldridge/card.csv
Observations
3,010
Variables (34)
id, nearc2, nearc4, educ, age, fatheduc, motheduc, weight, momdad14, sinmom14, step14, reg661, reg662, reg663, reg664, reg665, reg666, reg667, reg668, reg669, south66, black, smsa, south, smsa66, wage, enroll, KWW, IQ, married, libcrd14, exper, lwage, expersq
Units
wage is average hourly earnings in cents; lwage is its natural log. educ, exper and age are in years. nearc2 and nearc4 are the college-proximity indicators used as instruments. IQ and KWW are ability test scores. reg661-reg669 are region dummies; black, south and smsa are indicators.
Retrieved
8 Sept 2026, 15:51
Checksum
sha256 326dad817467b20d…

Real, publicly available data — downloaded and checksum-verified before the analysis ran, never simulated.

Result (RESULT_JSON)

{
  "n_obs": 3010,
  "n_raw": 3010,
  "min_educ": 1,
  "max_educ": 18,
  "mean_educ": 13.26345514950166,
  "sd_educ": 2.6769128552950434,
  "mean_lwage": 6.261831955260217,
  "sd_lwage": 0.44379764068492095,
  "mean_exper": 8.856146179401993,
  "sd_exper": 4.141671574970938,
  "mean_age": 28.119601328903656,
  "sd_age": 3.13700368676956,
  "mean_wage": 577.2823920265781,
  "sd_wage": 262.95830236480094,
  "share_nearc4": 0.6820598006644518,
  "share_nearc2": 0.44086378737541526,
  "share_black": 0.2335548172757475,
  "share_smsa": 0.7129568106312293,
  "share_south": 0.40365448504983387,
  "share_smsa66": 0.6495016611295681,
  "share_educ_ge13": 0.5053156146179402,
  "share_educ_ge16": 0.2714285714285714,
  "ols": 0.07469325559311757,
  "ols_se": 0.003646247706203528,
  "first_stage": 0.3198989400914505,
  "first_stage_se": 0.08507628567788089,
  "first_stage_F": 14.138670079757024,
  "reduced_form": 0.04206793783263582,
  "reduced_form_se": 0.017521064921265716,
  "reduced_form_t": 2.4009920642196243,
  "r2_ols": 0.2998364904722476,
  "r2_first_stage": 0.47711620948525824,
  "r2_reduced_form": 0.1946862426564487,
  "tsls": 0.13150383624468945,
  "tsls_se": 0.05414362358286496,
  "tsls_t": 2.4287963668229064,
  "tsls_ci_lo": 0.025382334022274133,
  "tsls_ci_hi": 0.23762533846710476,
  "gap": 0.05681058065157188,
  "tsls_over_ols": 1.7605851452109762,
  "dwh_t": -1.1009544461061789,
  "dwh_p": 0.27091648385714107,
  "ar_ci_lo": 0.028499999999886727,
  "ar_ci_hi": 0.2809999999998589,
  "ar_ci_contiguous": true,
  "ar_ci_contains_ols": true,
  "pi_sum": 0.3198989400914512,
  "n_margins_all": 17,
  "n_pi_negative": 2,
  "min_pi_all": -0.002595047908831907,
  "max_abs_t_pi_negative": 0.5059399471580099,
  "r2_saturated": 0.3085719642762167,
  "n_schooling_params": 10,
  "pi_low": 0.016691444323499352,
  "w_low": 0.05217724172117507,
  "beta_low": 0.060097054896170905,
  "beta_se_low": 0.016078442258782653,
  "pi_10": 0.024248136485389708,
  "w_10": 0.07579936488210234,
  "beta_10": -0.026842751131124776,
  "beta_se_10": 0.0463010328235058,
  "pi_11": 0.02044037971878457,
  "w_11": 0.06389636587398874,
  "beta_11": 0.11336284924223294,
  "beta_se_11": 0.04214838887352624,
  "pi_12": 0.026660162122896333,
  "w_12": 0.08333932621119299,
  "beta_12": 0.15744374938611708,
  "beta_se_12": 0.03271446966400516,
  "pi_13": 0.06361408276286613,
  "w_13": 0.1988568100434482,
  "beta_13": 0.08201873384431388,
  "beta_se_13": 0.02357271947861447,
  "pi_14": 0.056798186088072966,
  "w_14": 0.17755040411148523,
  "beta_14": 0.03628086835380656,
  "beta_se_14": 0.03157000178684761,
  "pi_15": 0.04413273538285918,
  "w_15": 0.13795836700878947,
  "beta_15": -0.02173439936637095,
  "beta_se_15": 0.03808647324063853,
  "pi_16": 0.030231071781826033,
  "w_16": 0.0945019441864475,
  "beta_16": 0.2034177917087993,
  "beta_se_16": 0.03406422202698168,
  "pi_17": 0.016555913553036934,
  "w_17": 0.05175357426412231,
  "beta_17": 0.006509876881785448,
  "beta_se_17": 0.03957596919539111,
  "pi_18": 0.020526827872219988,
  "w_18": 0.06416660169724812,
  "beta_18": 0.14803168239391967,
  "beta_se_18": 0.045303800224603646,
  "reweighted_ols": 0.07027796572162984,
  "reweight_contribution": -0.004415289871487732,
  "share_gap_explained": -0.0777194990941457,
  "weight_postsec": 0.7247877013115408,
  "weight_presec": 0.2752122986884592,
  "weight_entry": 0.5143655811637229,
  "weight_ba_margin": 0.0945019441864475,
  "weight_margin13": 0.1988568100434482,
  "ret_entry": 0.03840308351236267,
  "ret_postsec": 0.06734689410289181,
  "ret_presec": 0.07799711443354644,
  "beta_ba_margin": 0.2034177917087993,
  "postsec_uplift_needed": 0.08447421281054884,
  "ba_margin_return_needed": 0.8512972723919068,
  "bootstrap_reps": 2000,
  "seed": 20260908,
  "reweighted_ols_se": 0.008772294601337887,
  "reweight_contribution_se": 0.0078604633972513,
  "reweight_contribution_ci_lo": -0.021947013195066572,
  "reweight_contribution_ci_hi": 0.00929535537657092,
  "gap_se_boot": 0.060959310710584,
  "gap_ci_lo": -0.04711061812645078,
  "gap_ci_hi": 0.19750942389335968,
  "gap_ci_contains_zero": true,
  "residual_gap": 0.06122587052305961,
  "residual_gap_ci_lo": -0.03908421401714308,
  "residual_gap_ci_hi": 0.2040385936317897,
  "share_gap_explained_ci_hi": 0.16362014381758885,
  "share_gap_explained_ci_lo": -0.3863191142099218,
  "bal_IQ_b": 0.6733327370747612,
  "bal_IQ_se": 0.6790979130247787,
  "bal_IQ_p": 0.32143634927516196,
  "bal_IQ_n": 2061,
  "bal_KWW_b": 0.9583446446707676,
  "bal_KWW_se": 0.34192161742298843,
  "bal_KWW_p": 0.0050657980957027286,
  "bal_KWW_n": 2963,
  "bal_fatheduc_b": 0.20194229349486056,
  "bal_fatheduc_se": 0.165018974479324,
  "bal_fatheduc_p": 0.22104581172692703,
  "bal_fatheduc_n": 2320,
  "bal_motheduc_b": -0.08643416182338007,
  "bal_motheduc_se": 0.13470702477143698,
  "bal_motheduc_p": 0.5211033562552537,
  "bal_motheduc_n": 2657,
  "bal_momdad14_b": -0.02240899593506314,
  "bal_momdad14_se": 0.018052953893071367,
  "bal_momdad14_p": 0.2144977211596757,
  "bal_momdad14_n": 3010,
  "bal_sinmom14_b": 0.01572860067932326,
  "bal_sinmom14_se": 0.013110385212033856,
  "bal_sinmom14_p": 0.2302537530333024,
  "bal_sinmom14_n": 3010,
  "bal_step14_b": -0.007531753872584826,
  "bal_step14_se": 0.009150118132187236,
  "bal_step14_p": 0.4104330055740284,
  "bal_step14_n": 3010,
  "bal_libcrd14_b": 0.037304344566623154,
  "bal_libcrd14_se": 0.019533812512941052,
  "bal_libcrd14_p": 0.05616774355929543,
  "bal_libcrd14_n": 2997,
  "balance_joint_F": 1.1409814090109651,
  "balance_joint_p": 0.33591715219969015,
  "balance_joint_n": 1616,
  "balance_joint_df": 6,
  "tsls_overid": 0.1570593700334939,
  "tsls_overid_se": 0.05255255571562088,
  "sargan_J": 1.248153433501945,
  "sargan_p": 0.2639054547386235,
  "fs_nearc2": 0.12299859096203222,
  "fs_nearc2_se": 0.07762996355139266,
  "fs_joint_F": 8.318974740664647,
  "delta_breakdown_ols": 0.018173644536417705,
  "delta_breakdown_zero": 0.04206793783263582,
  "iq_wage_return": 0.002469302646096727,
  "iq_wage_return_se": 0.0007560559379646084,
  "iq_sample_n": 2061,
  "delta_iq_channel": 0.0016626623093622594,
  "delta_iq_channel_ub": 0.004949382925600328,
  "delta_iq_share_of_breakdown": 0.091487555290877,
  "delta_iq_ub_share_of_breakdown": 0.2723384908119219,
  "rw_nocov_weights": 0.07211357654788159,
  "rw_pool11": 0.07279056296115924,
  "rw_pool7": 0.06929970309981703,
  "hypothesis_supported": false
}
Experiment script · experiment_v1.py
"""Why is the college-proximity IV estimate of the return to schooling twice OLS?

Tests whether the 2SLS-OLS gap in Card (1995) is an Angrist-Imbens (1995)
margin-weighting artefact, and probes the exclusion restriction directly.
Real data only, loaded via dataset.load().
"""
import json
import numpy as np
import pandas as pd
import statsmodels.api as sm
from scipy import stats
from dataset import load

SEED = 20260908
CTRL = ['exper', 'expersq', 'black', 'south', 'smsa',
        'reg661', 'reg662', 'reg663', 'reg664', 'reg665', 'reg666', 'reg667', 'reg668',
        'smsa66']
MARG = list(range(10, 19))          # separate increments for margins 9->10 ... 17->18
R = {}


def add_const(d, cols):
    return sm.add_constant(d[cols].astype(float))


def hc1(y, X):
    return sm.OLS(np.asarray(y, dtype=float), X).fit(cov_type='HC1')


# ---------------------------------------------------------------- 1. sample
raw = load()
print('loaded', raw.shape, 'columns:', len(raw.columns))
need = ['lwage', 'educ', 'nearc4', 'nearc2'] + CTRL
miss = {c: int(raw[c].isna().sum()) for c in need if raw[c].isna().any()}
print('missing among analysis variables:', miss or 'none')
df = raw.dropna(subset=need).copy()
print('analysis sample:', len(df), 'of', len(raw))
R['n_obs'] = int(len(df)); R['n_raw'] = int(len(raw))
R['min_educ'] = int(df.educ.min()); R['max_educ'] = int(df.educ.max())
for v in ['educ', 'lwage', 'exper', 'age', 'wage']:
    R['mean_' + v] = float(df[v].mean()); R['sd_' + v] = float(df[v].std(ddof=1))
for v in ['nearc4', 'nearc2', 'black', 'smsa', 'south', 'smsa66']:
    R['share_' + v] = float(df[v].mean())
R['share_educ_ge13'] = float((df.educ >= 13).mean())
R['share_educ_ge16'] = float((df.educ >= 16).mean())

# ------------------------------------------------- 2. OLS, first stage, 2SLS
Xz = add_const(df, ['nearc4'] + CTRL)
Xe = add_const(df, ['educ'] + CTRL)
m_ols = hc1(df.lwage, Xe)
m_fs = hc1(df.educ, Xz)
m_rf = hc1(df.lwage, Xz)
P, Rf = float(m_fs.params['nearc4']), float(m_rf.params['nearc4'])
R['ols'] = float(m_ols.params['educ']); R['ols_se'] = float(m_ols.bse['educ'])
R['first_stage'] = P; R['first_stage_se'] = float(m_fs.bse['nearc4'])
R['first_stage_F'] = float(m_fs.tvalues['nearc4'] ** 2)
R['reduced_form'] = Rf; R['reduced_form_se'] = float(m_rf.bse['nearc4'])
R['reduced_form_t'] = float(m_rf.tvalues['nearc4'])
R['r2_ols'] = float(m_ols.rsquared); R['r2_first_stage'] = float(m_fs.rsquared)
R['r2_reduced_form'] = float(m_rf.rsquared)
R['tsls'] = Rf / P


def tsls(y, D, Z):
    """2SLS with HC1 standard errors; returns (coefficients, standard errors, residuals)."""
    Dh = Z @ np.linalg.solve(Z.T @ Z, Z.T @ D)
    bread = np.linalg.inv(Dh.T @ D)
    b = bread @ (Dh.T @ y)
    u = y - D @ b
    meat = (Dh * (u ** 2)[:, None]).T @ Dh
    V = bread @ meat @ bread.T * len(y) / (len(y) - D.shape[1])
    return b, np.sqrt(np.diag(V)), u


lw = df.lwage.to_numpy(float)
b_iv, se_iv, _ = tsls(lw, Xe.to_numpy(float), Xz.to_numpy(float))
assert abs(b_iv[1] - R['tsls']) < 1e-8
R['tsls_se'] = float(se_iv[1])
R['tsls_t'] = R['tsls'] / R['tsls_se']
R['tsls_ci_lo'] = R['tsls'] - 1.96 * R['tsls_se']
R['tsls_ci_hi'] = R['tsls'] + 1.96 * R['tsls_se']
R['gap'] = R['tsls'] - R['ols']
R['tsls_over_ols'] = R['tsls'] / R['ols']

# Durbin-Wu-Hausman (control function)
Xd = add_const(df.assign(v=m_fs.resid), ['educ'] + CTRL + ['v'])
m_dwh = hc1(df.lwage, Xd)
R['dwh_t'] = float(m_dwh.tvalues['v']); R['dwh_p'] = float(m_dwh.pvalues['v'])

# Anderson-Rubin 95% CI (exact under weak identification, just-identified model)
grid = np.arange(-1.0, 1.0 + 1e-9, 0.0005)
keep = [b for b in grid if hc1(df.lwage - b * df.educ, Xz).pvalues['nearc4'] > 0.05]
R['ar_ci_lo'] = float(min(keep)); R['ar_ci_hi'] = float(max(keep))
R['ar_ci_contiguous'] = bool(len(keep) == round((max(keep) - min(keep)) / 0.0005) + 1)
R['ar_ci_contains_ols'] = bool(R['ar_ci_lo'] <= R['ols'] <= R['ar_ci_hi'])

# ----------------------------------------- 3. Angrist-Imbens margin weights
df['sp_low'] = np.minimum(df.educ, 9) - 1        # pooled increments for margins 2..9
for j in MARG:
    df[f'm{j}'] = (df.educ >= j).astype(float)
SCH = ['sp_low'] + [f'm{j}' for j in MARG]

pi, pi_se = {}, {}
for k, col in zip(['low'] + MARG, SCH):
    mm = hc1(df[col], Xz)
    pi[k] = float(mm.params['nearc4']); pi_se[k] = float(mm.bse['nearc4'])
R['pi_sum'] = float(sum(pi.values()))
w = {k: v / R['pi_sum'] for k, v in pi.items()}

# monotonicity: every margin-specific shift should be weakly positive
pi_all, t_all = {}, {}
for j in range(int(df.educ.min()) + 1, int(df.educ.max()) + 1):
    mm = hc1((df.educ >= j).astype(float), Xz)
    pi_all[j] = float(mm.params['nearc4']); t_all[j] = float(mm.tvalues['nearc4'])
neg = [j for j, v in pi_all.items() if v < 0]
R['n_margins_all'] = int(len(pi_all)); R['n_pi_negative'] = int(len(neg))
R['min_pi_all'] = float(min(pi_all.values()))
R['max_abs_t_pi_negative'] = float(max([abs(t_all[j]) for j in neg])) if neg else 0.0

# per-margin cross-sectional (OLS) returns
m_sat = hc1(df.lwage, add_const(df, SCH + CTRL))
R['r2_saturated'] = float(m_sat.rsquared)
R['n_schooling_params'] = int(len(SCH))
beta = {k: float(m_sat.params[c]) for k, c in zip(['low'] + MARG, SCH)}
beta_se = {k: float(m_sat.bse[c]) for k, c in zip(['low'] + MARG, SCH)}
for k in ['low'] + MARG:
    R[f'pi_{k}'] = pi[k]; R[f'w_{k}'] = w[k]
    R[f'beta_{k}'] = beta[k]; R[f'beta_se_{k}'] = beta_se[k]

R['reweighted_ols'] = float(sum(w[k] * beta[k] for k in w))
R['reweight_contribution'] = R['reweighted_ols'] - R['ols']
R['share_gap_explained'] = R['reweight_contribution'] / R['gap']

ENTRY, POST = [13, 14, 15], [13, 14, 15, 16, 17, 18]
R['weight_postsec'] = float(sum(w[j] for j in POST))
R['weight_presec'] = 1.0 - R['weight_postsec']
R['weight_entry'] = float(sum(w[j] for j in ENTRY))
R['weight_ba_margin'] = float(w[16]); R['weight_margin13'] = float(w[13])
R['ret_entry'] = float(sum(w[j] * beta[j] for j in ENTRY) / R['weight_entry'])
R['ret_postsec'] = float(sum(w[j] * beta[j] for j in POST) / R['weight_postsec'])
R['ret_presec'] = float((sum(w[j] * beta[j] for j in MARG if j <= 12) + w['low'] * beta['low'])
                        / R['weight_presec'])
R['beta_ba_margin'] = beta[16]
# what complier returns would have to be to reconcile 2SLS with the schedule
R['postsec_uplift_needed'] = (R['tsls'] - R['reweighted_ols']) / R['weight_postsec']
R['ba_margin_return_needed'] = beta[16] + (R['tsls'] - R['reweighted_ols']) / w[16]

# ------------------------------------------------------------ 4. bootstrap
rng = np.random.default_rng(SEED)
N = len(df)
Zb = Xz.to_numpy(float)
Xlin = Xe.to_numpy(float)
Xsat = add_const(df, SCH + CTRL).to_numpy(float)
Ymg = df[SCH].to_numpy(float)
ed = df.educ.to_numpy(float)
nsch = len(SCH)


def one(idx):
    Z_ = Zb[idx]
    G = np.linalg.solve(Z_.T @ Z_, Z_.T)
    p = (G @ ed[idx])[1]; r = (G @ lw[idx])[1]
    pv = (G @ Ymg[idx])[1]
    Xl = Xlin[idx]; bl = np.linalg.solve(Xl.T @ Xl, Xl.T @ lw[idx])[1]
    Xs = Xsat[idx]; bs = np.linalg.solve(Xs.T @ Xs, Xs.T @ lw[idx])[1:1 + nsch]
    return bl, r / p, float((pv / pv.sum()) @ bs)


print('bootstrap')
B = 2000
draws = np.empty((B, 3))
b = 0
while b < B:
    try:
        draws[b] = one(rng.integers(0, N, N)); b += 1
    except np.linalg.LinAlgError:
        continue
R['bootstrap_reps'] = int(B); R['seed'] = SEED
R['reweighted_ols_se'] = float(draws[:, 2].std(ddof=1))
d_rw, d_gap, d_res = draws[:, 2] - draws[:, 0], draws[:, 1] - draws[:, 0], draws[:, 1] - draws[:, 2]
R['reweight_contribution_se'] = float(d_rw.std(ddof=1))
R['reweight_contribution_ci_lo'] = float(np.percentile(d_rw, 2.5))
R['reweight_contribution_ci_hi'] = float(np.percentile(d_rw, 97.5))
R['gap_se_boot'] = float(d_gap.std(ddof=1))
R['gap_ci_lo'] = float(np.percentile(d_gap, 2.5))
R['gap_ci_hi'] = float(np.percentile(d_gap, 97.5))
R['gap_ci_contains_zero'] = bool(R['gap_ci_lo'] < 0 < R['gap_ci_hi'])
R['residual_gap'] = float(R['tsls'] - R['reweighted_ols'])
R['residual_gap_ci_lo'] = float(np.percentile(d_res, 2.5))
R['residual_gap_ci_hi'] = float(np.percentile(d_res, 97.5))
R['share_gap_explained_ci_hi'] = float(R['reweight_contribution_ci_hi'] / R['gap'])
R['share_gap_explained_ci_lo'] = float(R['reweight_contribution_ci_lo'] / R['gap'])

# ------------------------------------------- 5. probing the identifying assumption
BAL = ['IQ', 'KWW', 'fatheduc', 'motheduc', 'momdad14', 'sinmom14', 'step14', 'libcrd14']
print('balance and sensitivity checks')
for v in BAL:
    s = raw.dropna(subset=[v] + CTRL)
    mm = hc1(s[v], add_const(s, ['nearc4'] + CTRL))
    R[f'bal_{v}_b'] = float(mm.params['nearc4']); R[f'bal_{v}_se'] = float(mm.bse['nearc4'])
    R[f'bal_{v}_p'] = float(mm.pvalues['nearc4']); R[f'bal_{v}_n'] = int(len(s))

PRE = ['IQ', 'fatheduc', 'motheduc', 'momdad14', 'sinmom14', 'libcrd14']
s = raw.dropna(subset=PRE + CTRL)
mj = hc1(s.nearc4, add_const(s, PRE + CTRL))
ft = mj.f_test(', '.join(f'{v}=0' for v in PRE))
R['balance_joint_F'] = float(np.squeeze(ft.fvalue))
R['balance_joint_p'] = float(np.squeeze(ft.pvalue))
R['balance_joint_n'] = int(len(s)); R['balance_joint_df'] = int(len(PRE))

# over-identification with the two-year-college instrument
Zo = add_const(df, ['nearc4', 'nearc2'] + CTRL).to_numpy(float)
b2, se2, uo = tsls(lw, Xe.to_numpy(float), Zo)
R['tsls_overid'] = float(b2[1]); R['tsls_overid_se'] = float(se2[1])
sar = sm.OLS(uo, Zo).fit()
R['sargan_J'] = float(len(df) * sar.rsquared)
R['sargan_p'] = float(1 - stats.chi2.cdf(R['sargan_J'], 1))
m_fs2 = hc1(df.educ, add_const(df, ['nearc4', 'nearc2'] + CTRL))
R['fs_nearc2'] = float(m_fs2.params['nearc2']); R['fs_nearc2_se'] = float(m_fs2.bse['nearc2'])
R['fs_joint_F'] = float(np.squeeze(m_fs2.f_test('nearc4=0, nearc2=0').fvalue))

# Conley et al. plausibly-exogenous breakdown values, and a calibrated direct effect
R['delta_breakdown_ols'] = float(Rf - R['ols'] * P)
R['delta_breakdown_zero'] = float(Rf)
si = raw.dropna(subset=['IQ'] + CTRL)
mi = hc1(si.lwage, add_const(si, ['educ', 'IQ'] + CTRL))
R['iq_wage_return'] = float(mi.params['IQ']); R['iq_wage_return_se'] = float(mi.bse['IQ'])
R['iq_sample_n'] = int(len(si))
R['delta_iq_channel'] = float(R['iq_wage_return'] * R['bal_IQ_b'])
R['delta_iq_channel_ub'] = float(R['iq_wage_return'] * (R['bal_IQ_b'] + 1.96 * R['bal_IQ_se']))
R['delta_iq_share_of_breakdown'] = R['delta_iq_channel'] / R['delta_breakdown_ols']
R['delta_iq_ub_share_of_breakdown'] = R['delta_iq_channel_ub'] / R['delta_breakdown_ols']


# ------------------------------------------------------- 6. robustness of the decomposition
def reweighted(sch_cols, use_ctrl=True):
    Zl = add_const(df, ['nearc4'] + (CTRL if use_ctrl else []))
    p_ = np.array([hc1(df[c], Zl).params['nearc4'] for c in sch_cols])
    bb = hc1(df.lwage, add_const(df, sch_cols + CTRL))
    b_ = np.array([bb.params[c] for c in sch_cols])
    return float((p_ / p_.sum()) @ b_)


R['rw_nocov_weights'] = reweighted(SCH, use_ctrl=False)
df['sp_low11'] = np.minimum(df.educ, 11) - 1
S11 = ['sp_low11'] + [f'm{j}' for j in range(12, 19)]
R['rw_pool11'] = reweighted(S11)
df['sp_low7'] = np.minimum(df.educ, 7) - 1
for j in range(8, 10):
    df[f'm{j}'] = (df.educ >= j).astype(float)
S7 = ['sp_low7'] + [f'm{j}' for j in range(8, 19)]
R['rw_pool7'] = reweighted(S7)

R['hypothesis_supported'] = bool(
    R['reweight_contribution'] > 0 and R['reweight_contribution_ci_lo'] > 0
    and R['share_gap_explained'] >= 0.5)

R = {k: (float(v) if isinstance(v, (np.floating,)) else
         int(v) if isinstance(v, (np.integer,)) else
         bool(v) if isinstance(v, (np.bool_,)) else v) for k, v in R.items()}
bad = [k for k, v in R.items() if isinstance(v, float) and not np.isfinite(v)]
assert not bad, bad
print('OLS %.4f | 2SLS %.4f | reweighted OLS %.4f' % (R['ols'], R['tsls'], R['reweighted_ols']))
print('RESULT_JSON: ' + json.dumps(R))
Listing. experiment_v1.py

4.Analysis

Attempt 2Done

Analysis complete: experiment succeeded; hypothesis refuted; 18 key numbers.

Hypothesis refutedExperiment succeeded

Results and analysis

The script ran to completion on the first attempt (exit code 0, 4.7 seconds) against the real Card (1995) NLSYM extract. All 3,010 observations survive the sample filter: none of lwage, educ, nearc4, nearc2 or the Card control set is missing, so no rows were silently dropped. Mean schooling is 13.26 years (s.d. 2.68, range 1-18), mean log hourly earnings 6.262 (s.d. 0.444, mean wage 577.3 cents), mean potential experience 8.86 years and mean age 28.1. Sixty-eight percent of the men grew up near a four-year college and 44 percent near a two-year college; 23 percent are black, 71 percent live in an SMSA, 51 percent have at least 13 years of schooling and 27 percent at least 16. All standard errors are heteroskedasticity-robust (HC1); the data are an individual cross-section with no natural clustering dimension, so no clustering is applied.

BENCHMARKS. The canonical result replicates. OLS of log wages on years of schooling with experience, its square, race, region, and current and 1966 SMSA controls gives 0.0747 (0.0036)*** with R-squared 0.300, N = 3,010. The first stage of schooling on four-year-college proximity gives 0.3199 (0.0851)*, a robust F of 14.14 and R-squared 0.477; the reduced form gives 0.0421 (0.0175), R-squared 0.195. The just-identified 2SLS estimate is therefore 0.1315 (0.0541)**, which is 1.76 times the OLS coefficient - squarely inside the 25-60 percent excess Card reported and the stylised fact this study interrogates. The 2SLS standard error is fifteen times the OLS one.

IS THE GAP STATISTICALLY REAL? Before explaining the gap it is worth testing it. The Durbin-Wu-Hausman control-function statistic on the first-stage residual is t = -1.10 (p = 0.271): the null that schooling is exogenous, i.e. that the 2SLS and OLS estimands coincide, is not rejected. The pairs bootstrap (2,000 replications, seed 20260908) puts the gap at 0.0568 with a bootstrap standard error of 0.0610 and a percentile interval of [-0.0471, 0.1975], which contains zero. The weak-identification-robust Anderson-Rubin 95 percent set, obtained by grid inversion, is the contiguous interval [0.0285, 0.2810] and comfortably contains the OLS coefficient. On this sample the celebrated IV-OLS gap is a point estimate the data cannot distinguish from zero.

MARGIN WEIGHTS. Estimating the instrument-induced shift in the probability of reaching each schooling level recovers the Angrist-Imbens weights exactly: the seventeen margin-specific shifts sum to 0.31990, numerically equal to the first stage. Monotonicity is not a problem - only two of the seventeen shifts are negative, the most negative being -0.0026, and the largest absolute t-statistic among them is 0.51. The weight profile confirms and sharpens Kling's qualitative reading: 72.5 percent of the weight sits on post-secondary margins, the single largest weight is on the high-school-to-college transition (12 to 13 years, w = 0.199), and the three college-entry margins (12-13, 13-14, 14-15) together carry 51.4 percent. The bachelor's-completion margin (15 to 16 years) carries only 9.5 percent.

PER-MARGIN RETURNS. The wage equation saturated in schooling increments (ten schooling parameters, R-squared 0.309) recovers a sharply non-linear cross-sectional schedule: large premia at high-school completion (11 to 12 years, 0.1574 (0.0327)), at the bachelor's year (15 to 16, 0.2034 (0.0341)) and at 17 to 18 years (0.1480 (0.0453)***), but small or negative increments at 9 to 10 (-0.0268 (0.0463)), 13 to 14 (0.0363 (0.0316)), 14 to 15 (-0.0217 (0.0381)) and 16 to 17 (0.0065 (0.0396)). The degree-year premia the hypothesis relies on are real. The problem is where the instrument's weight lands relative to them. Averaging the cross-sectional schedule with the instrument's own weights, the college-entry margins are worth only 0.0384 per year and the post-secondary margins as a whole 0.0673, both below the 0.0780 per-year return the same weights imply for the pre-secondary margins and below the 0.0747 linear OLS coefficient.

THE DECOMPOSITION. The reweighted OLS estimate is 0.0703 (bootstrap s.e. 0.0088) against a linear OLS coefficient of 0.0747. Margin reweighting therefore moves the estimate by -0.0044 (bootstrap s.e. 0.0079), 95 percent percentile interval [-0.0219, 0.0093] - the wrong sign, and small. Expressed as a share of the 0.0568 gap, margin composition explains -7.8 percent, with a 95 percent interval of [-38.6, 16.4] percent. The upper end of that interval is a sixth of the gap, so the hypothesis that margin weighting accounts for at least half of it is decisively refuted, and this is the one conclusion in the paper that is estimated precisely: the reweighting contribution is a function of well-identified reduced-form objects and its standard error is 0.0079, an eighth of the 0.0610 attached to the gap itself. The residual gap that reweighting cannot explain is 0.0612, percentile interval [-0.0391, 0.2040]. The result is robust to the specification choices the decomposition requires: computing the weights without covariate adjustment gives 0.0721, pooling the sparse low margins at eleven years rather than nine gives 0.0728, and pooling at seven gives 0.0693. Every variant lies below or essentially at the linear OLS coefficient.

WHAT WOULD IT TAKE? Inverting the decomposition is instructive. To reconcile the schedule with the 2SLS point estimate, complier returns would have to exceed the cross-sectional schedule by 0.0845 at every post-secondary margin - college years worth roughly 15 percent each rather than the 6.7 percent the cross-section prices - or, if the whole discrepancy loaded on the bachelor's year alone, that single year would have to be worth 0.851 log points to compliers against 0.2034 in the cross-section. Neither magnitude is credible.

WHAT REMAINS. The exclusion restriction survives the checks the data permit. Conditional on the Card controls, proximity is unrelated to IQ (0.6733 (0.6791), p = 0.321, N = 2,061), father's education (0.2019 (0.1650), p = 0.221), mother's education (-0.0864 (0.1347), p = 0.521), living with both parents at 14 (-0.0224 (0.0181), p = 0.214), living with a single mother at 14 (0.0157 (0.0131), p = 0.230) and having a step-parent at 14 (-0.0075 (0.0092), p = 0.410); a library card at 14 is marginal (0.0373 (0.0195), p = 0.056), and the joint F test on the six predetermined characteristics is 1.14 (p = 0.336, N = 1,616). The one clearly significant imbalance is KWW (0.9583 (0.3419), p = 0.005), but KWW is administered at the 1976 survey and is plausibly a consequence of schooling, so it is not a valid balance test. Adding two-year-college proximity as a second instrument (first stage 0.1230 (0.0776); joint F 8.32) gives a 2SLS estimate of 0.1571 (0.0526) and a Sargan statistic of 1.25 (p = 0.264), which does not reject. Conley-Hansen-Rossi breakdown values sharpen the point: a direct effect of proximity on log wages of 0.0182 would drive 2SLS down to the OLS coefficient, and 0.0421 would drive it to zero. Calibrating the ability channel - the measured IQ imbalance of 0.673 points priced at the 0.00247 (0.00076) log-wage return per IQ point estimated conditional on schooling and controls - implies a direct effect of only 0.0017, 9.1 percent of the breakdown value, or 0.0049 at the upper end of the imbalance interval, 27.2 percent.

VERDICT. The hypothesis is refuted, and the refutation is sharp. Margin composition, the one explanation for IV exceeding OLS that requires neither heterogeneous returns nor an invalid instrument, explains none of the gap; it works slightly in the opposite direction, because college proximity moves men across the college-entry margins, where the cross-section prices schooling below average, rather than across the bachelor's-completion year, where the sheepskin premium sits. A measurable ability-based violation of the exclusion restriction is an order of magnitude too small to close the gap either. What the data do support is more deflationary: with a first-stage F of 14.14, the gap between 0.1315 and 0.0747 cannot be distinguished from sampling noise by any of the three tests applied (Durbin-Wu-Hausman p = 0.271; bootstrap interval for the gap containing zero; Anderson-Rubin set containing OLS). The most defensible reading of this canonical dataset is that the IV-OLS gap is a fact about a point estimate rather than about the world.

Key numbers

MetricValueInterpretation
OLS return to schooling0.0747 (0.0036), N = 3,010, R-squared 0.300Benchmark linear-in-years Mincer return, heteroskedasticity-robust standard error; 7.5 log points per year.
First stage on four-year-college proximity0.3199 (0.0851), robust F = 14.14, R-squared 0.477Proximity raises completed schooling by about a third of a year; the F is above the old rule of ten but well below what valid t-ratio inference requires.
Reduced form0.0421 (0.0175), R-squared 0.195Men who grew up near a four-year college earn 4.2 log points more, conditional on the Card controls.
Just-identified 2SLS return0.1315 (0.0541)1.76 times the OLS coefficient - the stylised fact the study interrogates.
2SLS minus OLS gap0.0568, bootstrap s.e. 0.0610, 95% percentile interval [-0.0471, 0.1975]The gap itself is not statistically distinguishable from zero.
Durbin-Wu-Hausman statistict = -1.10, p = 0.271The null that schooling is exogenous, so that the OLS and 2SLS estimands coincide, is not rejected.
Anderson-Rubin 95% confidence set[0.0285, 0.2810], contiguousWeak-identification-robust set for the return to schooling; it contains the OLS coefficient of 0.0747.
Angrist-Imbens weight on post-secondary margins0.725, with 0.199 on the 12-to-13 transition and 0.514 on the three college-entry marginsThe instrument moves men into college, not through it; the bachelor's-completion margin carries only 0.095 of the weight.
Cross-sectional return at the bachelor's margin0.2034 (0.0341) at 15 to 16 yearsThe sheepskin premium is real but sits at a margin the instrument barely moves.
Complier-weighted cross-sectional return at the entry margins0.0384 per year, against 0.0780 at the pre-secondary marginsThe margins the instrument moves are below-average-return margins in the cross-section, which is why reweighting lowers rather than raises the estimate.
Reweighted OLS estimate0.0703 (bootstrap s.e. 0.0088)Applying the instrument's own margin weights to the cross-sectional return schedule.
Reweighting contribution to the gap-0.0044 (0.0079), 95% interval [-0.0219, 0.0093]; share of gap -7.8%, interval [-38.6%, 16.4%]The headline refutation: margin composition explains none of the gap and at most 16 percent of it at the top of the interval, far short of the 50 percent the hypothesis required.
Robustness of the reweighted estimate0.0721 (weights without covariates), 0.0728 (low margins pooled at 11), 0.0693 (pooled at 7)Every variant lies at or below the 0.0747 linear OLS coefficient.
Complier return needed to reconcile 2SLS+0.0845 at every post-secondary margin, or 0.851 at the bachelor's year aloneThe magnitudes required for margin composition to work are not credible.
Joint balance test on predetermined characteristicsF(6) = 1.14, p = 0.336, N = 1,616IQ, parental education, family structure at 14 and library card at 14 are jointly unrelated to proximity conditional on the controls.
Sargan over-identification test adding two-year-college proximityJ = 1.25, p = 0.264; over-identified 2SLS 0.1571 (0.0526)The two proximity instruments are not rejected against each other.
Conley-Hansen-Rossi breakdown valuesdelta = 0.0182 to reach OLS, 0.0421 to reach zeroHow large a direct wage effect of proximity would have to be to erase the gap.
Calibrated ability-channel direct effect0.0017 (upper 95% bound 0.0049), i.e. 9.1% (27.2%) of the breakdown valueIQ imbalance of 0.673 points priced at 0.00247 (0.00076) per point; the measurable ability channel is far too small to explain the gap.

Caveats

  • The per-margin returns are cross-sectional OLS coefficients and are themselves subject to ability bias and selection into schooling levels. The decomposition holds that schedule fixed and asks how much of the gap is mechanical composition; it is a statement about the estimands actually computed, not a causal claim about margin-specific returns.
  • Following Blandhol, Bonney, Mogstad and Torgovitsky, linear-in-covariates 2SLS need not be a positively weighted average of local average treatment effects. The Angrist-Imbens weights reported here describe the estimand produced by the standard linear covariate adjustment used throughout this literature, not a nonparametrically saturated one.
  • The saturated wage equation pools all schooling increments at nine years and below into a single parameter because those cells are thin (educ = 1 through 8 covers 132 men). Those margins carry only 5.2 percent of the instrument's weight, and pooling instead at seven or eleven years leaves the conclusion unchanged, but the choice is a specification decision rather than a feature of the data.
  • First-stage F is 14.14. That clears the conventional threshold of ten but falls far short of what Lee, McCrary, Moreira and Porter show is needed for conventional t-ratio inference on a single instrument, so the Wald interval on 2SLS understates uncertainty and the Anderson-Rubin set is the reliable one.
  • The balance evidence is weak evidence of validity rather than proof: the joint test rests on 1,616 observations because IQ is missing for 949 men and parental education for several hundred, and IQ is measured in high school, so it is only partly predetermined relative to the college decision. The calibrated direct effect bounds one channel of exclusion violation, not all of them.
  • The one statistically significant imbalance, KWW (0.9583 (0.3419), p = 0.005), is measured at the 1976 survey and is plausibly an outcome of schooling, so it cannot be read as a failed balance test - but neither can it be dismissed as evidence that nothing runs from proximity to labour-market knowledge outside the schooling channel.
  • This is a single cross-section of 3,010 young American men interviewed in 1976. Nothing here speaks to women, to later cohorts, to other countries, or to instruments other than college proximity; the deflationary reading of the IV-OLS gap is a statement about this dataset.
  • Wages are hourly earnings in cents and the outcome is their natural log; sample selection into the wage sample is not modelled.
  • Because the gap between 2SLS and OLS is itself imprecisely estimated, the study can rule out margin composition as an explanation much more confidently than it can characterise what does explain the gap - the residual gap of 0.0612 has a bootstrap interval of [-0.0391, 0.2040] and is consistent with zero.

5.Paper writing

Attempt 4Done

Manuscript drafted: “Margin Composition and the IV–OLS Gap in the Return to Schooling” (≈ 4389 words).

Reviewer feedback applied: The referee recommends MAJOR REVISION. Required changes, quoted: (1) 'Correct the note to Table 5 so it describes the test that was run: the joint balance test regresses four-year-college proximity on IQ, father's schooling, mother's schooling, living with both parents at 14, living with a single mother at 14, and a library card at 14, plus the controls, and excludes both KWW and living with a step-parent at 14. The reported F(6) = 1.14, p = 0.336 and N = 1,616 stand.' (2) 'Make the composition term in log points the primary statistic: -0.0044, bootstrap standard error 0.0079, 95 percent percentile interval [-0.0219, 0.0093], against an observed gap of 0.0568 (0.0610). Either drop the percentage-of-gap framing from the abstract and introduction or state explicitly, in the text and in the note to Table 4, that the interval for the share is formed by dividing the bootstrap interval for the numerator by the point estimate of a denominator that is not significantly different from zero, so no valid interval for the ratio is reported.' (3) 'Requalify the abstract, the title claim and the opening of the conclusion so that what is refuted is composition of the estimated cross-sectional return schedule, and state there, not only in Section II and the appendix, that this decomposition cannot separate margin composition from a level shift in complier returns relative to the cross-section.' (4) 'State plainly where the weight profile is first reported, and again in the limitations, that no standard errors were computed for the individual margin shifts or for the aggregates 0.725, 0.514, 0.199 and 0.095, so the profile is a point estimate; note that the pairs bootstrap propagates weight uncertainty into the composition term but not into the reported weights. Do not add new estimates; disclose the omission.' (5) 'Report the weakness of the second instrument alongside the Sargan test, giving the two-year-college first stage of 0.1230 (0.0776) and the joint first-stage F of 8.32, and say that non-rejection at this power is uninformative rather than evidence for the exclusion restriction.' (6) 'Replace the comparison to the mean of the log wage with an economically meaningful interpretation of both the OLS and the 2SLS estimates, using the mean hourly wage of 577.3 cents and the 2.68-year standard deviation of schooling.' (7) 'Promote the Anderson-Rubin set [0.0285, 0.2810] into the body of Table 2 as the primary confidence set for the return to schooling, retaining the Wald interval [0.0254, 0.2376] for comparison, and justify the choice by the first-stage F of 14.14 and Lee et al. (2022).' (8) 'Move the limitations from the appendix into the body, at the end of Section V or the start of Section VI, and bring the manuscript within the stated length bound.' (9) 'Replace the priority claim -To our knowledge it never has been- with a statement of what the cited work does and does not report, for example that Kling (2001) characterises the instrument's margins qualitatively without computing the implied reweighted return.' Address every point substantively. Add no analysis that was not executed: points (2), (4) and (5) are disclosure and framing corrections using numbers already in the record.

≈ 4389 words · AI-drafted manuscript · not peer-reviewed

Margin Composition and the IV–OLS Gap in the Return to Schooling

Abstract

Instrumental-variables estimates of the return to schooling exceed ordinary least squares, and one benign explanation is that the instrument weights schooling margins differently from a linear specification. We test this on Card's 1976 National Longitudinal Survey of Young Men extract (N = 3,010). Reweighting the estimated cross-sectional return schedule by college proximity's Angrist–Imbens weights moves the return by −0.0044 (0.0079), against a gap of 0.0568 (0.0610). Composition of that schedule explains none of the gap, though it cannot be separated from a uniform level shift in complier returns. The gap itself is indistinguishable from zero.

JEL codes: C26, I26, J24, J31. Keywords: returns to schooling, instrumental variables, local average treatment effects, causal response function, college proximity, weak identification.

I. Introduction

Instrumental-variables estimates of the return to schooling built on supply-side variation are, as a rule, larger than the ordinary-least-squares estimates they are meant to correct. Card (1993) instruments schooling with an indicator for having grown up near a four-year college and finds returns 25 to 60 percent above OLS; Card (2001) documents the same ordering across a dozen designs. Under the textbook account, in which OLS is contaminated by omitted ability, the correction should run the other way. Four resolutions compete: heterogeneous complier returns (Imbens and Angrist 1994; Card 2001), composition of the schooling margins the instrument moves (Angrist and Imbens 1995), failure of the exclusion restriction, and weak identification (Bound, Jaeger, and Baker 1995; Lee et al. 2022).

Only one is benign. Angrist and Imbens (1995) show that with an ordered treatment and a binary instrument, two-stage least squares converges to a weighted average of per-unit causal effects across adjacent schooling margins, the weights given by the instrument-induced shift in the probability of reaching each level. Because the schooling–earnings profile is sharply non-linear — Jaeger and Page (1996) document large degree-year premia — two-stage least squares can exceed a linear-in-years coefficient with homogeneous per-margin effects and a valid instrument, so that channel should be netted out before the others are invoked. Kling (2001) reads the proximity instrument through this lens and finds it bites hardest at the high-school-to-college transition, but characterises the margins qualitatively and never computes the reweighted return the composition account implies. That is the arithmetic we supply.

We supply it on the 3,010-observation Card extract of the 1976 National Longitudinal Survey of Young Men, where OLS gives 0.0747 (0.0036) and just-identified two-stage least squares 0.1315 (0.0541): a ratio of 1.76 and a gap of 0.0568. Three findings follow. First, 0.725 of the instrument's weight is post-secondary but sits on entry rather than completion, the largest single weight (0.199) falling on the high-school-to-college transition and the three entry margins carrying 0.514 against 0.095 for bachelor's completion; the sheepskin premium the story needs, 0.2034 (0.0341) for the sixteenth year, is one the instrument barely touches. Second, the decomposition therefore fails: reweighting moves the return to 0.0703, a contribution of −0.0044 (0.0079), 95 percent percentile interval [−0.0219, 0.0093]. Third, the residual will not go to the exclusion restriction: the Conley, Hansen, and Rossi (2012) breakdown value of 0.0182 dwarfs the ability-implied direct effect of 0.0017.

Two qualifications belong here rather than in a footnote. What we refute is that composition of the estimated cross-sectional schedule reproduces two-stage least squares; the decomposition cannot separate that channel from complier returns exceeding the cross-section by a common amount at every margin. And the gap itself is fragile: at a first-stage FF of 14.14, Durbin–Wu–Hausman gives t=−1.10t = -1.10 (p=0.271p = 0.271), the bootstrap interval for the gap is [−0.0471, 0.1975], and the Anderson–Rubin set [0.0285, 0.2810] contains the OLS coefficient. Section II sets out the decomposition, Section III the data, Section IV the results, Section V robustness and limitations, and Section VI concludes.

II. Conceptual Framework

Let Si∈{1,…,18}S_i \in \{1,\dots,18\} be years of schooling, YiY_i log hourly earnings, ZiZ_i an indicator for growing up near a four-year college, and XiX_i a covariate vector; Yi(s)Y_i(s) is the potential wage at schooling ss and Si(z)S_i(z) potential schooling. Three assumptions organise what follows. (A1) Conditional independence: {Yi(s)}s,Si(1),Si(0)⊥Zi∣Xi\{Y_i(s)\}_s, S_i(1), S_i(0) \perp Z_i \mid X_i. (A2) Exclusion: ZiZ_i enters the wage equation only through SiS_i — the contested assumption, since proximity may proxy for urban location or family advantage. (A3) Monotonicity: Si(1)≥Si(0)S_i(1) \ge S_i(0) for every ii. Under (A1)–(A3), Angrist and Imbens (1995) show that two-stage least squares identifies

β2SLS  =  ∑jωj E ⁣[Yi(j)−Yi(j−1) | Si(1)≥j>Si(0)],ωj=πj∑kπk,(1)\beta^{\text{2SLS}} \;=\; \sum_{j} \omega_j \, \mathbb{E}\!\left[Y_i(j)-Y_i(j-1) \,\middle|\, S_i(1) \ge j > S_i(0)\right], \qquad \omega_j = \frac{\pi_j}{\sum_k \pi_k}, \tag{1}

where πj=P(Si(1)≥j)−P(Si(0)≥j)\pi_j = P(S_i(1) \ge j) - P(S_i(0) \ge j). Because S=∑j1{S≥j}S = \sum_j \mathbf{1}\{S \ge j\}, the shifts sum to the first stage, so under (A3) the weights are non-negative and sum to one; which margins receive weight is an empirical matter. The linear OLS coefficient is a different weighted average of the same schedule, and if the profile is non-linear the two weightings differ mechanically. Writing βjOLS\beta_j^{\text{OLS}} for the incremental cross-sectional return at margin jj and βlin\beta^{\text{lin}} for the linear coefficient, define βRW=∑jω^jβ^jOLS\beta^{\text{RW}} = \sum_j \widehat{\omega}_j \widehat{\beta}_j^{\text{OLS}} and decompose

β2SLS−βlin⏟observed gap  =  (βRW−βlin)⏟composition  +  (β2SLS−βRW)⏟residual.(2)\underbrace{\beta^{\text{2SLS}} - \beta^{\text{lin}}}_{\text{observed gap}} \;=\; \underbrace{\left(\beta^{\text{RW}} - \beta^{\text{lin}}\right)}_{\text{composition}} \;+\; \underbrace{\left(\beta^{\text{2SLS}} - \beta^{\text{RW}}\right)}_{\text{residual}}. \tag{2}

Computing the composition term requires neither (A2) nor any claim that βjOLS\beta_j^{\text{OLS}} is causal; reading it as the contribution of margin weighting requires only (A3). It is nonetheless a decomposition of estimands, and that bounds the interpretation twice over. The per-margin returns are cross-sectional contrasts, subject to ability bias and selection into schooling levels. And if complier returns exceed βjOLS\beta_j^{\text{OLS}} by a common amount cc at every margin, the residual absorbs cc while the composition term is unchanged: inside (2), composition and a uniform complier level shift are observationally equivalent, and only differential complier gains concentrated at particular margins are distinguished. Blandhol et al. (2022) add that with covariates entered linearly rather than saturated, two-stage least squares need not be a positively weighted average of local average treatment effects, so (1) describes the estimand the standard specification produces. The hypothesis is that composition carries at least half the gap; it is falsified if the contribution is near zero, negative, or bounded well below half.

III. Data and Empirical Strategy

A. Data

We use the Card (1993) extract of the U.S. National Longitudinal Survey of Young Men, distributed as card.csv in the R package wooldridge and mirrored by the Rdatasets archive at https://vincentarelbundock.github.io/Rdatasets/csv/wooldridge/card.csv, retrieved 8 September 2026 (sha256 326dad817467b20d…) under GPL-3: 3,010 observations on young American men interviewed in the 1976 wave.

The outcome lwage is the log of average hourly earnings in cents; educ is completed years of schooling, ranging from 1 to 18; nearc4 and nearc2 indicate growing up near a four-year and a two-year college. The fourteen controls are potential experience and its square in years, indicators for being black and for current residence in the South and in a metropolitan area, eight 1966 region-of-residence indicators (reg661–reg668, reg669 omitted), and 1966 metropolitan residence. Balance checks additionally use the IQ and KWW test scores, parental schooling in years, family structure at 14, and holding a library card at 14. The sample filter is one listwise deletion on these outcome, treatment, instrument and control variables; none is missing, so the estimation sample is all 3,010 observations. Item non-response affects only the auxiliary variables — IQ is observed for 2,061 men — and each balance regression runs on its own complete-case sample.

Table 1—Descriptive Statistics, Card NLSYM Extract, 1976 Wave

VariableMeanStd. dev.
Log hourly earnings6.2620.444
Hourly earnings (cents)577.28262.96
Years of schooling13.2632.677
Potential experience (years)8.8564.142
Grew up near a four-year / two-year college0.682 / 0.441—
Black0.234—
Lives in an SMSA / lived in an SMSA in 19660.713 / 0.650—

Notes: N = 3,010, the full estimation sample; no observations are lost to the filter. Standard deviations omitted for binary indicators. Mean age is 28.1 years; 0.505 have at least 13 years of schooling and 0.271 at least 16. Data: Card (1993) NLSYM extract, Rdatasets archive, retrieved 8 September 2026.

B. Estimating Equations

The Mincer benchmark, first stage and reduced form are, respectively,

Yi=α+βSi+Xi′γ+ui,Si=π0+πZi+Xi′δ+vi,Yi=ρ0+ρZi+Xi′ψ+ei,(3)Y_i = \alpha + \beta S_i + X_i'\gamma + u_i, \qquad S_i = \pi_0 + \pi Z_i + X_i'\delta + v_i, \qquad Y_i = \rho_0 + \rho Z_i + X_i'\psi + e_i, \tag{3}

with β^2SLS=ρ^/π^\widehat{\beta}^{\text{2SLS}} = \widehat{\rho}/\widehat{\pi}. Margin shifts come from linear probability models,

1{Si≥j}=π0j+πjZi+Xi′δj+vij,(4)\mathbf{1}\{S_i \ge j\} = \pi_{0j} + \pi_j Z_i + X_i'\delta_j + v_{ij}, \tag{4}

so ∑jπ^j=π^\sum_j \widehat{\pi}_j = \widehat{\pi} holds exactly by linearity. The return schedule comes from a wage equation saturated in schooling increments,

Yi=a+βlow[min⁡(Si,9)−1]+∑j=1018βj1{Si≥j}+Xi′γ+εi,(5)Y_i = a + \beta_{\text{low}}\left[\min(S_i,9)-1\right] + \sum_{j=10}^{18} \beta_j \mathbf{1}\{S_i \ge j\} + X_i'\gamma + \varepsilon_i, \tag{5}

in which each βj\beta_j is the incremental return to crossing margin jj. Margins at nine years and below are pooled because those cells are thin; they carry 5.2 percent of the weight, and Section V varies the pooling point.

Standard errors are heteroskedasticity-robust (HC1); the data are an individual cross-section with no natural clustering dimension, so no clustering is applied. Inference on the decomposition uses a pairs bootstrap over individuals, 2,000 replications, seed 20260908. Because Lee et al. (2022) show conventional tt-ratio inference on a single instrument to be unreliable at this first-stage strength, the primary interval for β\beta is the Anderson–Rubin 95 percent set, from inverting the reduced-form test on a grid of width 0.0005 over [−1,1][-1,1]; the Wald interval is reported only for comparison.

IV. Results

A. Benchmarks and Whether the Gap Is Real

Table 2 reproduces the canonical result. OLS gives 0.0747 (0.0036): a year of schooling raises hourly earnings by 7.8 percent (e0.0747−1e^{0.0747}-1), about 45 cents at the sample mean of 577.3 cents, and a one-standard-deviation increase of 2.68 years raises them by 22 percent. The first stage is 0.3199 (0.0851) — about a third of a year — with robust FF = 14.14, and the reduced form is 0.0421 (0.0175), so two-stage least squares is 0.1315 (0.0541): 14.1 percent a year, some 81 cents an hour, and 1.76 times OLS, inside the 25–60 percent excess Card (1993) reported. The two estimates differ by 36 cents an hour per year of schooling.

Table 2—Benchmark Estimates of the Return to Schooling

(1) OLS(2) First stage(3) Reduced form(4) 2SLS
Dependent variableLog wageYears of schoolingLog wageLog wage
Years of schooling0.0747*** (0.0036)0.1315** (0.0541)
Grew up near four-year college0.3199*** (0.0851)0.0421** (0.0175)
Anderson–Rubin 95% set[0.0285, 0.2810]
Wald 95% interval[0.0254, 0.2376]
Observations3,0103,0103,0103,010
R²0.3000.4770.195—
First-stage robust F14.1414.14

Notes: HC1 standard errors in parentheses; no clustering (individual cross-section). All columns control for experience and its square, black, residence in the South and in an SMSA, eight 1966 region indicators and 1966 SMSA residence. Column 4 is just-identified 2SLS; its Anderson–Rubin set is contiguous, is the primary interval given FF = 14.14 (Lee et al. 2022), and contains the OLS coefficient. *, **, *** denote 10, 5 and 1 percent significance.

Before explaining the gap it is worth testing it. The Durbin–Wu–Hausman control-function statistic on the first-stage residual is t=−1.10t = -1.10 (p=0.271p = 0.271): exogeneity of schooling, hence equality of the two estimands, is not rejected, and the bootstrap puts the gap at 0.0568 (0.0610), percentile interval [−0.0471, 0.1975]. The puzzle is a difference of point estimates the sample cannot resolve, and everything below should be read in that light.

B. Which Margins the Instrument Moves

Table 3 reports the shifts, the implied weights and the cross-sectional return at each margin. The shifts sum to 0.31990, numerically identical to the first stage.

Table 3—Angrist–Imbens Margin Weights and Cross-Sectional Returns

Margin (years)Shift π^j\widehat{\pi}_jWeight ω^j\widehat{\omega}_jCross-sectional return β^jOLS\widehat{\beta}_j^{\text{OLS}}
Up to 9 (pooled, per year)0.01670.0520.0601*** (0.0161)
9 → 100.02420.076−0.0268 (0.0463)
10 → 110.02040.0640.1134*** (0.0421)
11 → 120.02670.0830.1574*** (0.0327)
12 → 130.06360.1990.0820*** (0.0236)
13 → 140.05680.1780.0363 (0.0316)
14 → 150.04410.138−0.0217 (0.0381)
15 → 160.03020.0950.2034*** (0.0341)
16 → 170.01660.0520.0065 (0.0396)
17 → 180.02050.0640.1480*** (0.0453)

Notes: N = 3,010; Table 2 controls throughout. Column 2 is the coefficient on four-year-college proximity in a linear probability model for reaching each level, equation (4); column 3 normalises the shifts to one. Column 4 is the incremental return from the saturated wage equation (5), ten schooling parameters, R² = 0.309, HC1 standard errors in parentheses. Margins at nine years and below are pooled. No standard errors were computed for columns 2 and 3, which are point estimates; the pairs bootstrap of Table 4 re-estimates the weights in every replication, so their sampling variation enters the composition term but is not reported for the weights. *, **, *** denote 10, 5 and 1 percent significance.

The weight profile is post-secondary but front-loaded: 0.725 lies at thirteen years and above, the largest single weight (0.199) is on the high-school-to-college transition, and the three entry margins carry 0.514 against 0.095 for bachelor's completion — sharpening Kling's (2001) qualitative reading. These aggregates decompose a first stage of 0.3199 (0.0851) and carry no inference of their own, so they are a point-estimated profile rather than precisely located weight.

The return schedule is as the sheepskin literature predicts: large premia at high-school completion (0.1574) and at the bachelor's year (0.2034, a 22.6 percent premium for the sixteenth year), consistent with Jaeger and Page (1996), but little in between — 0.0363 at 13→14 and −0.0217 at 14→15, neither distinguishable from zero. The two patterns are misaligned. Averaged with the instrument's weights, the entry margins are worth 0.0384 a year and the post-secondary margins 0.0673, both below the 0.0780 those weights imply for the pre-secondary margins and below the 0.0747 linear coefficient. College proximity moves men into college rather than through it, and the cross-section does not price entry.

C. The Decomposition

Table 4 executes equation (2). The reweighted estimate is 0.0703 (0.0088), so composition contributes −0.0044 (0.0079), 95 percent percentile interval [−0.0219, 0.0093]. That is the paper's primary statistic: reweighting is worth under three cents an hour per year of schooling against a gap worth about 36 cents, and even the most favourable end of the interval, 0.0093, is a sixth of the gap. The hypothesis that composition carries at least half of it is refuted with precision — the standard error on the composition term is an eighth of the one on the gap, because it is built from well-identified reduced-form objects rather than a ratio with a noisy denominator.

Table 4—Decomposing the 2SLS–OLS Gap

EstimateStd. error95% percentile interval
Linear OLS, βlin\beta^{\text{lin}}0.07470.0036—
Reweighted OLS, βRW\beta^{\text{RW}}0.07030.0088—
Two-stage least squares, β2SLS\beta^{\text{2SLS}}0.13150.0541[0.0285, 0.2810]
Observed gap, β2SLS−βlin\beta^{\text{2SLS}} - \beta^{\text{lin}}0.05680.0610[−0.0471, 0.1975]
Composition, βRW−βlin\beta^{\text{RW}} - \beta^{\text{lin}}−0.00440.0079[−0.0219, 0.0093]
Residual, β2SLS−βRW\beta^{\text{2SLS}} - \beta^{\text{RW}}0.0612—[−0.0391, 0.2040]
Memorandum: composition ÷ gap−0.078—[−0.386, 0.164]

Notes: N = 3,010. Rows 1 and 3 reproduce Table 2, columns 1 and 4, with analytic HC1 standard errors; row 3's interval is the Anderson–Rubin set. Row 2 applies the Table 3 weights to the Table 3 returns. Rows 2 and 4–6 use a pairs bootstrap, 2,000 replications, seed 20260908, re-estimating every component in each replication. The memorandum row divides the composition term and its interval endpoints by the point estimate of the gap; that denominator is not significantly different from zero, so this is not a valid interval for the ratio and none is reported. Row 2 under alternatives: weights without covariate adjustment, 0.0721; low margins pooled at eleven years, 0.0728; at seven, 0.0693.

Inverting the decomposition shows how far the story is from working. Reconciling 0.1315 with the schedule needs complier returns exceeding the cross-section by 0.0845 at every post-secondary margin — 0.152 log points a year rather than the 0.067 priced — or, loading it all on the bachelor's year, that year worth 0.851 log points against 0.2034. Neither is credible as margin composition, though a uniform complier premium of that size would sit undetected in the residual.

V. Robustness and Heterogeneity

Monotonicity. (A3) requires every margin-specific shift to be weakly positive. Of the seventeen margins only two are negative, the most negative −0.0026, largest absolute tt-statistic 0.51, so the Table 3 weights are a proper averaging.

Specification. The decomposition's two discretionary choices matter little: weights without covariate adjustment give 0.0721, pooling the low margins at eleven years 0.0728, at seven 0.0693 — all at or below the 0.0747 linear coefficient, so the composition term is not an artefact of how the bottom of the schooling distribution is handled.

Threats to identification. Table 5 collects the checks on (A2). Conditional on the controls, proximity is unrelated to IQ, parental schooling and family structure at fourteen; the joint test on six predetermined characteristics gives F(6)=1.14F(6) = 1.14 (p=0.336p = 0.336) on the 1,616 men for whom all six are observed, and a library card at fourteen is marginal (p=0.056p = 0.056). The one clearly significant imbalance is KWW, but it is administered at the 1976 interview and is plausibly a consequence of schooling, so it is not a valid balance test — nor, by the same token, evidence against a channel from proximity to labour-market knowledge outside schooling.

Table 5—Threats to the Exclusion Restriction

Panel A: balance of characteristics on proximityCoefficientStd. errorpp-valueN
IQ score0.67330.67910.3212,061
Father's schooling (years)0.20190.16500.2212,320
Mother's schooling (years)−0.08640.13470.5212,657
Lived with both parents at 14−0.02240.01810.2143,010
Lived with single mother at 140.01570.01310.2303,010
Lived with step-parent at 14−0.00750.00920.4103,010
Library card at 140.03730.01950.0562,997
KWW score (measured in 1976)0.95830.34190.0052,963
Joint test, six predetermined characteristicsF = 1.14—0.3361,616
Panel B: over-identification and sensitivityValue
First stage on two-year-college proximity; joint first-stage F0.1230 (0.0776); 8.32
Over-identified 2SLS estimate0.1571*** (0.0526)
Sargan statistic (1 d.f.); pp-value1.25; 0.264
Breakdown δ\delta: 2SLS to the OLS estimate; to zero0.0182; 0.0421
Log-wage return per IQ point, given schooling and controls0.00247 (0.00076), N = 2,061
Implied ability-channel δ\delta (share of breakdown)0.0017 (9.1%)
Same, at the upper 95% bound of the IQ imbalance0.0049 (27.2%)

Notes: HC1 standard errors; no clustering; Table 2 controls throughout. Panel A regresses each characteristic on four-year-college proximity on its complete-case sample. The joint test instead regresses proximity on six predetermined characteristics — IQ, father's and mother's schooling, living with both parents at 14, living with a single mother at 14, and a library card at 14 — and tests them jointly; it excludes both KWW, which post-dates schooling, and living with a step-parent at 14. Panel B follows Conley, Hansen, and Rossi (2012): with a direct effect δ\delta of proximity on log wages, β(δ)=(ρ^−δ)/π^\beta(\delta) = (\widehat{\rho}-\delta)/\widehat{\pi}, so the breakdown values solve β(δ)=0.0747\beta(\delta) = 0.0747 and β(δ)=0\beta(\delta) = 0. The implied δ\delta multiplies the Panel A IQ imbalance by the log-wage return per IQ point. *, **, *** denote 10, 5 and 1 percent significance.

Adding two-year-college proximity as a second instrument gives an over-identified estimate of 0.1571 (0.0526) and a Sargan statistic of 1.25 (p=0.264p = 0.264), which does not reject. We do not read that as support for (A2): the added instrument is weak — first stage 0.1230 (0.0776), joint FF of 8.32, below the 14.14 from four-year proximity alone — so the test has little power and its non-rejection is close to uninformative. The sensitivity analysis carries more weight. A direct wage effect of 0.0182 would erase the gap; the only channel we can price, proximity's association with measured ability, implies 0.0017, nine percent of that, or 0.0049 at the upper end of the imbalance interval. A violation large enough to explain the gap would run almost entirely through channels the survey does not measure.

Heterogeneity. We estimated no subgroup returns: splitting a sample whose first-stage FF is 14.14 by parental education would leave first stages too weak to interpret, and father's schooling is missing for 690 men in a way unlikely to be random. Whether compliers are the credit-constrained men of Card's (2001) model or the positively selected entrants of Carneiro, Heckman, and Vytlacil (2011) remains open.

Limitations. Five restrictions bound what this study establishes. First, the per-margin returns in Table 3 are cross-sectional contrasts, not causal effects; the decomposition holds that schedule fixed and cannot distinguish composition from a uniform level shift in complier returns. Second, following Blandhol et al. (2022), linear covariate adjustment does not guarantee that 2SLS is a positively weighted average of local average treatment effects. Third, no inference was computed for the margin shifts or the aggregates 0.725, 0.514, 0.199 and 0.095, so the weight profile — the paper's mechanism — is a point estimate. Fourth, the balance evidence is weak evidence of validity, not proof: the joint test rests on 1,616 observations because IQ is missing for 949 men, IQ is measured in high school and so is only partly predetermined relative to the college decision, and the calibrated direct effect bounds one channel of violation rather than all. Fifth, this is a single cross-section of 3,010 young American men interviewed in 1976, with earnings observed only for those reporting them and no modelling of selection into the wage sample; nothing here speaks to women, later cohorts, other countries, or other instruments.

VI. Conclusion

The excess of instrumental-variables over ordinary-least-squares returns to schooling has three troubling explanations and one benign one. We have measured the benign one, over the estimands it is defined on, and found it empty. Reweighting the estimated cross-sectional schedule by the instrument's own Angrist–Imbens weights moves the return by −0.0044 (0.0079) against a gap of 0.0568, because the instrument concentrates on college-entry margins the cross-section prices at 0.0384 a year rather than on the bachelor's year it prices at 0.2034. That is silent on a complier premium spread evenly across margins; what it rules out is the mechanical, no-heterogeneity account.

The rest the data cannot settle. A measurable exclusion violation through ability is an order of magnitude too small, but the gap itself is not distinguishable from zero by any of our three tests. For a literature that has spent three decades theorising about why IV exceeds OLS here, the more disciplined reading is that the ordering is a property of two point estimates whose difference 3,010 men cannot resolve. Progress will come from stronger first stages, not from further explanations of a gap that may not be there.

References

Angrist, Joshua D., and Guido W. Imbens. 1995. "Two-Stage Least Squares Estimation of Average Causal Effects in Models with Variable Treatment Intensity." Journal of the American Statistical Association 90 (430): 431–442. https://www.nber.org/papers/t0127.

Blandhol, Christine, John Bonney, Magne Mogstad, and Alexander Torgovitsky. 2022. "When is TSLS Actually LATE?" NBER Working Paper 29709. https://www.nber.org/papers/w29709.

Bound, John, David A. Jaeger, and Regina M. Baker. 1995. "Problems with Instrumental Variables Estimation when the Correlation between the Instruments and the Endogenous Explanatory Variable is Weak." Journal of the American Statistical Association 90 (430): 443–450. https://www.nber.org/papers/t0137.

Card, David. 1993. "Using Geographic Variation in College Proximity to Estimate the Return to Schooling." NBER Working Paper 4483. https://www.nber.org/papers/w4483.

Card, David. 2001. "Estimating the Return to Schooling: Progress on Some Persistent Econometric Problems." Econometrica 69 (5): 1127–1160. https://ideas.repec.org/a/ecm/emetrp/v69y2001i5p1127-60.html.

Carneiro, Pedro, James J. Heckman, and Edward J. Vytlacil. 2011. "Estimating Marginal Returns to Education." American Economic Review 101 (6): 2754–2781. https://www.aeaweb.org/articles?id=10.1257/aer.101.6.2754.

Conley, Timothy G., Christian B. Hansen, and Peter E. Rossi. 2012. "Plausibly Exogenous." Review of Economics and Statistics 94 (1): 260–272. https://ideas.repec.org/a/tpr/restat/v94y2012i1p260-272.html.

Imbens, Guido W., and Joshua D. Angrist. 1994. "Identification and Estimation of Local Average Treatment Effects." Econometrica 62 (2): 467–475. https://ideas.repec.org/a/ecm/emetrp/v62y1994i2p467-75.html.

Jaeger, David A., and Marianne E. Page. 1996. "Degrees Matter: New Evidence on Sheepskin Effects in the Returns to Education." Review of Economics and Statistics 78 (4): 733–740. https://ideas.repec.org/a/tpr/restat/v78y1996i4p733-40.html.

Kling, Jeffrey R. 2001. "Interpreting Instrumental Variables Estimates of the Returns to Schooling." Journal of Business and Economic Statistics 19 (3): 358–364. https://ideas.repec.org/a/bes/jnlbes/v19y2001i3p358-64.html.

Lee, David S., Justin McCrary, Marcelo J. Moreira, and Jack Porter. 2022. "Valid t-Ratio Inference for IV." American Economic Review 112 (10): 3260–3290. https://www.aeaweb.org/articles?id=10.1257/aer.20211063.

Data: Card, David. 1995. "Using Geographic Variation in College Proximity to Estimate the Return to Schooling." In Aspects of Labour Market Behaviour: Essays in Honour of John Vanderkamp, edited by Louis N. Christofides, E. Kenneth Grant, and Robert Swidinsky, 201–222. Toronto: University of Toronto Press. Extract distributed with Wooldridge, Jeffrey M., Introductory Econometrics: A Modern Approach, via the Rdatasets archive, https://vincentarelbundock.github.io/Rdatasets/csv/wooldridge/card.csv, retrieved 8 September 2026.

6.Review

Attempt 2Done

Automated review: Minor revision (novelty 4, rigor 4, clarity 4, reproducibility 5).

Minor revision
Novelty 4/5Rigor 4/5Clarity 4/5Reproducibility 5/5

The revision addresses eight of the nine required changes fully and the ninth in part. The Table 5 note now describes the joint balance test that was actually run, which removes the manuscript-versus-record mismatch and lifts the cap on rigor. The share-of-gap statistic has been demoted to a labelled memorandum row and the composition term in log points, -0.0044 (0.0079), [-0.0219, 0.0093], is now the headline throughout; the abstract, title and conclusion no longer claim more than the decomposition identifies, and the paper states clearly that composition and a uniform complier level shift are observationally equivalent within it. The absence of inference on the margin weights is disclosed in the table, in the text and in the limitations; the Sargan test is presented with its weak second instrument and its want of power; the Anderson-Rubin set has become the primary interval in Table 2; magnitudes are interpreted in cents and percentages rather than against the mean of a logarithm; the limitations sit in the body; and the priority claim has been replaced by a statement of what Kling (2001) does and does not report. I re-checked the manuscript against the executed script and the data provenance and found no remaining discrepancy: the dataset, its source and retrieval, the 3,010-observation sample with no rows dropped, the control set, the estimators, the seed and the replication count all match. What remains is housekeeping. The paper is longer than the version I first read despite the instruction to shorten it, though its main text is inside the band; the composition caveat is repeated three times; and the residual gap, which is what the exercise hands to future work, is tabulated but never discussed. Fix those and I would be content to see this published. The finding is a genuine and carefully bounded negative result: margin composition, the one explanation for IV exceeding OLS that needs neither heterogeneity nor an invalid instrument, does not survive contact with the arithmetic, and the gap it was invoked to explain cannot itself be distinguished from noise.

Strengths

  • The mismatch that capped rigor in the first round is fixed. The note to Table 5 now states that the joint test regresses proximity on IQ, father's and mother's schooling, living with both parents at 14, living with a single mother at 14, and a library card at 14, and that it excludes both KWW and living with a step-parent at 14. That is exactly the specification executed, and F(6) = 1.14, p = 0.336, N = 1,616 are unchanged. Checking the rest of the manuscript against the record, every quantitative claim traces to the executed run: the benchmarks, the seventeen margin shifts and ten saturated coefficients, the bootstrap objects, the balance panel, the Sargan and breakdown quantities. The only numerals not drawn from it are publication years and Card's own 25-to-60-percent range, quoted from the literature.
  • The inference problem is now handled honestly. The composition term in log points, -0.0044 (0.0079), [-0.0219, 0.0093], is stated as the primary statistic in the abstract, the introduction and Section IV.C, and the share-of-gap figure has been demoted to a memorandum row whose note says plainly that it divides by the point estimate of a denominator not significantly different from zero and that no valid interval for the ratio is reported. That is the right disposition: the informative statistic is promoted and the fragile one is kept but labelled.
  • The claim now matches the design. The title is neutral, the abstract says composition 'of that schedule' explains none of the gap and adds that it cannot be separated from a uniform level shift in complier returns, and Section II gives the reason: if complier returns exceed the cross-sectional contrasts by a common amount c, the residual absorbs c while the composition term is unchanged, so (2) distinguishes composition only from differential complier gains. The conclusion carries the same qualification. This is a more limited claim than the first draft made and a defensible one.
  • The absence of inference on the weights is now disclosed three times over: in bold in the note to Table 3, in the text where the profile is first read, and in the limitations. The disclosure is precise about what the bootstrap does and does not do, namely that it re-estimates the weights in every replication so their variation reaches the composition term but is not reported for the weights themselves.
  • The over-identification evidence is no longer oversold. The paper now reports the second instrument's first stage of 0.1230 (0.0776) and the joint F of 8.32, below the 14.14 from four-year proximity alone, and states that the Sargan non-rejection is close to uninformative at that power rather than supportive of the exclusion restriction. The Anderson-Rubin set has been promoted into the body of Table 2 as the primary interval, with the Wald interval retained beneath it for comparison and the choice justified by Lee et al. (2022).
  • Magnitudes are now economic. A year of schooling is 7.8 percent, about 45 cents at the sample mean of 577.3 cents, and 22 percent for a one-standard-deviation increase of 2.68 years; 2SLS is 14.1 percent a year, some 81 cents; the two estimates differ by 36 cents an hour; the composition term is worth under three cents. The meaningless comparison to the mean of the log wage is gone.
  • The paper still leads with the question of whether the gap exists at all — Durbin-Wu-Hausman t = -1.10 (p = 0.271), bootstrap interval [-0.0471, 0.1975], Anderson-Rubin set [0.0285, 0.2810] containing the OLS coefficient — and the limitations, now in the body at the end of Section V rather than in an appendix, name the real weaknesses without hedging: cross-sectional per-margin returns, the Blandhol et al. (2022) caveat, no inference on the weights, balance evidence resting on 1,616 observations because IQ is missing for 949 men, and a single 1976 cross-section of young American men.

Weaknesses

  • Length is the one required change only half met. The limitations have been moved into the body and the appendix removed, which was the substantive half, but the manuscript is not shorter: it runs to roughly 4,390 words against about 4,250 in the first submission. The main text excluding tables, table notes and references is about 2,810 words and does sit inside the stated 2,600-3,600 band, so on the convention this venue uses for word counts the paper is within bound; but the author should say nothing about that and simply tighten. Section II's second paragraph and the notes to Tables 3, 4 and 5 are the obvious places to recover a further two hundred words without losing a disclosure.
  • The decomposition's central limitation is now stated three times — in the introduction, in Section II, and in the conclusion — in nearly the same words. One full statement in Section II with a pointer from the abstract would read better and would pay for some of the length.
  • Table 3's fourth column carries significance stars for the saturated coefficients while columns 2 and 3 carry no inference at all. That asymmetry is disclosed, but a reader scanning the table may still take the weights as comparably estimated. A visual marker in the column headings, not only in the note, would help.
  • The paper reports the residual gap of 0.0612 with interval [-0.0391, 0.2040] in Table 4 but never discusses it in the text. Since the residual is what the whole exercise leaves unexplained, and since its interval contains zero, one sentence acknowledging that the object the paper hands to future work is itself unidentified would close the argument properly.
  • Minor: the abstract's last sentence, 'The gap itself is indistinguishable from zero', is the paper's most consequential claim about this literature and is asserted without the evidence that supports it. Naming one of the three tests would cost four words.

Required changes

  • Tighten the manuscript by roughly two hundred words so the total, not only the main text, falls below the length of the first submission. Take them from the duplicated statement of the composition-versus-level-shift caveat, which appears in the introduction, Section II and the conclusion and needs to appear in full only once, and from the notes to Tables 3, 4 and 5. Do not remove any of the disclosures added in this revision.
  • Add one sentence in Section IV.C on the residual gap of 0.0612, [-0.0391, 0.2040], noting that what the decomposition leaves unexplained is itself not distinguishable from zero.
  • Name the supporting test in the abstract's closing claim, for example that the Anderson-Rubin set contains the OLS coefficient.

Record

§Event timeline

  1. Run createdQuestion: “Why is the college-proximity IV estimate of the return to schooling nearly twice the OLS estimate? Testing whether the gap is an Angrist-Imbens margin-weighting artefact” · output language: English · venue: Economics · American Economic Review · models: agent:claude-opus-5
  2. Stage started · Literature reviewAttempt 1 · agent:claude-opus-5
  3. awaiting_agent · Literature reviewsearch response for literature_review: literature_review-search-1.response.json
  4. Resume requested
  5. Stage started · Literature reviewAttempt 2 · agent:claude-opus-5
  6. Search complete · Literature review17 sources · 9,814 characters of notes
  7. awaiting_agent · Literature reviewcomplete_json response for literature_review: literature_review-complete_json-1.response.json
  8. Resume requested
  9. Stage started · Literature reviewAttempt 3 · agent:claude-opus-5
  10. Search complete · Literature review17 sources · 9,814 characters of notes
  11. Stage completed · Literature review
  12. Stage started · IdeationAttempt 1 · agent:claude-opus-5
  13. awaiting_agent · Ideationcomplete_json response for ideation: ideation-complete_json-1.response.json
  14. Resume requested
  15. Stage started · IdeationAttempt 2 · agent:claude-opus-5
  16. Awaiting approval · Ideation
  17. Approved · IdeationIdea 1 selected
  18. Stage started · ExperimentationAttempt 1 · agent:claude-opus-5
  19. Dataset provisioned · Experimentationcard_college_proximity · 3,010 observations · 34 variables · sha256 326dad817467
  20. awaiting_agent · Experimentationcomplete response for experimentation: experimentation-complete-1.response.txt
  21. Resume requested
  22. Stage started · ExperimentationAttempt 2 · agent:claude-opus-5
  23. Dataset provisioned · Experimentationcard_college_proximity · 3,010 observations · 34 variables · sha256 326dad817467
  24. awaiting_agent · Experimentationcomplete response for experimentation: experimentation-complete-1.response.txt
  25. Resume requested
  26. Stage started · ExperimentationAttempt 3 · agent:claude-opus-5
  27. Dataset provisioned · Experimentationcard_college_proximity · 3,010 observations · 34 variables · sha256 326dad817467
  28. Experiment round · ExperimentationRound 1: exit 0; result parsed (4.655s)
  29. Stage completed · Experimentation
  30. Stage started · AnalysisAttempt 1 · agent:claude-opus-5
  31. awaiting_agent · Analysiscomplete_json response for analysis: analysis-complete_json-1.response.json
  32. Resume requested
  33. Stage started · AnalysisAttempt 2 · agent:claude-opus-5
  34. Stage completed · Analysis
  35. Stage started · Paper writingAttempt 1 · agent:claude-opus-5
  36. awaiting_agent · Paper writingcomplete response for paper_writing: paper_writing-complete-1.response.txt
  37. Resume requested
  38. Stage started · Paper writingAttempt 2 · agent:claude-opus-5
  39. Stage completed · Paper writing
  40. Stage started · ReviewAttempt 1 · agent:claude-opus-5
  41. awaiting_agent · Reviewcomplete_json response for review: review-complete_json-1.response.json
  42. Resume requested
  43. Stage started · ReviewAttempt 2 · agent:claude-opus-5
  44. Awaiting approval · Review
  45. Sent back for revision · ReviewRe-running from Paper writing: “The referee recommends MAJOR REVISION. Required changes, quoted:\n(1) 'Correct the note to Table 5 so it describes the test that was run: the joint balance test regresses four-year-college proximity on”
  46. Stage started · Paper writingAttempt 3 · agent:claude-opus-5
  47. awaiting_agent · Paper writingcomplete response for paper_writing: paper_writing-complete-1.response.txt
  48. Resume requested
  49. Stage started · Paper writingAttempt 4 · agent:claude-opus-5
  50. Stage completed · Paper writing
  51. Stage started · ReviewAttempt 1 · agent:claude-opus-5
  52. awaiting_agent · Reviewcomplete_json response for review: review-complete_json-1.response.json
  53. Resume requested
  54. Stage started · ReviewAttempt 2 · agent:claude-opus-5
  55. Awaiting approval · Review
  56. Approved · Review
  57. Run completereport=/private/tmp/claude-501/-Users-haodingresearch-Desktop-auto-research/579004ae-5819-417d-918c-9d9409997567/scratchpad/studies/economics-en/runs/e968530de670/REPORT.md
  58. Resume requested
  59. Run completereport=/private/tmp/claude-501/-Users-haodingresearch-Desktop-auto-research/579004ae-5819-417d-918c-9d9409997567/scratchpad/studies/economics-en/runs/e968530de670/REPORT.md