Skip to main content

Data Journalism Log Pack

Four copy-and-paste templates for UK data journalists to track sources, document cleaning steps, write a publishable methodology note, and verify reproducibility — with ONS Code of Practice and IPSO/IMPRESS guidance.

Last reviewed: Next review due:

Note: This is a template — adapt it to your specific situation. Not legal advice. For complex GDPR or statistical methodology questions, consult a solicitor or the ICO / ONS guidance directly.

Who this pack is for

This pack is for journalists who work with datasets — from a simple spreadsheet to a multi-source investigation. Whether you are writing a local story from council spending data or a national investigation using linked NHS and census datasets, these templates help you track provenance, document every decision, and produce the kind of publishable methodology note that satisfies editors, regulators, and readers.

The templates are aligned with the ONS Code of Practice for Statistics (code.statisticsauthority.gov.uk), IPSO Clause 1 (Accuracy), and IMPRESS Standard 1. They do not prescribe analysis tools — use whatever is right for your project: Excel, Google Sheets, Python, R, or SQL.

What’s in this pack

Four templates — fill in and file with your investigation.

Data Source Log

Records URL, licence, retrieval date, file hash, and known limitations for each dataset.

Cleaning & Transformation Log

Documents every step taken to clean or transform data, with justification and reversibility note.

Methodology Note

Plain-language note for publication alongside your story, covering sources, method, and caveats.

Reproducibility Checklist

Pre-publication check that your analysis can be independently verified by an editor or regulator.

Template 1: Data Source Log

Complete one block per dataset. Record the file hash immediately after download — it proves you are working from the original file, not a later version.

DATA SOURCE LOG

Investigation title: [TITLE]
Journalist: [NAME]
Story URL (if published): [URL]

===== DATASET 1 =====
Dataset name: [NAME]
Publisher / provider: [ORG]
URL: [URL]
Retrieval date: [DATE]
File name / format: [FILENAME.csv / .xlsx / .json]
File hash (SHA-256): [HASH — run sha256sum on the file]
Licence: [e.g. Open Government Licence v3.0 / CC BY 4.0 / commercial]
Licence URL: [URL]
Coverage / time period: [e.g. England, January–December 2024]
Data dictionary / codebook available: [Yes — URL / No]
Known limitations: [e.g. Excludes [X]; uses [Y] definition of [Z]; suppressed values below 5]
Notes: [Any other relevant context]

===== DATASET 2 =====
Dataset name:
Publisher / provider:
URL:
Retrieval date:
File name / format:
File hash (SHA-256):
Licence:
Licence URL:
Coverage / time period:
Data dictionary available:
Known limitations:
Notes:

[Copy block above for each additional dataset]

Log completed by: [NAME]
Date: [DATE]
Reviewed by (editor / data editor): [NAME]
Review date: [DATE]

Template 2: Cleaning & Transformation Log

Record every step that changes your data — even small ones. Include the formula or script so the step can be reproduced exactly.

DATA CLEANING AND TRANSFORMATION LOG

Investigation title: [TITLE]
Journalist: [NAME]
Dataset(s) covered: [LIST DATASET NAMES FROM SOURCE LOG]
Analysis tool used: [e.g. Excel / Google Sheets / Python (pandas) / R / SQL]
Original file(s) archived at: [FOLDER PATH OR CLOUD LOCATION]

===== STEP 1 =====
Date: [DATE]
Description of step: [e.g. Removed 47 rows where [COLUMN] was blank / null]
Justification: [e.g. Blank values indicate incomplete records that would skew the average]
Is this step reversible? [Yes — original file retained at [LOCATION] / No — explain why]
Script / formula used (if applicable):
[PASTE FORMULA, QUERY, OR SCRIPT SNIPPET]

===== STEP 2 =====
Date: [DATE]
Description of step: [e.g. Standardised [COLUMN] values from [VARIANTS] to [STANDARD FORM]]
Justification: [e.g. ONS uses [STANDARD] — all variants refer to the same category]
Is this step reversible? [Yes / No — explain]
Script / formula used:

===== STEP 3 =====
Date: [DATE]
Description of step:
Justification:
Is this step reversible?
Script / formula used:

[Copy block above for each step]

Final dataset row count before cleaning: [NUMBER]
Final dataset row count after cleaning: [NUMBER]
Rows removed: [NUMBER] ([PERCENTAGE]%)
Reason rows were removed: [SUMMARY]

Log completed by: [NAME]
Date: [DATE]
Reviewed by: [NAME]
Review date: [DATE]

Template 3: Methodology Note (for publication)

Adapt this note for publication alongside your story. It should be honest about what the data can and cannot show — readers and regulators will respect you more for it.

METHODOLOGY NOTE — FOR PUBLICATION

[This note is intended to be published alongside or linked from your data story.]

About this analysis

This story is based on data from [NAME(S) OF DATASET(S)], published by [PUBLISHER(S)].

The data was retrieved on [DATE(S)] and covers [PERIOD AND GEOGRAPHY — e.g. England and Wales, January 2023 to December 2024].

