← Back to the post
Interactive data dictionary

Evaluating the Impact of the Jamuna Bridge

Companion data for a Python replication of Blankespoor, Emran, Shilpi and Xu (2021) on the difference-in-differences evaluation of Bangladesh's Jamuna Bridge.

5
datasets
88
variables
123 / 125
treated / comparison upazilas
1988–2013
years

Downloads

Each dataset is available as a labeled Stata .dta and its source file.

⇩ Download all data (ZIP)stata_codebook.do

DatasetGrainRowsStataSource
bridge_nightlightsone row per upazila x three-year period2,513 × 13bridge_nightlights.dtabridge_nightlights.csv
bridge_employmentone row per upazila x census year1,053 × 20bridge_employment.dtabridge_employment.csv
bridge_yieldone row per former district x three-year period128 × 13bridge_yield.dtabridge_yield.csv
bridge_dhs_householdone row per village (survey cluster) x survey year1,543 × 20bridge_dhs_household.dtabridge_dhs_household.csv
bridge_dhs_villageone row per village (survey cluster) x survey year1,455 × 22bridge_dhs_village.dtabridge_dhs_village.csv

Run stata_codebook.do in Stata once to attach long-form per-variable notes to the .dta files.

Load directly in code

Every file loads straight from GitHub (raw URLs). Swap the file name to load any dataset.

Stata

* Stata 14+ : `use` reads an https URL directly
global BASE "https://raw.githubusercontent.com/cmg777/starter-academic-v501/master/content/post/python_bridge_impact/data/"
use "${BASE}bridge_nightlights.dta", clear
describe
notes

Python

!pip install -q pyreadstat
import pandas as pd
BASE = "https://raw.githubusercontent.com/cmg777/starter-academic-v501/master/content/post/python_bridge_impact/data/"
df = pd.read_stata(BASE + "bridge_nightlights.dta")

# load every dataset at once
files = ["bridge_nightlights", "bridge_employment", "bridge_yield", "bridge_dhs_household", "bridge_dhs_village"]
data = {f: pd.read_stata(BASE + f + ".dta") for f in files}

# pyreadstat (richest metadata) reads LOCAL files -> download first
import pyreadstat, urllib.request
urllib.request.urlretrieve(BASE + "bridge_nightlights.dta", "bridge_nightlights.dta")
df, meta = pyreadstat.read_dta("bridge_nightlights.dta")

Copy and paste this snippet in Google Colab app. https://colab.research.google.com/notebooks/empty.ipynb

R

# R : haven::read_dta auto-downloads an https URL
library(haven)
BASE <- "https://raw.githubusercontent.com/cmg777/starter-academic-v501/master/content/post/python_bridge_impact/data/"
df <- read_dta(paste0(BASE, "bridge_nightlights.dta"))

Overview & sources

Companion data for a hands-on Python tutorial that evaluates the economic impact of the Jamuna (Bangabandhu) Bridge, a 4.8 km crossing that opened in June 1998, cost about US\$985 million, connected roughly 26 million people in isolated northwest Bangladesh to Dhaka, and cut freight costs by about half. The design is a two-group, non-staggered difference-in-differences: the Jamuna hinterland is treated, and the Padma hinterland — a symmetric region cut off by the other great river, whose own bridge was not started until 2015 — is the comparison. The Dhaka–Chittagong core is excluded. These five files are tidy CSV exports of the authors' original Stata replication package, unchanged in value; only the file format and column selection differ. The tutorial reproduces all 122 published coefficients to three decimals.

Five files, four outcome families. bridge_nightlights is the richest panel: 359 upazilas (subdistricts) × seven three-year periods of DMSP-OLS satellite luminosity, 1992–2013. bridge_employment holds three population censuses (1991, 2001, 2011) for 351 upazilas, carrying population density and the agriculture/industry/services employment shares. bridge_yield is Boro rice yield for 16 former districts over eight periods, 1988–2013. bridge_dhs_household and bridge_dhs_village are village-year records from the Demographic and Health Surveys and the Household Income and Expenditure Survey, used as a placebo test on public goods. Critical: the year column is an integer period index (1, 2, 3…), not a calendar year — annual satellite and yield data are averaged into three-year blocks. The controls interact baseline characteristics with this index, so substituting calendar years changes every coefficient.

Data sources

SourceProvidesReference / URL
Blankespoor, Emran, Shilpi and Xu (2021)The replicated study and the complete Stata replication package these CSVs are derived from — four do-files, five .dta files, execution logs, and every intermediate result tableBlankespoor, B., Emran, M. S., Shilpi, F., & Xu, L. (2021). Bridge to bigpush or backwash? Market integration, reallocation and productivity effects of Jamuna Bridge in Bangladesh. Journal of Economic Geography. Working-paper version: World Bank Policy Research Working Paper 8508, https://doi.org/10.1596/1813-9450-8508
DMSP-OLS Nighttime LightsSatellite luminosity at 1 km pixel resolution, averaged to the upazila and then into three-year blocks (variable mn)NOAA National Centers for Environmental Information, Earth Observation Group. https://www.ncei.noaa.gov/products/dmsp-operational-linescan-system
IPUMS InternationalBangladesh population censuses 1991, 2001 and 2011 — individual and household records collapsed to the upazila (pop, emp, pop_agr, pop_ind, pop_serv, density, surban, prop_elec)Minnesota Population Center. https://international.ipums.org/international/
Bangladesh Bureau of StatisticsAnnual Boro rice yield by former district (yld), from the Yearbook of Agricultural Statistics 2016; and the Household Income and Expenditure Survey 1995/96Yearbook of Agricultural Statistics 2016, Bangladesh Bureau of Statistics.
The DHS ProgramHousehold and village questionnaire records for the public-goods placebo (electricity, water, sanitation, distances to schools, clinics, banks and post offices)Bangladesh Demographic and Health Surveys 1993, 1997, 2003, 2007, 2011, 2014. https://dhsprogram.com/
NOAA PREC/LMonthly precipitation reconstruction over land, extracted at the upazila level (rainm, rainsd)NOAA Precipitation Reconstruction over Land, NOAA Physical Sciences Laboratory. https://psl.noaa.gov/data/gridded/data.precl.html
Method referencesThe two doubly-robust estimators and the sensitivity analysisKline (2011, Oaxaca-Blinder as a reweighting estimator); Busso, Gregory & Kline (2013); Rambachan & Roth (2023, HonestDiD).

Cite this data

Please cite this dataset as follows.

APA

Mendez, C. (2026). Evaluating the Impact of Infrastructure: A Beginner's Guide to Difference-in-Differences with the Jamuna Bridge — companion data [Data set]. https://carlos-mendez.org/post/python_bridge_impact/

