Instant PDF download, name-and-email checkout. Complete Book Bundle: every Economics, Statistics, Mathematics and Econometrics book
Econometrics guide, Unit 5, step 20 of 20Previous stepBack to the guide

Step 20: Doing an Empirical Project

SyllabusDissertations and IB Extended Essay · Wooldridge, Introductory Econometrics, Ch. 19
In 30 seconds
  • The econometrics is usually the easy part of a project. The hard parts are a question that is too broad, data that do not measure what the question needs, cleaning nobody can retrace, and a write-up that claims more than the regression shows.
  • A good research question is specific, answerable with data and interesting. Test it by writing down the regression it implies.
  • Clean data only in scripts, describe the data before estimating, choose the method from the data structure and the question, and run robustness checks that change one choice at a time.
  • Write each result as direction, size in real units, precision, robustness and caveat. No causal language unless the design supports it.
  • Worked mini-project: in a panel of 60 countries, the investment coefficient falls from 0.200 (pooled OLS) to 0.078 with country and year effects, and stays between 0.073 and 0.110 in every robustness check.
Video lesson coming soonA short animated lesson for this step will appear here.

What you will learn

  • how to turn a broad topic into a research question and check that it is feasible;
  • how to find and read the literature efficiently with a literature matrix;
  • where to find reputable free data, and how to cite it;
  • how to clean data reproducibly: merging, missing values, outliers, units, deflating and logs;
  • how to choose a method and plan robustness checks;
  • how to structure a dissertation or Extended Essay and write a results paragraph;
  • how it all fits together in a mini-project.

Choosing a research question

Everything else follows from the question. A good question tells you which data to collect, which method to use and what the results table should contain. A vague one leaves you with a pile of regressions and nothing to say about them.

Key termA good empirical research question is specific (it names the outcome, the explanatory variable of interest, the population and the period), answerable with data (both variables are measured in a dataset you can obtain) and interesting (the answer matters to a policymaker, a firm or other researchers).
Econometrics Made Simple textbook coverChapter 20 of Econometrics Made Simple covers this in full: the whole project process, a complete mini-project in Python, R and Stata, and a one-page project checklist.Get the textbook · $15

“Does education matter?” cannot be turned into an equation. “By how much does one more year of schooling raise the hourly wage of adult workers in Pakistan, holding experience fixed?” can: the outcome is the log wage, the variable of interest is years of schooling, and the model is the wage equation of Step 6.

Weak questionStronger questionWhat changed
Is trade good for growth?Across 60 countries in 2000–2019, is a 10-point rise in trade as a share of GDP associated with faster growth within the same country?Outcome, regressor, units, period and comparison are named
What causes inflation?Does a 1-point rise in broad-money growth predict higher inflation in Saudi Arabia one year later?One cause, one country, a testable timing
Is the minimum wage bad?Did the 2019 rise in the minimum wage reduce fast-food employment in the treated region relative to a neighbouring region?A policy change and a comparison group: a DiD design

Before you commit, run four feasibility checks. (1) The data exist: open the actual file and check both variables are in it. (2) Enough observations and variation: a law in force for the whole period cannot explain anything. (3) A credible comparison: ask what else differs between the groups compared; a policy change, a cut-off or an instrument makes the question much stronger. (4) Time and rules: allow as long for cleaning data as for estimation, and check the course rules.

Worked example

A student writes: “My project is about remittances and Pakistan.” Turn this into a research question that passes the feasibility checks.

Step 1The topic names a country and a variable but no outcome, comparison or period. Remittances could affect consumption, schooling, the exchange rate or investment: choose one outcome for which data exist.
Step 2Household surveys from the Pakistan Bureau of Statistics record spending, children’s schooling and whether the household receives money from abroad.
Step 3Question: “Do households that receive remittances from abroad spend a larger share of their budget on children’s education than similar households that do not?”
Step 4Feasibility: thousands of households give plenty of data and variation. But the comparison is weak, because migrant households differ in income, region and family size, so the regression needs those controls and the result is an association.

