On this page

Unit Count (Daily Participation) Metrics

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. It is useful for growth accounting and for measuring ongoing 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, Statsig calculates the mean as the SUM of the unit-level flags divided by each unit's days in the experiment, then divided by the count of UNIQUE UNITS exposed to the experiment.

The SQL for this calculation:

sql
-- 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: configure Metadata Columns to group results by for dimensional views in pulse results.
  • Multi Source: build metrics from multiple metric sources, equivalent to a UNION in SQL. Useful when the same measure exists in sharded or disparate tables.
  • Rollup Mode: controls the specific way that Unit Count metrics are aggregated.

Was this helpful?