Data derived from the replication package of Blankespoor, B., Emran, M. S., Shilpi, F., & Xu, L. (2021), Journal of Economic Geography. Please cite the original authors for the data.

BibTeX

@misc{mendez2026pythonbridgeimpact,
  author       = {Mendez, C.},
  title        = {Evaluating the Impact of Infrastructure: A Beginner's Guide to Difference-in-Differences with the Jamuna Bridge — companion data},
  year         = {2026},
  howpublished = {\url{https://carlos-mendez.org/post/python_bridge_impact/}},
  note         = {Data set}
}

note = {Data derived from the replication package of Blankespoor, Emran, Shilpi and Xu (2021)}

Variable explorer search & filter all 51 variables

Type to filter by name or label, or use the chips to filter by type. Each row shows a mini distribution. Click a header to sort.

VariableTypeDistributionLabelDefinitionUnitsIn filesSource
Age#continuousmin 18.7 | median 25.9 | max 35.5Mean ageAverage age of household members in the village.yearsbridge_dhs_householdThe DHS Program
Cluster#identifierSurvey cluster (village)DHS primary sampling unit — effectively a village. The unit of observation in both DHS files.codebridge_dhs_household, bridge_dhs_villageThe DHS Program
District#identifierDistrict (DHS)District identifier in the DHS files. This is the clustering and fixed-effect level for the public-goods placebo, because upazila identifiers are not released for survey rounds before 2003.codebridge_dhs_household, bridge_dhs_villageThe DHS Program
Division#identifierDivision (DHS)Administrative division as coded in the DHS files: 1 Barisal, 2 Chittagong, 3 Dhaka, 4 Khulna, 5 Rajshahi, 6 Sylhet.codebridge_dhs_household, bridge_dhs_villageThe DHS Program
DrinkWater#continuousmin 0 | median 0 | max 1Piped waterShare of households with piped drinking water. One of the few pre-bridge characteristics on which the two hinterlands differ significantly.share (0–1)bridge_dhs_householdThe DHS Program
Electricity#continuousmin 0 | median 0.379 | max 1Access to electricityShare of households in the village with electricity — the one household-questionnaire outcome carried into the paper's published Table 3.share (0–1)bridge_dhs_householdThe DHS Program
Floor#continuousmin 0 | median 0.087 | max 1Cement floorShare of households with a cement floor — a standard asset proxy. Missing for 183 rows.share (0–1)bridge_dhs_householdThe DHS Program
NGO#dummyshare coded 1 = 0.613Income-generating NGO presentWhether an income-generating NGO operates in the village. Non-missing for only 413 rows, and the treatment terms are dropped for collinearity in the placebo regression.0/1bridge_dhs_villageThe DHS Program
Roof#continuousmin 0 | median 0.973 | max 1Cement or corrugated roofShare of households with a cement or corrugated-iron roof.share (0–1)bridge_dhs_householdThe DHS Program
Toilet#continuousmin 0 | median 0.0357 | max 1Flush toiletShare of households with a flush toilet.share (0–1)bridge_dhs_householdThe DHS Program
Urban#continuousmin 1 | median 1 | max 5Settlement typeVillage classification: 1 rural area, 2 SMA, 3 municipality area, 4 other urban.codebridge_dhs_villageThe DHS Program
age5#continuousmin 0 | median 0.127 | max 0.296Share under 5Share of the village population below five years of age.share (0–1)bridge_dhs_householdThe DHS Program
age60#continuousmin 0 | median 0.0725 | max 0.196Share over 60Share of the village population above sixty. Significantly lower in the Jamuna hinterland before the bridge — one of the demographic imbalances the paper acknowledges.share (0–1)bridge_dhs_householdThe DHS Program
cinema#continuousmin 0 | median 5 | max 90Distance to cinemaDistance to the nearest cinema. Like post_office, filed under 'Presence of' in the published table but a distance in the data.milesbridge_dhs_villageThe DHS Program
co_operative_soc#dummyshare coded 1 = 0.546Cooperative society presentWhether the village has a cooperative society. Its true short-run estimate is 0.090 (0.108); the published Table 3 prints 0.420, which is in fact the post_office coefficient — see section 18.2 of the companion post.0/1bridge_dhs_villageThe DHS Program
density#continuousmin 107 | median 904 | max 1.35e+05Population densityPopulation per square kilometre. This is the outcome that discriminates between the backwash and comparative-advantage theories: backwash requires it to fall, and it rises 5.9 percent in the long run.persons per sq kmbridge_employmentIPUMS International
dist#identifierDistrict codeDistrict identifier. In the yield file this is the unit of observation (former district); elsewhere it is an upper-level grouping.codebridge_nightlights, bridge_employment, bridge_yieldBlankespoor et al. (2021) replication package
dist_Thana#continuousmin 0 | median 6 | max 40Distance to thana headquartersDistance from the village to the thana (police-subdistrict) headquarters. Non-missing for only 559 rows.milesbridge_dhs_villageThe DHS Program
dist_district#continuousmin 0 | median 17 | max 92Distance to district headquartersDistance from the village to the district headquarters. Non-missing for 618 rows.milesbridge_dhs_villageThe DHS Program
dist_hos#continuousmin 0 | median 0 | max 18Distance to hospitalDistance from the village to the nearest hospital.milesbridge_dhs_villageThe DHS Program
dist_satellite_clinic#continuousmin 0 | median 1 | max 18Distance to satellite clinicDistance to the nearest satellite health clinic. The sparsest variable in the file, non-missing for only 398 rows.milesbridge_dhs_villageThe DHS Program
div#identifierDivision codeAdministrative division: 1 Barisal, 2 Chittagong, 3 Dhaka, 4 Khulna, 5 Rajshahi.codebridge_nightlights, bridge_employment, bridge_yieldBlankespoor et al. (2021) replication package
emp#continuousmin 1.03e+04 | median 5.52e+04 | max 9.05e+05Total employmentTotal employed population — the denominator of the three sectoral shares.personsbridge_employmentIPUMS International
female#continuousmin 0.356 | median 0.494 | max 0.597Share femaleShare of the village population that is female.share (0–1)bridge_dhs_householdThe DHS Program
former_dis#identifierFormer districtOld-district identifier used by the agricultural statistics, which were never re-issued on the modern district boundaries.codebridge_yieldBangladesh Bureau of Statistics
geocode#identifierUpazila codeBangladesh upazila (subdistrict) identifier, harmonised across census rounds.codebridge_nightlights, bridge_employmentBlankespoor et al. (2021) replication package
grameen_bank#continuousmin 0 | median 1 | max 9Grameen Bank presentWhether the village has a Grameen Bank branch — a genuine presence indicator.0/1bridge_dhs_villageThe DHS Program
high_school#continuousmin 0 | median 1 | max 30Distance to high schoolDistance from the village to the nearest high school. Its long-run estimate of +0.535 (0.290) is the only marginally significant coefficient among the 21 public-goods tests — and it has the wrong sign for the political-economy story, since it says schools got farther away.milesbridge_dhs_villageThe DHS Program
hsize#continuousmin 3.81 | median 6.1 | max 17Average household sizeMean number of members per household in the village.personsbridge_dhs_householdThe DHS Program
jamuna_m#continuousmin 8.42e+03 | median 1.2e+05 | max 2.82e+05Distance to the Jamuna bridgeCrow-fly distance from the unit centroid to the Jamuna bridge foot.metresbridge_nightlights, bridge_employment, bridge_yield, bridge_dhs_household, bridge_dhs_villageBlankespoor et al. (2021), from Bangladesh shapefiles
madrassa_school#continuousmin 0 | median 0 | max 13Distance to madrassaDistance from the village to the nearest madrassa school.milesbridge_dhs_villageThe DHS Program
mn#continuousmin 1 | median 2.44 | max 64Average nightlight luminosityMean DMSP-OLS digital-number luminosity over the upazila, averaged across the three-year block.digital number (0–63 scale)bridge_nightlightsDMSP-OLS, NOAA Earth Observation Group
padma_m#continuousmin 8.44e+03 | median 1.31e+05 | max 3.87e+05Distance to the Padma crossingCrow-fly distance from the unit centroid to the planned Padma bridge site.metresbridge_nightlights, bridge_employment, bridge_yield, bridge_dhs_household, bridge_dhs_villageBlankespoor et al. (2021), from Bangladesh shapefiles
pop#continuousmin 5.2e+04 | median 2.29e+05 | max 1.82e+06Total populationTotal population recorded in the census round.personsbridge_employmentIPUMS International
pop91#continuousmin 5.2e+04 | median 2.05e+05 | max 6.4e+05Population in 1991Total population recorded in the 1991 census — a baseline characteristic fixed before the bridge.personsbridge_nightlights, bridge_employment, bridge_yieldIPUMS International
pop_agr#continuousmin 120 | median 3.8e+04 | max 1.2e+05Employed in agricultureNumber employed in agriculture. Divided by emp it gives the agriculture share, which falls 1.3 percentage points on average and 5.7 points in the farthest distance band.personsbridge_employmentIPUMS International
pop_ind#continuousmin 20 | median 1.49e+03 | max 5.6e+05Employed in industryNumber employed in industry and manufacturing. The share falls 1.2 percentage points in the long run — roughly a third of a 2.8 percent baseline sector.personsbridge_employmentIPUMS International
pop_serv#continuousmin 1.13e+03 | median 1.21e+04 | max 5.06e+05Employed in servicesNumber employed in services — trading, transport and processing, the activities a region takes on when it starts shipping output. The share rises 2.4 percentage points in the long run.personsbridge_employmentIPUMS International
post_office#continuousmin 0 | median 1 | max 20Distance to post officeDistance to the nearest post office. NOTE: filed under 'Presence of' in the paper's published Table 3, but labelled as a distance in the source data.milesbridge_dhs_villageThe DHS Program
primary_school#continuousmin 0 | median 0 | max 45Distance to primary schoolDistance from the village to the nearest primary school.milesbridge_dhs_villageThe DHS Program
prop_elec#continuousmin 0 | median 0.225 | max 0.995Household electrificationProportion of households with electricity.share (0–1)bridge_employmentIPUMS International
rainm#continuousmin 0 | median 49.9 | max 147Mean rainfallAverage monthly precipitation over the period.cm per monthbridge_nightlights, bridge_employment, bridge_yieldNOAA PREC/L
rainsd#continuousmin 0 | median 48.9 | max 165Rainfall variabilityStandard deviation of monthly precipitation over the period — a control for weather risk, which matters directly for agricultural yield.cm per monthbridge_nightlights, bridge_employment, bridge_yieldNOAA PREC/L
rural#dummyshare coded 1 = 0.721Rural village1 if the survey cluster is rural. Entered as a control in the household regression because it dominates every service-access outcome.0/1bridge_dhs_householdThe DHS Program
smp1#dummyshare coded 1 = 0.504Estimation sampleNon-missing for the Jamuna and Padma hinterlands; MISSING for the Dhaka–Chittagong core. Filtering on non-missing is how the core is excluded from every regression.0/1 or missingbridge_nightlights, bridge_employment, bridge_yield, bridge_dhs_household, bridge_dhs_villageBlankespoor et al. (2021) replication package
surban#continuousmin 0 | median 0.0992 | max 1Urban shareShare of the upazila population classified as urban.share (0–1)bridge_employmentIPUMS International
treat#dummyshare coded 1 = 0.354Jamuna hinterland (treated)1 if the unit lies in the Jamuna hinterland, the region the bridge connected; 0 otherwise.0/1bridge_nightlights, bridge_employment, bridge_yield, bridge_dhs_household, bridge_dhs_villageBlankespoor et al. (2021) replication package
treatd#dummyshare coded 1 = 0.298Core region (excluded)1 for the Dhaka–Chittagong core and adjacent areas. Used only for descriptive comparison in the paper's Appendix Table AT.1, never as a DiD comparison group.0/1bridge_nightlights, bridge_employment, bridge_yieldBlankespoor et al. (2021) replication package
year#yearPeriod indexInteger period index, NOT a calendar year. Nightlights: 1=1992-94, 2=1995-97, 3=1998-2000, 4=2001-04, 5=2005-07, 6=2008-10, 7=2011-13. Census: 1=1991, 2=2001, 3=2011. Yield: 1=1988-91, 2=1992-94, 3=1995-97, 4=1998-2000, 5=2001-04, 6=2005-07, 7=2008-10, 8=2011-13. DHS: 1=1994, 2=1996, 3=1997, 4=2003, 5=2007, 6=2011, 7=2013.indexbridge_nightlights, bridge_employment, bridge_yield, bridge_dhs_household, bridge_dhs_villageBlankespoor et al. (2021) replication package
yld#continuousmin 1.69 | median 3.11 | max 4.34Boro rice yieldYield of Boro rice, the dry-season irrigated crop that dominates Bangladeshi cereal production.metric tons per hectarebridge_yieldYearbook of Agricultural Statistics 2016, Bangladesh Bureau of Statistics
yr#dummyshare coded 1 = 0.685Post-bridge (DHS)1 for survey rounds after the bridge opened (2003 onward); 0 for 1994, 1996 and 1997.0/1bridge_dhs_household, bridge_dhs_villageBlankespoor et al. (2021) replication package

Cross-file variable index

Which file each variable appears in (● = present).

Variablebridge_nightlightsbridge_employmentbridge_yieldbridge_dhs_householdbridge_dhs_village
Age
Cluster
District
Division
DrinkWater
Electricity
Floor
NGO
Roof
Toilet
Urban
age5
age60
cinema
co_operative_soc
density
dist
dist_Thana
dist_district
dist_hos
dist_satellite_clinic
div
emp
female
former_dis
geocode
grameen_bank
high_school
hsize
jamuna_m
madrassa_school
mn
padma_m
pop
pop91
pop_agr
pop_ind
pop_serv
post_office
primary_school
prop_elec
rainm
rainsd
rural
smp1
surban
treat
treatd
year
yld
yr

Construction & formulas

The bridge is treated as a quasi-natural experiment: which river got a bridge first was decided by political geography — President Ershad's base in Rangpur and Prime Minister Khaleda Zia's in Bogra, both in the Jamuna hinterland — rather than by economic prospects in the northwest. The comparison region stayed isolated for the whole window because the Padma bridge was not begun until 2015.

The datasets

Switch datasets with the tabs. Each shows the full variable dictionary plus a sortable statistics table with mini distributions and data coverage.

expand to search (Ctrl/⌘+F) or print across all datasets

one row per upazila x three-year period  2,513 × 13 · 1992–2013 (7 periods) · 359 upazilas; 127 treated, 125 comparison, 107 core

Panel key: geocode + year · The running example of the tutorial: the richest panel, used to teach the 2x2, two-way fixed effects, the event study, both doubly-robust estimators, and the sensitivity analysis.

Variable dictionary

VariableLabelDefinitionConstructionUnitsSourceCoverage
geocode identifierUpazila codeBangladesh upazila (subdistrict) identifier, harmonised across census rounds.Master administrative code. Upazilas that split or merged between rounds were matched by superimposing digital maps and applying area weights, so the panel is comparable over time.codeBlankespoor et al. (2021) replication package
year yearPeriod indexInteger period index, NOT a calendar year. Nightlights: 1=1992-94, 2=1995-97, 3=1998-2000, 4=2001-04, 5=2005-07, 6=2008-10, 7=2011-13. Census: 1=1991, 2=2001, 3=2011. Yield: 1=1988-91, 2=1992-94, 3=1995-97, 4=1998-2000, 5=2001-04, 6=2005-07, 7=2008-10, 8=2011-13. DHS: 1=1994, 2=1996, 3=1997, 4=2003, 5=2007, 6=2011, 7=2013.Annual satellite and yield series are averaged into three-year blocks to smooth transitory shocks. The bridge opened in June 1998, inside nightlights period 3 and yield period 4.indexBlankespoor et al. (2021) replication package
mn continuousAverage nightlight luminosityMean DMSP-OLS digital-number luminosity over the upazila, averaged across the three-year block.1 km satellite pixels averaged to the upazila boundary, then across years. BOTTOM-CODED AT 1.0 — the minimum in the data is exactly 1.0, so most rural upazilas sit at the floor. The tutorial uses ln(mn + 1) for this reason.digital number (0–63 scale)DMSP-OLS, NOAA Earth Observation Group
div identifierDivision codeAdministrative division: 1 Barisal, 2 Chittagong, 3 Dhaka, 4 Khulna, 5 Rajshahi.Master administrative code.codeBlankespoor et al. (2021) replication package
dist identifierDistrict codeDistrict identifier. In the yield file this is the unit of observation (former district); elsewhere it is an upper-level grouping.Master administrative code.codeBlankespoor et al. (2021) replication package
pop91 continuousPopulation in 1991Total population recorded in the 1991 census — a baseline characteristic fixed before the bridge.Used in the propensity model and, interacted with the period index, as a control that lets initially-large units follow a different trajectory.personsIPUMS International
rainm continuousMean rainfallAverage monthly precipitation over the period.Extracted at the upazila level from the NOAA PREC/L gridded reconstruction. Enters the regressions as ln(rainm + 1) for nightlights and ln(rainm) elsewhere.cm per monthNOAA PREC/L
rainsd continuousRainfall variabilityStandard deviation of monthly precipitation over the period — a control for weather risk, which matters directly for agricultural yield.Extracted at the upazila level from NOAA PREC/L. Zero values become missing under the log transform, which is what removes 28 nightlights upazilas from the estimation sample.cm per monthNOAA PREC/L
jamuna_m continuousDistance to the Jamuna bridgeCrow-fly distance from the unit centroid to the Jamuna bridge foot.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
padma_m continuousDistance to the Padma crossingCrow-fly distance from the unit centroid to the planned Padma bridge site.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
treat dummyJamuna hinterland (treated)1 if the unit lies in the Jamuna hinterland, the region the bridge connected; 0 otherwise.Assigned by geography: which side of which river the unit sits on.0/1Blankespoor et al. (2021) replication package
smp1 dummyEstimation sampleNon-missing for the Jamuna and Padma hinterlands; MISSING for the Dhaka–Chittagong core. Filtering on non-missing is how the core is excluded from every regression.Missing wherever treatd == 1. In the two DHS files there is no core, so this variable is numerically identical to treat.0/1 or missingBlankespoor et al. (2021) replication package
treatd dummyCore region (excluded)1 for the Dhaka–Chittagong core and adjacent areas. Used only for descriptive comparison in the paper's Appendix Table AT.1, never as a DiD comparison group.The authors dropped core estimates from the published design after a referee pointed out that the Padma hinterland is not a valid comparison for the core.0/1Blankespoor et al. (2021) replication package

Distribution & statistics (click a header to sort)

VariableDistributionCoverageNDistinctMinMeanMedianMaxSD
geocode100%2,513359
year100%2,513714.0472.00
mnmin 1 | median 2.44 | max 64100%2,5131,6371.006.342.4464.0012.48
div100%2,5134
dist100%2,51349
pop91min 5.2e+04 | median 2.05e+05 | max 6.4e+0599%2,48535352,040219,938205,490639,540101,985
rainmmin 0 | median 49.9 | max 147100%2,5131,415051.1049.91147.316.95
rainsdmin 0 | median 48.9 | max 165100%2,5131,414051.5348.88164.618.28
jamuna_mmin 8.42e+03 | median 1.2e+05 | max 2.82e+05100%2,5133598,421.7129,656119,802281,56358,973
padma_mmin 8.44e+03 | median 1.31e+05 | max 3.87e+05100%2,5133598,438.5145,678130,548387,40783,736
treatshare coded 1 = 0.354100%2,513200.35401.000.478
smp1share coded 1 = 0.50470%1,764200.5041.001.000.500
treatdshare coded 1 = 0.298100%2,513200.29801.000.457

one row per upazila x census year  1,053 × 20 · 1991, 2001, 2011 (3 periods) · 351 upazilas; 123 treated, 125 comparison, 103 core

Panel key: geocode + year · Carries population density and the sectoral employment shares — including the density variable that discriminates between the backwash and comparative-advantage theories.

Variable dictionary

VariableLabelDefinitionConstructionUnitsSourceCoverage
geocode identifierUpazila codeBangladesh upazila (subdistrict) identifier, harmonised across census rounds.Master administrative code. Upazilas that split or merged between rounds were matched by superimposing digital maps and applying area weights, so the panel is comparable over time.codeBlankespoor et al. (2021) replication package
year yearPeriod indexInteger period index, NOT a calendar year. Nightlights: 1=1992-94, 2=1995-97, 3=1998-2000, 4=2001-04, 5=2005-07, 6=2008-10, 7=2011-13. Census: 1=1991, 2=2001, 3=2011. Yield: 1=1988-91, 2=1992-94, 3=1995-97, 4=1998-2000, 5=2001-04, 6=2005-07, 7=2008-10, 8=2011-13. DHS: 1=1994, 2=1996, 3=1997, 4=2003, 5=2007, 6=2011, 7=2013.Annual satellite and yield series are averaged into three-year blocks to smooth transitory shocks. The bridge opened in June 1998, inside nightlights period 3 and yield period 4.indexBlankespoor et al. (2021) replication package
div identifierDivision codeAdministrative division: 1 Barisal, 2 Chittagong, 3 Dhaka, 4 Khulna, 5 Rajshahi.Master administrative code.codeBlankespoor et al. (2021) replication package
dist identifierDistrict codeDistrict identifier. In the yield file this is the unit of observation (former district); elsewhere it is an upper-level grouping.Master administrative code.codeBlankespoor et al. (2021) replication package
pop continuousTotal populationTotal population recorded in the census round.Individual census records collapsed to the upazila.personsIPUMS International
emp continuousTotal employmentTotal employed population — the denominator of the three sectoral shares.Individual census records collapsed to the upazila.personsIPUMS International
pop_agr continuousEmployed in agricultureNumber employed in agriculture. Divided by emp it gives the agriculture share, which falls 1.3 percentage points on average and 5.7 points in the farthest distance band.Individual census records collapsed to the upazila.personsIPUMS International
pop_ind continuousEmployed in industryNumber employed in industry and manufacturing. The share falls 1.2 percentage points in the long run — roughly a third of a 2.8 percent baseline sector.Individual census records collapsed to the upazila. Logged as ln(pop_ind + 1) in the original code because some upazilas have very few industrial workers.personsIPUMS International
pop_serv continuousEmployed in servicesNumber employed in services — trading, transport and processing, the activities a region takes on when it starts shipping output. The share rises 2.4 percentage points in the long run.Individual census records collapsed to the upazila.personsIPUMS International
density continuousPopulation densityPopulation per square kilometre. This is the outcome that discriminates between the backwash and comparative-advantage theories: backwash requires it to fall, and it rises 5.9 percent in the long run.Census population divided by upazila land area. Enters as ln(density).persons per sq kmIPUMS International
pop91 continuousPopulation in 1991Total population recorded in the 1991 census — a baseline characteristic fixed before the bridge.Used in the propensity model and, interacted with the period index, as a control that lets initially-large units follow a different trajectory.personsIPUMS International
rainm continuousMean rainfallAverage monthly precipitation over the period.Extracted at the upazila level from the NOAA PREC/L gridded reconstruction. Enters the regressions as ln(rainm + 1) for nightlights and ln(rainm) elsewhere.cm per monthNOAA PREC/L
rainsd continuousRainfall variabilityStandard deviation of monthly precipitation over the period — a control for weather risk, which matters directly for agricultural yield.Extracted at the upazila level from NOAA PREC/L. Zero values become missing under the log transform, which is what removes 28 nightlights upazilas from the estimation sample.cm per monthNOAA PREC/L
surban continuousUrban shareShare of the upazila population classified as urban.Census classification. Used descriptively rather than as a regression outcome.share (0–1)IPUMS International
prop_elec continuousHousehold electrificationProportion of households with electricity.Census household records collapsed to the upazila. Used in the paper's Appendix Table AT.1 to establish that the Jamuna hinterland lagged the core before the bridge.share (0–1)IPUMS International
jamuna_m continuousDistance to the Jamuna bridgeCrow-fly distance from the unit centroid to the Jamuna bridge foot.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
padma_m continuousDistance to the Padma crossingCrow-fly distance from the unit centroid to the planned Padma bridge site.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
treat dummyJamuna hinterland (treated)1 if the unit lies in the Jamuna hinterland, the region the bridge connected; 0 otherwise.Assigned by geography: which side of which river the unit sits on.0/1Blankespoor et al. (2021) replication package
smp1 dummyEstimation sampleNon-missing for the Jamuna and Padma hinterlands; MISSING for the Dhaka–Chittagong core. Filtering on non-missing is how the core is excluded from every regression.Missing wherever treatd == 1. In the two DHS files there is no core, so this variable is numerically identical to treat.0/1 or missingBlankespoor et al. (2021) replication package
treatd dummyCore region (excluded)1 for the Dhaka–Chittagong core and adjacent areas. Used only for descriptive comparison in the paper's Appendix Table AT.1, never as a DiD comparison group.The authors dropped core estimates from the published design after a referee pointed out that the Padma hinterland is not a valid comparison for the core.0/1Blankespoor et al. (2021) replication package

Distribution & statistics (click a header to sort)

VariableDistributionCoverageNDistinctMinMeanMedianMaxSD
geocode100%1,053351
year100%1,053312.0230.82
div100%1,0534
dist100%1,05349
popmin 5.2e+04 | median 2.29e+05 | max 1.82e+06100%1,0531,04352,040261,345228,8401,822,620168,313
empmin 1.03e+04 | median 5.52e+04 | max 9.05e+05100%1,05399010,33067,73455,230904,94063,372
pop_agrmin 120 | median 3.8e+04 | max 1.2e+05100%1,053965120.040,50837,960119,82020,137
pop_indmin 20 | median 1.49e+03 | max 5.6e+05100%1,05352520.006,495.21,490.0559,86027,013
pop_servmin 1.13e+03 | median 1.21e+04 | max 5.06e+05100%1,0538711,130.020,73112,070505,80037,803
densitymin 107 | median 904 | max 1.35e+05100%1,0531,052106.62,877.2904.3135,49211,235
pop91min 5.2e+04 | median 2.05e+05 | max 6.4e+05100%1,05334952,040219,103204,840639,540102,188
rainmmin 0 | median 51.6 | max 147100%1,053613053.0151.59147.217.25
rainsdmin 0 | median 47.9 | max 153100%1,053613050.9447.93152.717.20
surbanmin 0 | median 0.0992 | max 1100%1,05398500.1780.0991.000.234
prop_elecmin 0 | median 0.225 | max 0.995100%1,0531,04800.2920.2250.9950.256
jamuna_mmin 8.42e+03 | median 1.21e+05 | max 2.82e+05100%1,0533548,421.7130,068121,193281,56359,284
padma_mmin 8.44e+03 | median 1.3e+05 | max 3.87e+05100%1,0533548,438.5145,466130,241387,40783,784
treatshare coded 1 = 0.350100%1,053200.35001.000.477
smp1share coded 1 = 0.49671%744200.49601.000.500
treatdshare coded 1 = 0.293100%1,053200.29301.000.456

one row per former district x three-year period  128 × 13 · 1988–2013 (8 periods) · 16 former districts; 5 treated, 6 comparison, 5 core

Panel key: dist + year · Agricultural productivity — the outcome where the spatial heterogeneity is most dramatic, with the farthest distance band gaining 26.5 percent against 4.9 percent nearest.

Variable dictionary

VariableLabelDefinitionConstructionUnitsSourceCoverage
former_dis identifierFormer districtOld-district identifier used by the agricultural statistics, which were never re-issued on the modern district boundaries.Value-labelled in the original .dta: 2 Barisal, 3 Bogra, 5 Comilla, 6 Dhaka, 7 Dinajpur, 8 Faridpur, 9 Jamalpur, 10 Jessore, 12 Khulna, 13 Kishoreganj, 14 Kushtia, 15 Mymensingh, 17 Pabna, 18 Patuakhali, 19 Rajshahi, 21 Rangpur, 23 Tangail.codeBangladesh Bureau of Statistics
dist identifierDistrict codeDistrict identifier. In the yield file this is the unit of observation (former district); elsewhere it is an upper-level grouping.Master administrative code.codeBlankespoor et al. (2021) replication package
year yearPeriod indexInteger period index, NOT a calendar year. Nightlights: 1=1992-94, 2=1995-97, 3=1998-2000, 4=2001-04, 5=2005-07, 6=2008-10, 7=2011-13. Census: 1=1991, 2=2001, 3=2011. Yield: 1=1988-91, 2=1992-94, 3=1995-97, 4=1998-2000, 5=2001-04, 6=2005-07, 7=2008-10, 8=2011-13. DHS: 1=1994, 2=1996, 3=1997, 4=2003, 5=2007, 6=2011, 7=2013.Annual satellite and yield series are averaged into three-year blocks to smooth transitory shocks. The bridge opened in June 1998, inside nightlights period 3 and yield period 4.indexBlankespoor et al. (2021) replication package
div identifierDivision codeAdministrative division: 1 Barisal, 2 Chittagong, 3 Dhaka, 4 Khulna, 5 Rajshahi.Master administrative code.codeBlankespoor et al. (2021) replication package
yld continuousBoro rice yieldYield of Boro rice, the dry-season irrigated crop that dominates Bangladeshi cereal production.Annual district figures averaged into three-year blocks. Enters the regressions as ln(yld).metric tons per hectareYearbook of Agricultural Statistics 2016, Bangladesh Bureau of Statistics
pop91 continuousPopulation in 1991Total population recorded in the 1991 census — a baseline characteristic fixed before the bridge.Used in the propensity model and, interacted with the period index, as a control that lets initially-large units follow a different trajectory.personsIPUMS International
rainm continuousMean rainfallAverage monthly precipitation over the period.Extracted at the upazila level from the NOAA PREC/L gridded reconstruction. Enters the regressions as ln(rainm + 1) for nightlights and ln(rainm) elsewhere.cm per monthNOAA PREC/L
rainsd continuousRainfall variabilityStandard deviation of monthly precipitation over the period — a control for weather risk, which matters directly for agricultural yield.Extracted at the upazila level from NOAA PREC/L. Zero values become missing under the log transform, which is what removes 28 nightlights upazilas from the estimation sample.cm per monthNOAA PREC/L
jamuna_m continuousDistance to the Jamuna bridgeCrow-fly distance from the unit centroid to the Jamuna bridge foot.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
padma_m continuousDistance to the Padma crossingCrow-fly distance from the unit centroid to the planned Padma bridge site.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
treat dummyJamuna hinterland (treated)1 if the unit lies in the Jamuna hinterland, the region the bridge connected; 0 otherwise.Assigned by geography: which side of which river the unit sits on.0/1Blankespoor et al. (2021) replication package
smp1 dummyEstimation sampleNon-missing for the Jamuna and Padma hinterlands; MISSING for the Dhaka–Chittagong core. Filtering on non-missing is how the core is excluded from every regression.Missing wherever treatd == 1. In the two DHS files there is no core, so this variable is numerically identical to treat.0/1 or missingBlankespoor et al. (2021) replication package
treatd dummyCore region (excluded)1 for the Dhaka–Chittagong core and adjacent areas. Used only for descriptive comparison in the paper's Appendix Table AT.1, never as a DiD comparison group.The authors dropped core estimates from the published design after a referee pointed out that the Padma hinterland is not a valid comparison for the core.0/1Blankespoor et al. (2021) replication package

Distribution & statistics (click a header to sort)

VariableDistributionCoverageNDistinctMinMeanMedianMaxSD
former_dis100%12816
dist100%12816
year100%128814.5482.30
div100%1284
yldmin 1.69 | median 3.11 | max 4.34100%1281281.693.193.114.340.514
pop91min 4e+07 | median 8.62e+07 | max 2.75e+08100%1281640,047,630102,477,27086,247,420274,866,06054,053,932
rainmmin 31.2 | median 50.5 | max 91.7100%12812831.1853.0550.4991.7112.07
rainsdmin 34.9 | median 49.9 | max 88.9100%12812834.8553.2149.9288.8912.60
jamuna_mmin 3.03e+04 | median 1.18e+05 | max 2.47e+05100%1281630,268127,428117,739246,98161,405
padma_mmin 4.46e+04 | median 1.4e+05 | max 3.29e+05100%1281644,646150,197139,508328,84272,881
treatshare coded 1 = 0.312100%128200.31201.000.465
smp1share coded 1 = 0.45569%88200.45501.000.501
treatdshare coded 1 = 0.312100%128200.31201.000.465

one row per village (survey cluster) x survey year  1,543 × 20 · 1994, 1996, 1997, 2003, 2007, 2011, 2013 (7 rounds) · 37 districts; 16 treated, 21 comparison

Panel key: Cluster + year · The public-goods placebo. Tests the rival political-economy explanation that a prime minister with roots in the Jamuna hinterland simply sent more services there.

Variable dictionary

VariableLabelDefinitionConstructionUnitsSourceCoverage
year yearPeriod indexInteger period index, NOT a calendar year. Nightlights: 1=1992-94, 2=1995-97, 3=1998-2000, 4=2001-04, 5=2005-07, 6=2008-10, 7=2011-13. Census: 1=1991, 2=2001, 3=2011. Yield: 1=1988-91, 2=1992-94, 3=1995-97, 4=1998-2000, 5=2001-04, 6=2005-07, 7=2008-10, 8=2011-13. DHS: 1=1994, 2=1996, 3=1997, 4=2003, 5=2007, 6=2011, 7=2013.Annual satellite and yield series are averaged into three-year blocks to smooth transitory shocks. The bridge opened in June 1998, inside nightlights period 3 and yield period 4.indexBlankespoor et al. (2021) replication package
Cluster identifierSurvey cluster (village)DHS primary sampling unit — effectively a village. The unit of observation in both DHS files.DHS survey variable.codeThe DHS Program
Division identifierDivision (DHS)Administrative division as coded in the DHS files: 1 Barisal, 2 Chittagong, 3 Dhaka, 4 Khulna, 5 Rajshahi, 6 Sylhet.DHS survey variable.codeThe DHS Program
District identifierDistrict (DHS)District identifier in the DHS files. This is the clustering and fixed-effect level for the public-goods placebo, because upazila identifiers are not released for survey rounds before 2003.DHS survey variable.codeThe DHS Program
rural dummyRural village1 if the survey cluster is rural. Entered as a control in the household regression because it dominates every service-access outcome.DHS survey variable.0/1The DHS Program
female continuousShare femaleShare of the village population that is female.DHS household records averaged to the survey cluster.share (0–1)The DHS Program
age5 continuousShare under 5Share of the village population below five years of age.DHS household records averaged to the survey cluster.share (0–1)The DHS Program
age60 continuousShare over 60Share of the village population above sixty. Significantly lower in the Jamuna hinterland before the bridge — one of the demographic imbalances the paper acknowledges.DHS household records averaged to the survey cluster.share (0–1)The DHS Program
Age continuousMean ageAverage age of household members in the village.DHS household records averaged to the survey cluster.yearsThe DHS Program
hsize continuousAverage household sizeMean number of members per household in the village.DHS household records averaged to the survey cluster.personsThe DHS Program
DrinkWater continuousPiped waterShare of households with piped drinking water. One of the few pre-bridge characteristics on which the two hinterlands differ significantly.DHS household records averaged to the survey cluster.share (0–1)The DHS Program
Toilet continuousFlush toiletShare of households with a flush toilet.DHS household records averaged to the survey cluster.share (0–1)The DHS Program
Electricity continuousAccess to electricityShare of households in the village with electricity — the one household-questionnaire outcome carried into the paper's published Table 3.DHS household records averaged to the survey cluster.share (0–1)The DHS Program
Floor continuousCement floorShare of households with a cement floor — a standard asset proxy. Missing for 183 rows.DHS household records averaged to the survey cluster.share (0–1)The DHS Program
Roof continuousCement or corrugated roofShare of households with a cement or corrugated-iron roof.DHS household records averaged to the survey cluster.share (0–1)The DHS Program
padma_m continuousDistance to the Padma crossingCrow-fly distance from the unit centroid to the planned Padma bridge site.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
jamuna_m continuousDistance to the Jamuna bridgeCrow-fly distance from the unit centroid to the Jamuna bridge foot.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
treat dummyJamuna hinterland (treated)1 if the unit lies in the Jamuna hinterland, the region the bridge connected; 0 otherwise.Assigned by geography: which side of which river the unit sits on.0/1Blankespoor et al. (2021) replication package
smp1 dummyEstimation sampleNon-missing for the Jamuna and Padma hinterlands; MISSING for the Dhaka–Chittagong core. Filtering on non-missing is how the core is excluded from every regression.Missing wherever treatd == 1. In the two DHS files there is no core, so this variable is numerically identical to treat.0/1 or missingBlankespoor et al. (2021) replication package
yr dummyPost-bridge (DHS)1 for survey rounds after the bridge opened (2003 onward); 0 for 1994, 1996 and 1997.Pre-coded in the DHS source files.0/1Blankespoor et al. (2021) replication package

Distribution & statistics (click a header to sort)

VariableDistributionCoverageNDistinctMinMeanMedianMaxSD
year100%1,543714.6572.03
Cluster100%1,543738
Division100%1,5434
District100%1,54337
ruralshare coded 1 = 0.721100%1,543200.7211.001.000.448
femalemin 0.356 | median 0.494 | max 0.597100%1,5438380.3560.4930.4940.5970.035
age5min 0 | median 0.127 | max 0.296100%1,54383200.1300.1270.2960.036
age60min 0 | median 0.0725 | max 0.196100%1,54379600.0750.0720.1960.032
Agemin 18.7 | median 25.9 | max 35.5100%1,5431,51518.6726.0325.8935.503.00
hsizemin 3.81 | median 6.1 | max 17100%1,5431,4273.816.866.1016.962.18
DrinkWatermin 0 | median 0 | max 1100%1,54313100.03201.000.114
Toiletmin 0 | median 0.0357 | max 1100%1,54325400.1190.0361.000.199
Electricitymin 0 | median 0.379 | max 1100%1,54336600.4190.3791.000.356
Floormin 0 | median 0.087 | max 188%1,36031100.1980.0871.000.261
Roofmin 0 | median 0.973 | max 1100%1,54327500.8320.9731.000.263
padma_mmin 2.62e+04 | median 1.31e+05 | max 3.62e+05100%1,5433726,181162,884130,868361,79479,584
jamuna_mmin 2.54e+04 | median 1.53e+05 | max 2.48e+05100%1,5433725,424151,863153,130247,79559,357
treatshare coded 1 = 0.472100%1,543200.47201.000.499
smp1share coded 1 = 0.472100%1,543200.47201.000.499
yrshare coded 1 = 0.685100%1,543200.6851.001.000.465

one row per village (survey cluster) x survey year  1,455 × 22 · 1994, 1996, 1997, 2003, 2007, 2011, 2013 (7 rounds) · 41 districts; 20 treated, 21 comparison

Panel key: Cluster + year · The infrastructure half of the public-goods placebo: distances to schools, clinics, headquarters, and the presence of banks, cooperatives and NGO programmes.

Variable dictionary

VariableLabelDefinitionConstructionUnitsSourceCoverage
year yearPeriod indexInteger period index, NOT a calendar year. Nightlights: 1=1992-94, 2=1995-97, 3=1998-2000, 4=2001-04, 5=2005-07, 6=2008-10, 7=2011-13. Census: 1=1991, 2=2001, 3=2011. Yield: 1=1988-91, 2=1992-94, 3=1995-97, 4=1998-2000, 5=2001-04, 6=2005-07, 7=2008-10, 8=2011-13. DHS: 1=1994, 2=1996, 3=1997, 4=2003, 5=2007, 6=2011, 7=2013.Annual satellite and yield series are averaged into three-year blocks to smooth transitory shocks. The bridge opened in June 1998, inside nightlights period 3 and yield period 4.indexBlankespoor et al. (2021) replication package
Cluster identifierSurvey cluster (village)DHS primary sampling unit — effectively a village. The unit of observation in both DHS files.DHS survey variable.codeThe DHS Program
Division identifierDivision (DHS)Administrative division as coded in the DHS files: 1 Barisal, 2 Chittagong, 3 Dhaka, 4 Khulna, 5 Rajshahi, 6 Sylhet.DHS survey variable.codeThe DHS Program
District identifierDistrict (DHS)District identifier in the DHS files. This is the clustering and fixed-effect level for the public-goods placebo, because upazila identifiers are not released for survey rounds before 2003.DHS survey variable.codeThe DHS Program
Urban continuousSettlement typeVillage classification: 1 rural area, 2 SMA, 3 municipality area, 4 other urban.DHS village questionnaire.codeThe DHS Program
grameen_bank continuousGrameen Bank presentWhether the village has a Grameen Bank branch — a genuine presence indicator.DHS village questionnaire. Note that the raw variable carries an occasional code 9, so the mean exceeds a clean 0/1 share.0/1The DHS Program
co_operative_soc dummyCooperative society presentWhether the village has a cooperative society. Its true short-run estimate is 0.090 (0.108); the published Table 3 prints 0.420, which is in fact the post_office coefficient — see section 18.2 of the companion post.DHS village questionnaire.0/1The DHS Program
madrassa_school continuousDistance to madrassaDistance from the village to the nearest madrassa school.DHS village questionnaire.milesThe DHS Program
primary_school continuousDistance to primary schoolDistance from the village to the nearest primary school.DHS village questionnaire.milesThe DHS Program
high_school continuousDistance to high schoolDistance from the village to the nearest high school. Its long-run estimate of +0.535 (0.290) is the only marginally significant coefficient among the 21 public-goods tests — and it has the wrong sign for the political-economy story, since it says schools got farther away.DHS village questionnaire.milesThe DHS Program
post_office continuousDistance to post officeDistance to the nearest post office. NOTE: filed under 'Presence of' in the paper's published Table 3, but labelled as a distance in the source data.DHS village questionnaire.milesThe DHS Program
cinema continuousDistance to cinemaDistance to the nearest cinema. Like post_office, filed under 'Presence of' in the published table but a distance in the data.DHS village questionnaire.milesThe DHS Program
dist_Thana continuousDistance to thana headquartersDistance from the village to the thana (police-subdistrict) headquarters. Non-missing for only 559 rows.DHS village questionnaire, reported in miles.milesThe DHS Program
dist_district continuousDistance to district headquartersDistance from the village to the district headquarters. Non-missing for 618 rows.DHS village questionnaire, reported in miles.milesThe DHS Program
NGO dummyIncome-generating NGO presentWhether an income-generating NGO operates in the village. Non-missing for only 413 rows, and the treatment terms are dropped for collinearity in the placebo regression.DHS village questionnaire.0/1The DHS Program
dist_satellite_clinic continuousDistance to satellite clinicDistance to the nearest satellite health clinic. The sparsest variable in the file, non-missing for only 398 rows.DHS village questionnaire.milesThe DHS Program
padma_m continuousDistance to the Padma crossingCrow-fly distance from the unit centroid to the planned Padma bridge site.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
jamuna_m continuousDistance to the Jamuna bridgeCrow-fly distance from the unit centroid to the Jamuna bridge foot.Computed in ArcGIS from upazila-level shapefiles for Bangladesh.metresBlankespoor et al. (2021), from Bangladesh shapefiles
treat dummyJamuna hinterland (treated)1 if the unit lies in the Jamuna hinterland, the region the bridge connected; 0 otherwise.Assigned by geography: which side of which river the unit sits on.0/1Blankespoor et al. (2021) replication package
smp1 dummyEstimation sampleNon-missing for the Jamuna and Padma hinterlands; MISSING for the Dhaka–Chittagong core. Filtering on non-missing is how the core is excluded from every regression.Missing wherever treatd == 1. In the two DHS files there is no core, so this variable is numerically identical to treat.0/1 or missingBlankespoor et al. (2021) replication package
yr dummyPost-bridge (DHS)1 for survey rounds after the bridge opened (2003 onward); 0 for 1994, 1996 and 1997.Pre-coded in the DHS source files.0/1Blankespoor et al. (2021) replication package
dist_hos continuousDistance to hospitalDistance from the village to the nearest hospital.DHS village questionnaire.milesThe DHS Program

Distribution & statistics (click a header to sort)

VariableDistributionCoverageNDistinctMinMeanMedianMaxSD
year100%1,455714.7572.00
Cluster100%1,454658
Division100%1,4554
District100%1,45541
Urbanmin 1 | median 1 | max 580%1,15951.001.441.005.000.800
grameen_bankmin 0 | median 1 | max 9100%1,449400.9151.009.000.593
co_operative_socshare coded 1 = 0.546100%1,448200.5461.001.000.498
madrassa_schoolmin 0 | median 0 | max 1389%1,2971701.07013.001.59
primary_schoolmin 0 | median 0 | max 4589%1,2921400.310045.001.93
high_schoolmin 0 | median 1 | max 3090%1,3031901.331.0030.001.95
post_officemin 0 | median 1 | max 2090%1,3071801.451.0020.001.66
cinemamin 0 | median 5 | max 9090%1,3066107.935.0090.0010.00
dist_Thanamin 0 | median 6 | max 4038%5593307.086.0040.005.64
dist_districtmin 0 | median 17 | max 9242%61874019.6817.0092.0015.36
NGOshare coded 1 = 0.61328%413200.6131.001.000.488
dist_satellite_clinicmin 0 | median 1 | max 1827%3981201.641.0018.001.89
padma_mmin 2.62e+04 | median 1.31e+05 | max 3.62e+05100%1,4554126,181153,883130,868361,79469,938
jamuna_mmin 2.54e+04 | median 1.58e+05 | max 2.48e+05100%1,4554125,424154,891158,347247,79561,282
treatshare coded 1 = 0.464100%1,455200.46401.000.499
smp1share coded 1 = 0.464100%1,455200.46401.000.499
yrshare coded 1 = 0.705100%1,455200.7051.001.000.456
dist_hosmin 0 | median 0 | max 1899%1,4401901.20018.002.64

Known limitations & caveats