A source of variation in migration unrelated to household preferences, such as a visa-rule change that hit some districts more than others, would move it towards a causal question (Step 13).

Exam tipWrite your question as one sentence at the top of your proposal and test it: can you write the regression equation from it? If you cannot say what \( y \) is, what the key \( x \) is and what each observation is (a worker, a country-year), it is not specific enough yet.

Reviewing the literature

The review shows what is known, how it was found, and where your project fits; 10 to 20 sources read carefully beat 60 read superficially. Search Google Scholar (use “Cited by” to move forward from a classic paper), RePEc/IDEAS, NBER and SSRN, and survey journals such as the Journal of Economic Perspectives. Write the review by theme, not paper by paper, and end with the gap your project fills.

For each paper, read the abstract, the introduction and the main results table, and record the question, data, method and result (with its size and units) in a literature matrix, plus what the paper leaves open. With ten rows, patterns appear.

Finding data

Use documented sources: the World Bank’s World Development Indicators, the IMF’s International Financial Statistics, OECD Data, FRED, the Penn World Table, ILOSTAT, UN Comtrade, Our World in Data, IPUMS microdata, national statistics offices (such as GASTAT in Saudi Arabia or the Pakistan Bureau of Statistics) and central banks.

Three habits save trouble: read the documentation before downloading (units, base years, breaks in series); prefer the original source over a site that quotes it; and record the download (series code, date, version), because agencies revise data. Cite data like any other source, for example: “World Bank (2025), World Development Indicators, series NE.GDI.TOTL.ZS (gross capital formation, % of GDP), accessed 12 March 2025.”

Common mistakeBuilding a dissertation on an untraceable file from a file-sharing or competition site. If you cannot trace a dataset to the organisation that collected it, do not rely on it.

Cleaning and describing the data

Key termData cleaning is every step that turns the raw files you downloaded into the dataset you estimate on: merging, renaming, recoding, handling missing values and outliers, converting units and creating variables. Every step should be done by a script, never by editing cells by hand, and raw files should never be overwritten.
  • Merging. Merge on a common identifier (an ISO country code, not a country name) and the period, and check the row count after every merge. Extra rows mean duplicate keys; missing rows mean keys that did not match.
  • Missing values. Count them and ask why: data missing because of the outcome create a selection problem. Never fill a gap with a number you “expect”.
  • Outliers. Check every minimum and maximum. An unemployment rate of 250% is an error; hyperinflation is not, so keep it and test whether the result depends on it.
  • Logs and lags. Take logs of positive, skewed variables (see our post on interpreting log coefficients). In a panel, create lags within each unit, after sorting, so one country’s value never becomes another’s lag.
\[ \text{real value}_t = \frac{\text{nominal value}_t}{P_t/100}, \qquad P_t = \text{price index (CPI or GDP deflator), base year} = 100 \]
Worked example

A worker’s monthly wage was 4,000 riyals in 2015 and 4,600 riyals in 2024. The CPI (2015 = 100) was 112 in 2024. Did the real wage rise, and by how much?

Step 1Real wage in 2024, at 2015 prices: \( 4600/1.12 = 4107.14 \) riyals.
Step 2Nominal rise: \( 100 \times 600/4000 = 15.0\% \).
Step 3Real rise: \( 100 \times (4107.14-4000)/4000 = 2.68\% \). Check: \( 1.15/1.12 = 1.0268 \).

Most of the nominal rise was 12% inflation. A regression of nominal wages on time would find a “trend” that is mostly prices.

Before any regression, produce a table of descriptive statistics, graphs of the outcome against the main regressor and over time, and a correlation table to warn of near-collinearity (Step 10).

Choosing a method

The method follows from the structure of the data (cross-section, time series or panel) and the type of question (description, prediction or causal effect). Use the table to find your starting point in this guide.

