Last reviewed: Next review due:
Why workflow matters in data journalism
A data error in a published article is more damaging than a factual error in a conventional story, because data errors are often more specific (a precise number that is wrong) and harder to correct cleanly. A rigorous publishing workflow — fact-checking, methodology documentation, version control, and a clear corrections process — is the professional standard for data journalism.
The BBC Shared Data Unit and Bureau Local both publish their analysis code and data alongside their stories. This is the direction the industry is moving.
The publishing workflow
Reproducible analysis with Jupyter
# Structure of a reproducible analysis notebook:
# 1. METADATA CELL (markdown)
# Analysis: NHS waiting times by trust, 2024
# Data source: NHS England RTT statistics (March 2024 release)
# Downloaded: 2024-04-15 from england.nhs.uk/statistics
# Author: [name], [organisation]
# 2. IMPORTS
import pandas as pd
import matplotlib.pyplot as plt
# 3. DATA LOADING (always from the raw source file)
df = pd.read_csv('data/raw/rtt_march_2024.csv')
# 4. DATA CLEANING (documented step by step)
# Remove rows where waiting time is blank
df = df.dropna(subset=['wait_weeks'])
# 5. ANALYSIS (each step in its own cell)
summary = df.groupby('trust_name')['wait_weeks'].mean()
# 6. VERIFICATION
print(f"Total trusts analysed: {df['trust_name'].nunique()}")
print(f"Total patients: {len(df):,}")
# 7. EXPORT for publication
summary.to_csv('data/output/nhs_waits_summary.csv')Git basics for data journalists
# Set up a new analysis repository
git init nhs-waits-analysis
cd nhs-waits-analysis
# Add your analysis files
git add analysis.ipynb data/raw/ methodology.md
# Commit with a clear message
git commit -m "Add NHS waiting times analysis — March 2024 data"
# Before publication: commit the final version
git commit -m "Final analysis — fact-checked, ready for publication"
# Share publicly on GitHub (optional)
git remote add origin https://github.com/yourname/nhs-waits-analysis
git push -u origin mainWhen workflow rigour is most critical
- 1High-profile data stories that will be widely shared and quoted.
- 2Stories about powerful institutions that will scrutinise your methodology.
- 3Analysis that will be updated monthly or annually — version control is essential.
- 4Collaborative stories where multiple journalists contribute to the analysis.
- 5Stories based on data that has not been officially published before (FOI data, leaked data).
Red flags
- Only one person has checked the key numbers — data errors are often invisible to their author.
- The analysis exists only in a spreadsheet with no version history.
- No methodology note was written before publication.
- The institution named in the story was not given a right of reply.
- A correction was made to a published article without a visible correction note.
Pre-publication checklist
- Key numbers have been independently verified by a second person.
- A methodology note is written and either published inline or linked.
- All data sources are cited with links or FOI reference numbers.
- The institution or individuals named have been offered a right of reply.
- Analysis files are committed to version control.
- The Jupyter notebook (or equivalent) runs from top to bottom without errors.
- I have a corrections process ready if an error is found after publication.
Ethics and accuracy
The IPSO Editors’ Code requires prompt and prominent corrections for inaccuracies. Our ethics hub covers the full accuracy and corrections framework for UK journalists.
Common mistakes
- Skipping the second-check because you are confident in your analysis — errors are most common when you are most confident.
- Writing the methodology note after publication rather than before.
- Correcting a data error silently without a visible correction note.
- Not keeping a copy of the data as it was when you downloaded it — data portals update files and overwrite previous versions.
- Publishing without a named contact for the methodology — expert readers need someone to email.
Related guides
Primary sources
Frequently asked questions
Should I publish my raw data and analysis alongside the story?
What is Git and why should data journalists use it?
How do I correct a data error after publication?
Related guides
Primary sources
- BBC Shared Data Unit — open methodology examples— BBC
- IPSO Editors’ Code — accuracy and corrections (Clause 1)— IPSO
- Jupyter Notebook documentation— Jupyter
- Bureau Local — open methodology approach— The Bureau of Investigative Journalism
- ONS methodology and quality notes— ONS
- UK Statistics Authority — Code of Practice for Statistics— UKSA