What we did with the data
We [DESCRIBE ANALYSIS IN PLAIN LANGUAGE — e.g. calculated the rate per 100,000 population using mid-year population estimates from the ONS; identified local authorities where the rate exceeded the national average by more than 20%; ranked areas by the change between the first and last year in the dataset].

Caveats and limitations
— [CAVEAT 1 — e.g. Figures for [AREA] are suppressed in the original data where counts fall below 5, to protect individual privacy. These areas are excluded from our ranking.]
— [CAVEAT 2 — e.g. The definition of [TERM] changed in [YEAR]. Figures before and after that date are not directly comparable.]
— [CAVEAT 3 — e.g. The data covers [PERIOD] only and does not reflect changes since [DATE].]

We have retained copies of all original data files and our analysis is available to editors and regulators on request.

Questions or corrections
If you believe our analysis contains an error, please contact [EMAIL]. We will investigate and issue a correction in accordance with our corrections policy.

Sources
— [Dataset 1]: [URL]
— [Dataset 2]: [URL]
— ONS Code of Practice for Statistics: code.statisticsauthority.gov.uk

Template 4: Reproducibility Checklist

Run through this before publishing. Have your data editor or a colleague check the key figure independently before sign-off.

REPRODUCIBILITY CHECKLIST

Investigation title: [TITLE]
Journalist: [NAME]
Date: [DATE]

ORIGINAL DATA
[ ] A copy of every original downloaded data file is archived at [LOCATION].
[ ] File hashes (SHA-256) are recorded in the Data Source Log.
[ ] The retrieval date and source URL for each dataset is recorded.

CLEANING AND TRANSFORMATION
[ ] Every cleaning and transformation step is recorded in the Cleaning Log.
[ ] The reasoning for every step is documented.
[ ] Where a step is irreversible, this is noted and the original pre-step file is retained.

ANALYSIS
[ ] All formulas, queries, or scripts used to produce the published figures are saved.
[ ] A step-by-step recreation of the key figure(s) in the story has been checked by at least one other person.
[ ] The published figures have been verified against the source data before publication.

PUBLISHED OUTPUT
[ ] A methodology note is published alongside or linked from the story.
[ ] All caveats and limitations are disclosed in the story or the methodology note.
[ ] The story does not claim more than the data supports.

REGULATORY READINESS
[ ] The Data Source Log, Cleaning Log, and analysis files are stored and retrievable for at least two years.
[ ] The journalist / data editor can explain every step in the analysis if challenged by IPSO, IMPRESS, or Ofcom.

Checked by: [NAME] | Date: [DATE]
Signed off by (editor): [NAME] | Date: [DATE]

References:
— ONS Code of Practice for Statistics: code.statisticsauthority.gov.uk
— IPSO Editors' Code, Clause 1 (Accuracy): ipso.co.uk/editors-code-of-practice
— IMPRESS Standards Code, Standard 1 (Accuracy): impress.press/standards

Primary sources and references

Frequently asked questions

Why do I need to keep a data source log for journalism investigations?
A data source log creates a verifiable record of where your data came from, when you retrieved it, and under what licence. This matters for three reasons: editors and fact-checkers can verify your work; legal challenges require you to prove the source and provenance of your data; and regulatory bodies such as IPSO and IMPRESS expect journalists to be able to demonstrate the accuracy of data-driven claims. Without a log, you are relying on memory — and datasets change after you download them.
What is the ONS Code of Practice for Statistics?
The Code of Practice for Statistics is the set of standards produced by the UK Statistics Authority (UKSA) that governs the production and release of official UK statistics, including those published by the Office for National Statistics (ONS). For journalists, the key principle is that official statistics should be used in the context in which they were designed to be used, and the methodology note should be published alongside any data story. The Code is available at code.statisticsauthority.gov.uk.
Do IPSO or IMPRESS have specific rules about data journalism?
Both regulatory frameworks require accuracy. IPSO Clause 1 requires that publications do not publish inaccurate, misleading or distorted information. IMPRESS Standard 1 requires accuracy including statistical accuracy. Both expect journalists to be able to demonstrate the accuracy of their claims. Keeping a data source log and methodology note is your primary evidence that you handled data correctly. Neither IPSO nor IMPRESS prescribe a specific format for data logs — these templates fill that gap.
What should a methodology note published alongside a data story include?
A published methodology note should include: the name and source of each dataset used; the retrieval date; the licence under which the data was used; a plain-language description of any cleaning or transformation steps taken; any limitations or caveats in the data that affect interpretation; and an invitation for readers to contact you with questions or corrections. The note does not need to be long — two or three paragraphs is usually sufficient — but it should be honest about what the data can and cannot show.
What does reproducibility mean in data journalism?
Reproducibility means that another journalist, editor, or reader with access to the original data should be able to follow your documented steps and arrive at the same result you published. In practice this means: keeping a copy of the original downloaded data file; documenting every transformation step in your cleaning log; and (where possible) making your analysis script available for peer review. You do not need to publish everything — but you should be able to produce it if challenged by a regulator, a subject of the story, or a competing journalist.

Related packs

Related guides