Data and questionStarting methodGuide steps
Cross-section; effect of \( x \) holding other factors fixedOLS with controls; logs, quadratics, dummies6–10
Error variance differs across observationsHeteroskedasticity-robust standard errors11
Endogenous \( x \) and an instrument existsIV / 2SLS; first-stage F13
A policy affected some units from a known dateDifference-in-differences; event study16
Treatment set by a cut-off in a scoreRegression discontinuity16
Binary outcomeLPM, logit, probit; marginal effects9, 14
Panel with unobserved fixed differencesFixed effects, year effects, clustered SEs; Hausman test15
Time series of one unitDistributed lags, trends, seasonality; HAC SEs12, 17
Series that trend or wanderUnit-root tests, differencing, cointegration18
ForecastingAR and ARIMA; out-of-sample evaluation17, 19

Two principles guide the choice. Start simple: OLS with robust or clustered standard errors is the benchmark for every advanced estimator. Let the design, not the software, carry the causal claim: a fixed-effects or IV regression is only as convincing as the argument that its assumptions hold.

Robustness checks

Key termThe main specification is the model you defend as best and report first. A robustness check changes one choice at a time (controls, sample, functional form, standard errors, estimator) and reports how the key coefficient moves. The aim is to learn whether the conclusion depends on an arbitrary choice, not to find a more pleasing number.

Typical checks change the controls, the sample (drop a crisis year or one region), the functional form (logs against levels), the standard errors (robust, clustered, HAC; clustering needs about 30 clusters or more) or the estimator (FE against first differences, OLS against IV). Report them all in one table and say which results move and why.

Common mistakeSpecification searching (“p-hacking”): trying many specifications and reporting only the significant one. Run twenty regressions on pure noise and about one will be significant at 5% by chance. Decide the main specification before you see the results where you can, and report every check you ran.
Econometrics Made Simple practice questions coverCheck you can choose methods and interpret results before your dissertation does it for you. Over 1,150 practice questions, every one with a worked answer.Practice book · $9

Writing up the results

Almost every empirical report follows the same structure: abstract, introduction, literature review, data, method (the equation, the estimator and the identifying assumption), results, robustness, and a conclusion with specific limitations. Your handbook’s rules come first; the IB Extended Essay, for example, has a 4,000-word limit.

Each main result deserves a paragraph that does five things in order: (1) the direction; (2) the size in real units; (3) the precision, as a standard error or confidence interval; (4) whether it is robust; (5) what it does and does not show. Compare two versions for a wage equation with 1,000 workers:

WeakEducation is highly significant (***) with a t statistic of 13.8. The \( R^2 \) is 0.25, so the model is good. This proves that education causes higher wages.
StrongWorkers with more schooling earn more, other things equal. Holding experience, tenure and gender fixed, one more year of education is associated with an hourly wage about 10.5% higher (coefficient 0.1048 on the log wage, standard error 0.0076; 95% confidence interval 0.090 to 0.120). The estimate barely changes when union membership, marital status, urban residence and region are added (0.1056). Because ability is not observed and is likely to raise both schooling and wages, this probably overstates the causal return.

The weak paragraph reports stars rather than a size, judges the model by \( R^2 \) and makes a causal claim the design cannot support. (The 10.5% uses the approximation \( 100\hat\beta \); the exact figure is \( 100(e^{0.1048}-1) = 11.0\% \).) Report regressions in a publication-style table: numbered columns, the dependent variable at the top, standard errors in parentheses, the type of standard error in a note, and rows for fixed effects, observations, clusters and \( R^2 \). Our post on how to read regression output explains each number.

Reproducibility and ethics

A project is reproducible if someone given your raw data and scripts can produce every number, table and figure by running the scripts, with no manual step. It protects you: when your supervisor asks “what happens if you drop 2009?” two weeks before the deadline, you change one line and re-run. Keep raw data, scripts and output in separate folders, number the scripts in the order they run, and use version control or dated backups. Never fabricate or alter data, report the checks that did not go your way, get consent and ethics approval for data from people, and acknowledge any software or AI help as your institution requires.

A worked mini-project: does investment raise growth?

