
You can provide additional detail about an entity that doesn't typically change (for example, a user's home country), or a property that may change as part of an experiment (for example, Subscriber Status: True/False). For dynamic properties, you provide a timestamp field that Statsig uses to identify the most recent value before the user's exposure. This prevents imbalanced groups and biased results in cases where an experimental treatment impacts the property, for example if the treatment increased the subscription rate.

{% figure %}
![Entity Properties configuration interface](/images/statsig-warehouse-native/configuration/entity-properties/7fcac725-54b4-46be-bb68-52fcc308fe5f.png)
{% /figure %}

{% figure %}
![Entity Properties setup screen with timestamp configuration](/images/statsig-warehouse-native/configuration/entity-properties/6c151cf4-d343-4750-8bfd-a6d48afd6e10.png)
{% /figure %}

## Example data

For property sources, Statsig only needs a user\_id and property fields. Property sources can define **fixed** properties (for example, a user's country of origin), or **dynamic** properties, in which case you need to provide a timestamp for Statsig to identify the most recent pre-exposure record.

| Column Type      | Description                                                                                 | Format/Rules                   |
| ---------------- | ------------------------------------------------------------------------------------------- | ------------------------------ |
| timestamp        | *Optional* an identifier of when the property was defined. Required for dynamic properties  | Castable to Timestamp/Date     |
| unit identifier  | **Required** At least one entity to which this metric belongs                               | Generally a user ID or similar |
| property columns | **Required** Fields which can be used to group by and filter results in exploratory queries |                                |

For example, a static property source could just be:

| user\_id       | company\_id | country |
| ------------- | ---------- | ------- |
| my\_user\_17503 | c\_22235455 | US      |
| my\_user\_18821 | c\_22235455 | CA      |

You can use this source to filter and group results in any experiment that exposed either user\_id or company\_id.

For a dynamic property, it might look like this:

| user\_id       | timestamp  | company\_id | intent\_segment | spend\_segment |
| ------------- | ---------- | ---------- | -------------- | ------------- |
| my\_user\_17503 | 2023-10-10 | c\_22235455 | high\_intent    | high          |
| my\_user\_17503 | 2023-10-11 | c\_22235455 | high\_intent    | high          |
| my\_user\_17503 | 2023-10-12 | c\_22235455 | mid\_intent     | high          |
| my\_user\_18821 | 2023-10-10 | c\_22235455 | low\_intent     | low           |
| my\_user\_18821 | 2023-10-11 | c\_22235455 | low\_intent     | mid           |
| my\_user\_18821 | 2023-10-12 | c\_22235455 | low\_intent     | mid           |

The first user in this example has their intent\_segment property change on `2023-10-12`. Because Statsig uses the intent\_segment value before the user's exposure, this user may have different intent\_segment values across different experiments.
