The final volume · Part V

Python Foundations Workshop V

Turn synthetic Workshop Desk bookings into an attendance report. Check the source, calculate defensible metrics, and ship a report another person can reproduce.

Python Foundations Workshop V cover with a table, bar chart, and magnifying glass
1,000pages
96runnable cases
12chapters
3connected projects

12 chapters

Find a topic

12 chapters

  • 01 Data grain, keys and measurement units

    Identify the meaning of one row before counting. Check keys, units and missing values. Keep an event log distinct from a snapshot.

    Pages 5–77 · 8 cases
  • 02 Time, reporting windows and completeness

    Declare the event window, calendar and data freeze. Distinguish a missing day from a delivered day that legitimately has zero observations.

    Pages 78–150 · 8 cases
  • 03 Reconcile source and analytical records

    Reconcile counts as records move through validation. Hold conflicting facts, assign reason codes and preserve provenance.

    Pages 151–223 · 8 cases
  • 04 Joins and dimensional modeling

    Use dimension keys and time-valid attributes to enrich facts. Check for fan-out, unmatched rows and incomplete dimension coverage.

    Pages 224–296 · 8 cases
  • 05 Build trustworthy rates and KPIs

    Write metric definitions with an explicit numerator and denominator. Separate unavailable rates, genuine zeros, changes in points and relative changes.

    Pages 337–409 · 8 cases
  • 06 Distributions, spread and outliers

    Describe center and spread without hiding unusual observations. State the quantile method, sample size and how flagged values were handled.

    Pages 410–482 · 8 cases
  • 07 Cohorts, trends and segment comparisons

    Define time and segment cohorts consistently. Compare changes within groups and check whether the overall result moved because the mix changed.

    Pages 483–555 · 8 cases
  • 08 Uncertainty and honest inference

    Represent uncertainty without overstating what the data can support. Check sample assumptions, association and reproducibility.

    Pages 556–628 · 8 cases
  • 09 Compare experiments and observational periods

    Compare periods or experiment groups using common definitions. Consider assignment, crossover, guardrails and outside changes before claiming an effect.

    Pages 669–741 · 8 cases
  • 10 Chart design and accessible reporting

    Choose a chart that expresses the measure. Use honest scales, label the unit and provide equivalent values in an accessible table.

    Pages 742–814 · 8 cases
  • 11 Disclosure control and publication boundaries

    Review what an aggregate release could reveal. Keep small values out of all output forms and look for totals or overlapping releases that expose them.

    Pages 815–887 · 8 cases
  • 12 Reproducible reports and series handoff

    Freeze report definitions and compare reruns. Ship the fixtures, source, output and checks someone else needs to reproduce the result.

    Pages 888–960 · 8 cases

Three connected projects

Build a reproducible attendance report

Open the worked attendance report

01 · Validate the data

Reconcile booking facts, workshop labels, and independent daily completeness receipts.

02 · Define the metrics

Calculate rates with explicit denominators, compare segments, and suppress small groups in the classroom report.

03 · Deliver the report

Build accessible HTML and SVG from one report object, then verify repeat builds with a manifest.

Look inside

See an actual workbook page

Try a data-grain case in the free 16-page excerpt. Preview the source pages from each project.

Open the 16-page sample

Count rows and distinct bookings, page 7

Get the complete workbook

The PDF and ZIP include 96 runnable cases with assertions and recorded output, a project suite with tests, and a curriculum index. Use Python 3.12 or newer.

Gumroad listing pending · $20 USD

The free sample and worked report are available now.