The book carries out a small project on countries_panel.csv, a simulated panel of 60 countries observed every year from 2000 to 2019 (1,200 country-years, no missing values). Because the data are simulated, the true effect of investment is known: 0.11.

Question. Across 60 countries in 2000–2019, is a higher investment share of GDP associated with faster GDP growth within the same country, holding schooling, openness and inflation fixed, and after removing shocks common to all countries in a year? The economic model is the Solow growth model; the econometric model is the two-way fixed-effects equation of Step 15:

\[ \text{growth}_{it} = \beta_1\,\text{inv}_{it} + \beta_2\,\text{school}_{it} + \beta_3\,\text{open}_{it} + \beta_4\,\text{infl}_{it} + a_i + \lambda_t + u_{it} \]

The country effects \( a_i \) absorb institutions, geography and anything else roughly fixed over 20 years; the year effects \( \lambda_t \) absorb global shocks. Standard errors are clustered by country.

Describe. Growth averages 3.61% a year (standard deviation 2.39) and investment 21.38% of GDP (standard deviation 5.04). GDP per head is very skewed (mean $13,794), so it should enter in logs. Most of the variation in investment is between countries: the standard deviation of the 60 country averages is 4.48 points, against 2.40 for deviations from each country’s own average. Fixed effects use only the second kind, so they will be less precise than pooled OLS.

Mean GDP growth by year, 60 countries % a year
Mean growthMiddle half of countries (25th to 75th percentile)
200020042008201220162019-101234567% a year2009: 0.41%
Figure 1. A common shock: mean growth fell from 3.80% in 2008 to 0.41% in 2009 and recovered to 3.99% in 2010. Year effects in the regression absorb shocks like this. Data: countries_panel.csv (simulated), Chapter 20.

Estimate. Four models, all with standard errors clustered by country:

Dependent variable: GDP growth (%)(1) Pooled(2) Pooled(3) FE(4) Two-way FE
Investment (% of GDP)0.1998 (0.0259)0.1402 (0.0111)0.0875 (0.0251)0.0781 (0.0224)
Schooling (years)0.4332 (0.0273)0.3819 (0.0998)0.4633 (0.3759)
Openness (% of GDP)0.0064 (0.0033)0.0069 (0.0033)0.0069 (0.0033)
Inflation (%)−0.0621 (0.0141)−0.0709 (0.0154)−0.0691 (0.0153)
Country / year effectsNo / NoNo / NoYes / NoYes / Yes
\( R^2 \) (within for FE)0.1770.3570.0410.040

1,200 observations and 60 clusters in every column. Standard errors clustered by country in parentheses. Column (4) is the main specification.

The pooled estimate is about 2.6 times the two-way FE estimate: countries with high investment also have favourable fixed characteristics, and pooled OLS credits investment with part of their effect. The within \( R^2 \) is only 0.040, but that says nothing against the investment coefficient, which is precisely estimated (\( t = 3.49 \), \( p = 0.0005 \)). For choosing between fixed and random effects in a panel like this, see our post on fixed effects vs random effects and the Hausman test.

Robustness. Re-estimating model (4) with one choice changed at a time: dropping 2009 gives 0.0863; dropping 2008–2010, 0.1099; adding lagged log GDP per head, 0.0727; dropping the three country-years with inflation above 20%, 0.0784; dropping the Middle East, 0.0868; and robust, unclustered standard errors give 0.0221 instead of 0.0224. Every p-value is below 0.01.

The investment coefficient across models and robustness checks points of growth per point of investment
Pooled OLSFixed effectsTrue value in the simulation
(1)(2)(3)(4)R1R2R3R4R50.000.050.100.150.200.25true effect 0.11main resultsrobustness checks on (4)
Figure 2. Dots are estimates; lines are 95% confidence intervals (clustered by country). (1) pooled OLS; (2) pooled with controls; (3) country fixed effects; (4) two-way fixed effects, the main model. R1 drop 2009; R2 drop 2008–2010; R3 add lagged log GDP per head; R4 drop inflation above 20%; R5 drop the Middle East. Data: countries_panel.csv (simulated), Chapter 20.
Worked example

