cassionData Analysis

Course · Intermediate · Communication and Delivery

Dashboards and Reporting

Build a dashboard someone opens twice, and write the donor report around it — including the refresh, the caveats and the definition panel that stops the monthly argument.

PythonR18 h8 lessons

What you will be able to do

  • Decide what a dashboard is for, and refuse the twenty-tile request with something better
  • Lay out a page so the three numbers that drive a decision are read first
  • Carry provenance on every figure — the as-of date, the source file, the refresh cadence
  • Write an indicator definition panel so a number and its definition travel together
  • Write a narrative report whose findings, limitations and recommendation are separable
  • Present a finding to a steering committee when it is not the finding they wanted

Standards and methodologies

OECD DAC evaluation criteriaCore Humanitarian Standard (CHS)UNICEF indicator definitionsSphere StandardsIntegrated Food Security Phase Classification (IPC)

A dashboard that nobody opens twice is a dashboard that failed, and the reason is almost never the charting. It is that the page answers no question anyone was about to decide — so the first lesson is about refusing a request rather than fulfilling it.

This course teaches against seven dashboards the platform actually ships. They are static HTML, built from committed datasets by pnpm project:dashboards, and every claim the course makes about them is checkable.

Three of those claims shape it.

A dashboard with no JavaScript is not a limitation here, it is the design. The Content-Security-Policy forbids inline script bodies, and the audience works offline and on metered connections. What is left — tiles, a table, an embedded figure, about eight kilobytes — opens on a phone in a field office and prints from a laptop with no network at all.

Every one of the seven ends with a section saying what it does not show. The protection dashboard names the nineteen cells of one that a four-way disaggregation would produce. The vaccination one says coverage above 100% is a denominator rather than performance. That section is the part a reviewer reads first and the part that is written last.

A definition panel is not documentation, it is a check. Building the WASH dashboard from the same file as the project’s indicator documentation surfaced a disagreement — 82.3% against 79.7% on improved water coverage — because the course had omitted delivered water from the JMP improved list. The documentation was right, the lesson was wrong, and nothing would have found it except two artefacts computing the same indicator and being compared.

Both Python and R throughout. You need Data Visualisation for Programmes first: this course assumes you can already choose a mark and put an interval on it, and spends its time on what surrounds the chart rather than on the chart.

Start the course — The twenty-tile request is a symptom

Practice

Reading the lessons is not the same as having done the work. Each of these applies the course to a dataset it did not teach on.

Progress

Enrolling is free and only records your progress — the whole course is readable without it.

Take it offline

The whole course as a typeset PDF — every lesson, every code example, the data dictionary and the indicator definitions. Generated from the same source as this page.

The LaTeX source ships alongside each PDF, so an organisation can rebrand the handout or fold a lesson into its own training pack.