Reproducible reports and scientific reporting
A report regenerated from the analysis, not from copy and paste
What it is
Design of reproducible scientific reports and automation of reporting for research projects. The analysis, tables, figures and text are generated from code, so the document can be regenerated consistently when the data, the parameters or the method change.
A living, traceable report that can be updated, instead of a document rebuilt by hand at every iteration. It removes the risk of a number in the text drifting apart from the one in the table, and any result can be traced back to the data and the method that produced it.
Objectives
- Turn the analysis into a report that is regenerated from the code, not by copying results across by hand.
- Make every table and figure traceable to the data and the method that produced it.
- Automate the regeneration of reporting when the data change, grow or are updated.
- Leave a document that the team can regenerate and audit, with documented instructions and environment.
- Produce publication-quality outputs from a single source.
Reproducible reports
- Documents that integrate analysis, tables, figures and text in a single source, generated with Quarto.
- Every result in the report is tied to the code that produces it: nothing is transcribed by hand.
- One source, several output formats (HTML, PDF, Word), without redoing the work.
Traceability from data to document
- An explicit link between the source data, the method applied and every number that appears in the document.
- Version control of the analysis and the report, so that every result has its provenance recorded.
- A documented computational environment, so that the report regenerates the same way on another machine and at another time.
Reporting automation
- Reports built to be regenerated when the data are updated, without rebuilding the document from scratch.
- Parameterised periodic reporting: the same report for different data cuts, centres or periods.
- A versioned, documented generation pipeline, so that the team can regenerate it without relying on manual transcription or ad hoc reconstructions.
Outputs of scientific quality
- Tables and figures aligned with publication standards and with reporting guidelines such as CONSORT, STROBE or PRISMA where they apply.
- Visual and formatting consistency throughout the document, governed by a single template.
- Documents ready for a journal, a committee or a funder, produced from the same source as the analysis.
What it is for
- Remove the manual work of copying results into a document every time the analysis changes, and the errors that this copying introduces.
- Have a living report that can be regenerated when new data arrive, without rebuilding it from scratch.
- Give a journal, a committee or a funder traceable, regenerable results, not a static document detached from the analysis it came from.
If updating the results means rebuilding the report by hand, every change is a fresh chance for error.
In many projects the analysis lives in one place and the report in another, and every update means transcribing numbers from one to the other. It is slow, it is not traceable, and every copy can slip in an error that nobody catches. A reproducible report removes that manual bridge: the document is generated from the analysis and can be regenerated in full when something changes.
The report is generated, not transcribed
Tables and figures come straight from the analysis code. When a data point or a method changes, the whole document can be regenerated consistently, without transcribing numbers or reconciling versions by hand.
Every number has its provenance
Every number in the report can be traced back to the data and the method that produced it. When a reviewer asks, or in an audit, the origin of each result is documented and can be regenerated; it is not cut off from the process that produced it.
A report that stays alive
When the registry grows or a new data cut arrives, the reporting can be updated on the existing pipeline. The report stops being a snapshot and becomes a document that accompanies the project for as long as it runs.
Ready for a journal, a committee or a funder
From a single source we produce the outputs each audience needs, with tables and figures aligned with reporting guidelines where they apply. The same analysis can feed the paper, the technical report and the project report.
What working with us looks like
We apply our D²I (Data to Insights) methodology to every service. A structured, iterative and transparent process that turns complex data into actionable knowledge.
01
Kick-off and problem definition
We meet with you to understand the clinical problem, the data available and the objectives of the project. We agree on deliverables, timelines and communication channels, and we sign whatever confidentiality agreements you need to protect your data.
02
Data review and preparation
We assess the quality of your data, identify inconsistencies and limitations, and structure the data for analysis. If critical information is missing, we tell you before going any further. We document every cleaning decision so that the process is traceable and reproducible. We structure the data and the analysis so that they can feed a reproducible report: clear inputs, explicit parameters and a workflow that can be rerun in full on an updated version of the data.
03
Analysis and modelling
We apply the statistical methodology that fits your questions. We work iteratively: we share preliminary results with you, discuss the findings and adjust the approach where needed. We do not work in the dark until the final delivery. We integrate the analysis and the document in a single source with Quarto, so that tables, figures and text are generated from the code. We leave the reporting pipeline versioned, documented and parameterised, so that the team can regenerate it whenever they need to.
04
Communicating results
We turn the findings into the format you need: a technical report, tables and figures for publication, an interactive dashboard or an executive presentation. We always include the clinical interpretation, not just the figures.
05
Impact review session
30 days after delivery we meet with you again for a 60-minute strategy session. By then you have had time to present the results internally, the real implementation questions have come up and you can assess the impact of the work with some perspective. We answer your questions, adjust interpretations where necessary and agree together on the way forward.
This is our general process. If you want to understand how we apply it technically to each type of analysis, see our full D²I methodology.
Have a data project on your hands?
Tell us about your case and we will work out together how to approach it.
Book a sessionFrequently asked questions
What is a reproducible report, and how is it different from my usual Word report?
A reproducible report is a document generated from the analysis code, with tables, figures and text drawn from the same source, so that it can be regenerated in full and consistently when the data, the parameters or the method change. It applies to any project where the analysis lives in one place and the report in another, and every update means transcribing numbers from one to the other. The difference from a manual document is structural. In the usual workflow, updating results means copying numbers by hand from the analysis into the document, which is slow and not traceable, and every copy can slip in an error that nobody catches. A reproducible report has no such manual bridge: the document is regenerated from the analysis. It is not a tidier Word file, but a document tied to the code that produces it, which is no longer rebuilt by hand at every iteration.
My data are going to change or grow. Do I have to redo the report every time?
It should not have to be redone by hand: that is exactly the problem this service solves. It applies when a registry grows, a new data cut arrives or the reporting has to be repeated for different periods, centres or cohorts. The report is built on a parameterised, versioned pipeline, so regenerating it with updated data does not mean rebuilding the document from scratch, as long as the expected input structure is kept or the pipeline is updated in a controlled way: the workflow is rerun and the document is rebuilt consistently. The same report can also be produced for different cuts, by centre or by period, by changing a parameter rather than rewriting the document. The report thus stops being a snapshot and becomes a living document that accompanies the project for as long as it runs. What you get is not just today's report, but the mechanism that regenerates it when the data change, without manual transcription or ad hoc reconstructions.
How does reproducibility make every number in a report traceable?
Traceability is built by linking every number in the document to the source data and to the method that produced it, so that no number is transcribed by hand. It applies to any report that has to be defended before a reviewer, a committee or an internal review, where the origin of each result must be traceable. Every table and figure comes straight from the analysis code, the analysis and the report are kept under version control, and the computational environment is documented so that the report can be regenerated consistently on another machine and at another time. It is worth being precise about what "reproducible" means here: that the same data and the same code, in the same documented environment, produce the same document. It does not mean that the result is scientifically correct, only that it is traceable and regenerable. That traceability from data to document is what makes the report auditable, in the sense that its provenance is recorded rather than cut off from the process that generated it.
What technology do you use, and will I be locked into a specific tool?
The engine behind the reports is Quarto, which integrates analysis, tables, figures and text in a single source and produces several output formats, such as HTML, PDF or Word, without redoing the work. It applies to anyone who needs a reproducible deliverable and, at the same time, different formats for different audiences from the same analysis. Choosing Quarto does not shut the work inside a black box: the pipeline is delivered versioned and documented, with the computational environment recorded, so that the team can regenerate and maintain it if it has the right technical environment. Because the document is tied to code rather than to an opaque proprietary format, a single source feeds the paper, the technical report and the project report. What you get is not a dependency on a closed tool, but a documented workflow that the team can run and review. The technology is the means to reproducibility and traceability, not a product to be locked into.
Do the tables and figures come out at publication quality and in line with reporting guidelines?
Yes: the outputs are prepared for scientific use and publication from the same source as the analysis, with tables and figures aligned with reporting guidelines such as CONSORT, STROBE or PRISMA where they apply to the study design. It applies to anyone who is going to submit to a journal or present to a committee or funder and needs a consistent format that conforms to the guidelines. Visual and formatting consistency is governed by a single template, so the whole document keeps the same style without repeated manual adjustments. The scope of those guidelines is worth spelling out. CONSORT, STROBE or PRISMA structure the reporting according to the type of study and are applied where relevant, but aligning the report with them does not in itself secure acceptance, which depends on many other factors. From a single source we produce the outputs each audience needs, such as the paper, the technical report or the project report, rather than three documents maintained separately. What you get is material ready for its audience, regenerable and aligned with the applicable guideline.
When is a reproducible report enough, and when do you need an interactive app?
It is enough when the user consults the result and does not need to manipulate it: a reproducible report is a document that regenerates automatically and consistently when the data are updated. An interactive app, by contrast, lets the user control the input (change parameters, filter, recalculate) and get different outputs in real time. They do not meet the same need. A reproducible report ensures that the same data, the same code and the same documented environment produce the same document, traceable and regenerable; an interactive app lets you explore the analysis autonomously. The difference is whether the user reads a document that regenerates or operates a tool that recalculates. They can be stages of the same project, for example an analysis that is first reported reproducibly and later made explorable, but as services they meet different needs: reproducing a result reliably versus exploring it interactively.
Does a reproducible report include designing the figures that go with it?
It integrates them, but does not design them piece by piece. Reproducible reports focus on generating the whole document, tables, figures and text included, from the analysis, so that it can be regenerated when the data change. Building specific figures and a narrative to communicate a finding to a given audience, taking care over each visual piece, is what scientific visualisation and data storytelling address. They do not answer the same question. Visualisation addresses how to communicate a result clearly and honestly; reproducible reporting addresses how to produce and maintain the whole document in a traceable, automatable way. They complement each other naturally, since a reproducible report incorporates well-designed figures and visualisation work can be integrated into a reproducible pipeline, but one works on the communication piece and the other on the whole document and its regeneration. If what you need is a carefully designed figure for a paper, it's visualisation; if it's a report that regenerates itself when new data arrive, it's reproducible reporting.
What do I need to provide to set up a reproducible report, and what do you do?
You need to provide the project's analysis or data, and a clear idea of what the report should contain and who it is for. The client owns the data and the project's decisions; the service designs, integrates, automates and documents the reproducible report built on that analysis. The work structures the data and the analysis so that they can feed a regenerable report, with clear inputs, explicit parameters and a workflow that can be rerun in full, and integrates the analysis and the document in a single source with Quarto. The reporting pipeline is delivered versioned, documented and parameterised, so that the team can regenerate it on its own once it has the necessary environment and instructions, without relying on manual transcription. What you get is not just a document, but the reproducible mechanism that generates it and the documentation to maintain it; the data and the project's decisions remain the team's.
Shall we talk?
Tell us what you are working on and we will give you a straight answer on how we can help.