Gerzain.caBook 20 minutes

Back to the start

The privacy threshold in action

Counts below N are hidden, rates disappear when either side of the fraction is hidden, and the export inherits the mask.

Synthetic data. The logic is the one used in production; the numbers are invented for this page.

Learners who finished each session
Session 1: 4141Session 1Session 2: 2424Session 2Session 3: 1212Session 3Session 4: below 5below 5Session 4Session 5: 00Session 5

A dashed outline marks a hidden count: it is drawn at the height of N, never at its real value.

Same data as a table, with rates
SessionStartedFinishedCompletion rate
Session 1484185.4%
Session 2332472.7%
Session 3211257.1%
Session 49below 5below 5
Session 5below 50below 5

A rate exists only when both sides of the fraction are visible. Otherwise a visible rate next to a visible count would reconstruct the hidden one.

The export inherits the mask

session,started,finished,completion_rate
Session 1,48,41,85.4%
Session 2,33,24,72.7%
Session 3,21,12,57.1%
Session 4,9,below 5,below 5
Session 5,below 5,0,below 5

The mask lives in the aggregation layer, so the dashboard, the CSV and any report inherit it. There is no second place to forget.