Skip to main content

Unit Count (Daily Participation) Metrics

Summary​

Unit count metrics with the daily participation rate rollup type measure the fraction of days that the user participated in an action during the experiment.

Use Cases​

This metric type is an analogue for DAU, and is useful for growth accounting and for measuring upkeep of usage and retention.

Calculation​

At the unit level, unit count metrics create a 1/0 flag for if they participated on a given day.

At the group level, the mean is calculated as the SUM of the unit-level flags divided by each unit's days in th experiment, divided by the count of UNIQUE UNITS exposed to the experiment.

This would look like the SQL below:

-- Unit Level
SELECT distinct
source_data.unit_id,
exposure_data.group_id
COUNT(distinct source_data.date) as value
FROM source_data
JOIN exposure_data
ON
-- Only include users who saw the experiment
source_data.unit_id = exposure_data.unit_id
-- Only include data from after the user saw the experiment
-- In this case exposure_data is already deduped to the "first exposure"
AND source_data.timestamp >= exposure_data.timestamp
GROUP BY
source_data.unit_id,
exposure_data.group_id;

-- Experiment
SELECT
group_id,
unit_id,
date_diff(first_exposure_ds, today()) + 1 AS days_exposed
FROM exposure_data
GROUP BY group_id;

-- Group Level
SELECT
group_id,
SUM(value/days_exposed)/COUNT(distinct unit_id) as mean
FROM unit_data
JOIN group_data
USING (group_id, unit_id)
GROUP BY group_id;

Options​

  • Metric Breakdowns
    • You can configure Metadata Columns to group results by, getting easy access to dimensional views in pulse results
  • Multi Source
    • Sums can be built with inputs from multiple metric sources; think of this as a UNION in SQL. This can be useful if you have the same measure in sharded or disparate tables
  • Rollup Mode
    • Rollup Mode controls the specific way that Unit Count metrics are aggregated