On this page

Build a warehouse-native data model

Warehouse Native is a legacy feature and isn't available to new customers.

Data models are the foundation for creating analyses in Warehouse-native Amplitude. Data structure affects performance and the accuracy of insights.

The following data types resemble those in traditional Amplitude. Treat Warehouse-native events as a fact table and Warehouse-native properties (user, group, and event) as dimensional tables.

Supported data types

Warehouse-native Amplitude supports the following data types.

Data modeling approaches

Event data

Most organizations connect existing event data to the Event data type with one of the following approaches:

  1. One event per table.
  2. Many event types in a single table.

Amplitude recommends the "one event per table" approach for simpler setup and use in Analytics. "Multiple event types in a single table" works, but can complicate configuration.

Use the Event data model for fact tables in a data warehouse.

User data

User models most often map to the User Properties data type. Use the User Property data model for any dimensional data models.

Joining models

Join Event and User models with each model's user ID or unique ID.

Warehouse-native projects support multiple identity spaces. Models that cross identity spaces affect the accuracy and usefulness of an analysis.

To join a Group model, select the corresponding ID in an existing Event or User Property model to establish the join.

Data structure recommendations

The structure of your data in a data warehouse or data lake affects Amplitude's performance. Model data in ways that benefit the analytical workloads Warehouse-native Amplitude generates. For more detailed best practices, refer to Warehouse-native Amplitude: Best Practices.

When you decide between one event per table or multiple events in a single table, consider your specific use case.

Create a data model

  1. In a Warehouse-native project, go to Amplitude Data and click Add Models.

  2. Select Table Selection or SQL Query as the base table option.

    • Table selection provides selectable options based on the contents of your Snowflake instance. The available values reflect the access you granted to the credentials Warehouse-native Amplitude uses.
    • SQL Query provides more flexibility for base table creation. Join tables, filter rows, and use any level of SQL you need to create the base table.
  3. When the table is complete, fill in the required fields. The data types table earlier in this article lists supported data types.

  4. Map the columns in the table you select.

  5. Select or deselect any columns in the table.

You can update this configuration after setup. You can also use Snowflake's functions in the Source Column field to convert the value in the table into the value you want in Amplitude.

  1. Click Save to name your model.

Was this helpful?