
There are two common scenarios where the experiment assignment unit differs from the analysis unit:

1. Measuring session-level metrics for a user-level experiment. Ratio metrics are commonly used to solve this (covered on this page).
2. Measuring logged-in metrics (eg. revenue) on a logged-out experiment. There are two solutions:
   a. Running the experiment at the [device-level](/guides/first-device-level-experiment), with device-level metrics collected even after the user is logged-in.
   b. Using [ID resolution](/statsig-warehouse-native/features/id-resolution).

This page explains how to set up the first scenario using Warehouse Native.

{% figure %}
![Workflow diagram for analyzing metrics at different ID levels](/images/metrics/different-id/0b75615f-2b66-44f4-b6e0-e0bd3e555199.png)
{% /figure %}

## Example: Organizations and Users

Scenario:

* Your metrics source has both `org_id` and `user_id`.
* The relationship between `org_id` and `user_id` is 1-to-many. A single `org_id` can be associated with multiple users (`user_id`), but a `user_id` is only associated with a single `org_id`.
* Statsig assigns your experiment at the `org_id` level.
* You are interested in understanding the treatment effect at the `user_id` level, such as revenue per user.

### 1. Set up the metric source with `org_id` as an ID type

* In this table, each row of data should have both `org_id` and `user_id`.

{% figure %}
![Metric source table setup with org_id and user_id fields](/images/metrics/different-id/a99a4577-8be5-4001-ac4d-2297f3b2fff0.png)
{% /figure %}

### 2. Choose your assignment source, where the unit of assignment is `org_id`.

{% figure %}
![Assignment source configuration selecting org_id unit](/images/metrics/different-id/16472cd7-1aa1-44a2-9a6b-0f789ac5308e.png)
{% /figure %}

### 3. Define your metric of revenue per `user_id`

* Your denominator should be `count distinct user_id` instead of `unit count`, because the latter is equivalent to `count distinct org_id` in an `org_id` level experiment.

{% figure %}
![Metric definition screenshot showing revenue per user_id formula](/images/metrics/different-id/ca4c9076-28e1-4cf8-8aa1-2127def7d771.png)
{% /figure %}

### 4. Set up the experiment with `org_id`

{% figure %}
![Experiment setup specifying org_id as unit type](/images/metrics/different-id/02f9c6bb-0b32-4caf-a529-5bacc2a56d44.png)
{% /figure %}

## How the Stats Engine handles cluster experiments

The Stats Engine uses the delta method to calculate variance and confidence intervals.

* For mean metrics, the Stats Engine records the number of observations per exposed unit in the records column of the staging data. This value acts as the denominator or cluster-size value for delta calculations.
* For general ratio metrics, the Stats Engine tracks the two-component metrics (the ratio and the denominator) as independent metrics, then combines them during the pulse analysis to derive a single metric.

For more information about the delta method, go to [Statsig - Delta Method Methodology](/experiments/statistical-methods/methodologies/delta-method). The delta method accounts for the covariance between the numerator and the denominator (more users per org is correlated with more revenue). Refer to section 3 of [this paper](https://alexdeng.github.io/public/files/kdd2018-dm.pdf) for details.

This approach is also relevant for analyzing event-level outcomes, such as average purchase value, where randomization occurs at the user level, and each user may experience multiple session events.