Turn the main estimate (0.0781, 95% interval [0.0341, 0.1221]) into a statement in real units, using the within-country standard deviation of investment (2.40 points) and average growth (3.61%).

Step 1A typical within-country change in investment is one within standard deviation, 2.40 points of GDP.
Step 2Associated change in growth: \( 2.40 \times 0.0781 = 0.19 \) percentage points.
Step 3Relative to average growth: \( 0.19/3.61 \approx 0.05 \), about a twentieth.
Step 4Interval: \( 2.40 \times [0.0341,\ 0.1221] = [0.08,\ 0.29] \) points.

Use the within-country standard deviation because a fixed-effects coefficient is estimated from changes within countries; a change as large as the 4.48-point spread between country averages is rare within one country. The write-up ends with the caveat: the design removes fixed country characteristics and global shocks, but not time-varying factors that move investment and growth together, so this is a within-country association, not a causal effect.

Limitations. Name specific threats and say which way they push. Reverse causality: firms invest when they expect growth, which biases the coefficient upwards; fixed effects do not remove it. Measurement error in investment biases FE towards zero. Slowly changing controls: schooling is badly estimated once year effects are added (standard error 0.376), so draw no conclusions about it. Finally, the check only simulated data allow: the two-way FE estimate of 0.078 lies about 1.4 standard errors below the true 0.11, which is inside its 95% interval. Pooled OLS (0.200 and 0.140) overstates it, as the between-country bias predicts. For more on the direction of such biases, see our post on omitted variable bias.

Before you submitCan you write the regression from your question? Is every dataset traceable and cited? Is all cleaning in scripts, with raw files untouched? Is the identifying assumption argued in words, with standard errors that suit the data? Does each key result give direction, size, precision, robustness and a caveat? Does re-running the scripts reproduce every number? The book ends Chapter 20 with a one-page checklist covering all of this.

Practise: 6 questions

Try each one on paper first, then check the worked answer.

EasyQ1. A student proposes “the effect of technology on jobs”. Rewrite it as a specific research question and say what each observation would be. Show worked answer
One possible answer: “Across UK local labour markets in 2010–2020, is a 10-point rise in the share of firms using industrial robots associated with a change in the manufacturing employment rate, holding the industry mix fixed?”
Each observation is an area-year; the outcome is the employment rate (%), the key regressor is the robot-use share (%), and area and year effects remove fixed differences and common shocks.
Any answer naming an outcome, a measurable regressor, a population, a period and the unit of observation earns the credit.
EasyQ2. A salary rose from 6,000 riyals a month in 2018 to 7,200 in 2025, while the CPI (2018 = 100) rose to 118. Find the nominal and real percentage changes. Show worked answer
Nominal: \( 100 \times 1200/6000 = 20.0\% \).
Real 2025 salary at 2018 prices: \( 7200/1.18 = 6101.69 \) riyals.
Real change: \( 100 \times (6101.69-6000)/6000 = 1.69\% \). Check: \( 1.20/1.18 = 1.0169 \).
MediumQ3. You merge a balanced panel of 40 countries × 15 years with a file of country populations by country and year, and the result has 630 rows. What has probably happened, and how would you stop it happening silently? Show worked answer
A one-to-one merge should give 600 rows. The 30 extra rows mean duplicate keys in the population file: with 15 years per country, it is consistent with two countries appearing twice.
Count duplicates of the merge key (country, year) in each file before merging, and use a validated merge (validate="1:1" in pandas, merge 1:1 in Stata) so the script stops with an error if the keys are not unique.
MediumQ4. In a two-way fixed-effects regression of growth (%) on openness (% of GDP), the coefficient is 0.012 with a clustered standard error of 0.004. The within-country standard deviation of openness is 8 points. State the result in real units with a 95% interval. Show worked answer
A typical within-country change in openness (8 points of GDP) is associated with growth \( 8 \times 0.012 = 0.096 \) points higher, about a tenth of a percentage point.
Interval for the coefficient: \( 0.012 \pm 1.96 \times 0.004 = [0.0042,\ 0.0198] \); times 8: \( [0.03,\ 0.16] \) points.
With \( t = 3.0 \) it is clearly different from zero, but the economic size is modest, and it is a within-country association, not a causal effect.
MediumQ5. Match each project to a starting method and the relevant guide step: (a) whether a new tax on sugary drinks in one province changed sales relative to other provinces; (b) next quarter’s unemployment rate; (c) whether a loan applicant is approved, on income and credit history; (d) the effect of class size on test scores, using a rule that splits classes above 40 pupils. Show worked answer
(a) Difference-in-differences with an event study to check pre-trends, standard errors clustered by province (Step 16).
(b) Forecasting: AR or ADL models, judged out of sample against a naive benchmark (Step 19).
(c) Binary outcome: linear probability model, logit or probit, with marginal effects (Step 14).
(d) Regression discontinuity at the enrolment cut-off, or IV using the rule as an instrument for class size (Steps 16 and 13).
ExamQ6. A student reports a main coefficient of 0.078 (s.e. 0.022) and robustness checks ranging from 0.073 to 0.110. Dropping the crisis years 2008–2010 gives the largest estimate. (a) Is the result robust? Justify. [2] (b) Interpret the fact that dropping the crisis years raises the estimate. [2] (c) Name two limitations a design with country and year fixed effects cannot remove, and the likely direction of bias for each. [4] Show worked answer
(a) Yes: every check gives a positive estimate of similar size [1], and the whole range, 0.073 to 0.110, lies inside the main 95% interval of about 0.034 to 0.122, so no single arbitrary choice drives the conclusion. [1]
(b) The crisis years add noise rather than driving the result [1]: the common shock is absorbed by year effects, but unusual movements in those years weaken the measured relationship; without them the estimate is closer to the underlying within-country link. [1]
(c) Reverse causality: firms invest more when they expect growth, so growth drives investment; bias upwards. [2] Measurement error in investment: random error biases the FE estimate towards zero (attenuation), made worse because FE discards the between-country signal. [2] (Time-varying omitted factors such as credit booms are also acceptable, with the direction argued.)
Total: 8 marks.

Check yourself

1. A robustness check should

One change at a time shows which choice drives any movement, and every check run should be reported.

2. You run 20 regressions on pure noise. About how many will show a slope significant at the 5% level?

\( 20 \times 0.05 = 1 \). That is why reporting only the significant specification (p-hacking) makes the p-value meaningless.

3. In the mini-project the within \( R^2 \) of the two-way FE model is 0.040. This means

A low \( R^2 \) does not make a coefficient wrong, and a high one does not make it causal. The investment coefficient has \( t = 3.49 \).

Your score: 0 out of 3

The short version

  • A good question is specific, answerable with obtainable data and interesting; test it by writing the regression it implies, and check feasibility in week one.
  • Read for question, data, method and result; keep a literature matrix; write the review by theme and end with the gap.
  • Use reputable, documented sources and cite every dataset; clean only in scripts; describe before you estimate.
  • Choose the method from the data structure and the question; start simple; let the design carry any causal claim.
  • Robustness: one change at a time, all reported. Results: direction, size in real units, precision, robustness, caveat.
  • Mini-project: investment coefficient 0.200 pooled, 0.078 with country and year effects (clustered s.e. 0.022), between 0.073 and 0.110 in every check; true value 0.11.
  • Chapter 20 of Econometrics Made Simple covers the whole project process in full, with the mini-project in Python, R and Stata and a one-page checklist. If your project draws on several subjects, the Complete Book Bundle includes every Economics, Statistics, Mathematics and Econometrics book.
Econometrics Made Simple complete bundle coverEvery method your project might need, from OLS to panels, IV and time series. Get the textbook and the practice book together for $19 (was $24).Both books · $19
Want more questions like these, with worked answers?
The practice book has over 1,150 more, graded from easy to exam level.
You have finished all 20 stepsBack to the econometrics guide