Skip to main content

AIS Data warehouse tables V2.0

Last updated on December 17, 2024

Overview

With over 200 SQL tables, AccelByte Intelligence Service (AIS) provides a comprehensive data warehouse with full data relationships that allows you to query data across games, studios, and AccelByte Gaming Services (AGS).

AIS follows GDPR standards, making sure that all data is secure and reliable. In addition, AIS data warehouse can be tailored to satisfy each user's specific data needs.

This page provides a complete list of AIS data warehouse tables.

Group: Namespace

Table: namespace_status_t

This table contains record of the status changes of a namespace over time.

For example, a record of a namespace becoming enabled at 2023-02-07 05:47:30.000.

Analytics usage: reporting on namespaces depending on status. Usually, only those which are enabled would be reported upon.

Column nameData typeDescriptionConstraints
idbigintIdentifier for namespace status generated by analytics.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key
status_idbigintRelates to namespace_status_type_t.Foreign Key
start_tsTimestamp without time zoneThe start of when the status was in effect for this namespace.
end_tsTimestamp without time zoneThe end of when the status was in effect for this namespace.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
namespace_status_t_pk{id}Unique
namespace_status_t_namespace_id_start_ts_uk{"namespace_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of namespace_status_t

namespace_status_t


Table: namespace_status_type_t

This table contains a list of possible types of statuses for namespace, i.e., ENABLED, DELETED, DISABLED, etc.

For example, ENABLED means the namespace is live within the AGS systems.

Analytics usage: displaying namespace status.

Column nameData typeDescriptionConstraints
idbigintIdentifier for namespace status type generated by analytics.Primary Key
namecharacter varyingName of the namespace status type.
lnamecharacter varyingLong name of the namespace status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
namespace_status_type_t_pk{id}Unique
namespace_status_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of `namespace_status_type_t`

namespace_status_type_t


Table

This table contains a namespace shows who or what owns data in other tables. It usually represents a game but could also be AccelByte, a project, a team within a studio or a studio.

For example, a record of a namespace for a specific game in development, its parent project namespace and the studio owning the game.

Analytics usage: obtaining namespace details, for instance to view data for all namespaces under a certain studio.

Column nameData typeDescriptionConstraints
idbigintIdentifier for namespace.Primary Key
parent_idbigintRelates back to namespace_t to identify parent of this namespace. If null then there is no parent and the namespace is a Publisher.
studio_idbigintRelates to studio_t.
namecharacter varyingName of the namespace.
lnamecharacter varyingLong name of the namespace.
is_working_titlebooleanIf the namespace is for a game and the game is a working title this is true.
effective_dtdateThe date at which data for this namespace is valid. This could be, for example, the initial release date of the game.
is_productionbooleanIndicates whether the namespace is in production or not.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
environmenttextAGS environment value of the namespace
producttextAGS product type of the namespace
namespace_typetextType of the namespace
client_nametextAGS client name of the namespace

Indexes

Index nameIndexed columnsType
namespace_t_pk{id}Unique
namespace_t_uk{"name, environment, client_name"}Unique

Relationship diagram

Show ER Diagram of `namespace_t`

referenced_by_erd_of_namespace_t


Group: User

Table: test_user_t

This table identifies test users. For example, a given user is recorded as an internal loadtest user at a given date.

Analytics usage: finding and distinguishing test users in a namespace.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user generated by analytics.Primary Key
user_type_idbigintRelates to test_user_type_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was loaded.
start_tsTimestamp without time zoneStart of the period for which this test user was given.
emailcharacter varyingUser email address.Unique Constraint
namespace_idbigintRelates to namespace_t table.Foreign Key, Unique Constraint
uidcharacter varyingAGS User ID
is_test_userbooleanFlag to identify user is test user or not
end_tsTimestamp without time zoneEnd of the period for which this test user was given.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
test_user_t_pk{id}Unique
test_user_t_uk{"email, namespace_id"}Unique
test_user_t_uid_email_idx{"uid, email"}Unique

Relationship diagram

Show ER Diagram of test_user_t

referencing_to_erd_of_test_user_t


Table: test_user_type_t

This table contains a list of test data types. The test data type is what test event source.

For example, sanity-test, loadtest-internal, loadtest-external, etc.

Analytics usage: showing a legend for test user type.

Column nameData typeDescriptionConstraints
idbigintIdentifier for test type generated by analytics.Primary Key
namecharacter varyingName of the test type.Unique Constraint
lnamecharacter varyingLong name of the test type.
job_run_idbigintID of the analytics job run via which this row was loaded.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
test_type_t_pk{id}Unique
test_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of test_user_type_t

referenced_by_erd_of_test_user_type_t


Table: thirdparty_account_t

This table contains third-party accounts held by users. This shows the platform identifier for those accounts and the platform they are using.

For example, an Xbox platform's account with its Xbox account ID.

Analytics usage: viewing third-party accounts and their platforms.

Column nameData typeDescriptionConstraints
idbigintIdentifier for third-party account generated by analytics.Primary Key
platform_idbigintPlatform ID.Foreign Key
thirdparty_uidcharacter varyingUser ID / gamer tag from each third party.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
thirdparty_account_t_platform_user_id_uk{"platform_id, thirdparty_uid"}Unique
thirdparty_account_t_pk{id}Unique

Relationship diagram

Show ER Diagram of thirdparty_account_t

referencing_to_erd_of_thirdparty_account_t


Table: user_auth_t

This table contains record of the user authentication user activity. When they authenticate into a game, a website or other client.

For example, a record of a user authenticating in a game's website at 2021-12-08 17:01:30.000 vai that website's authentication system.

Analytics usage: analysis of user authentications and on which platforms they happen over time.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user auth generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
client_idbigintRelates to oauth_client_t.Foreign Key
auth_tsTimestamp without time zoneWhen the authorization occurred.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
is_third_party_authbooleanWas this authorization done by a third party?
platform_idbigintRelates to plaform_t.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
user_auth_t_pk{id}Unique
user_auth_t_client_id_i{"client_id, auth_ts"}Non-Unique
user_auth_t_user_id_auth_ts_uk{"user_id, auth_ts"}Unique
user_auth_t_namespace_id_i{namespace_id}Non-Unique
user_auth_t_auth_ts_namespace_id_i{"auth_ts, namespace_id"}Non-Unique

Relationship diagram

Show ER Diagram of user_auth_t

referencing_to_erd_of_user_auth_t


Table: user_ban_t

This table contains record of the user ban user activity. When a user is banned from a game feature.

For example, a user is banned from chat for a week starting 2023-03-11 17:06:20.000.

Analytics usage: analysis of banned user counts and frequency of bans.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user ban generated by analytics.Primary Key
is_enabledbooleanIs this instance of a ban is enabled
user_idbigintRelates to user_t.Foreign Key
start_tsTimestamp without time zoneStart time of the user ban activity.
ban_idbigintClarity ban ID.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneUTC timestamp for the end of the activity.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_ban_t_pk{id}Unique
user_ban_t_user_id_ban_id_uk{"user_id, ban_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of user_ban_t

referencing_to_erd_of_user_ban_t


Table: user_country_t

This table shows a user's country that they connect from and the applicable time period.

For example, a record for a user connecting from the USA at 2021-08-16 04:21:28.000, then another record for that user connecting from France at 2021-08-17 05:03:19.000.

Analytics usage: showing visualisation by country.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user country generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
country_idbigintClarity country ID.Foreign Key
start_tsTimestamp without time zoneStart of the period when the player was connecting from this country.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the period when the player was connecting from this country.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_country_t_pk{id}Unique
user_country_t_country_id_i{country_id}Non-Unique
user_country_t_user_id_country_id_start_ts_uk{"user_id, country_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of user_country_t

referencing_to_erd_of_user_country_t


Table: user_date_of_birth_t

This table contains the dates of birth input by a user. This can be amended over time for the same user.

For example, a record of a user changing their date of birth to 1980-04-05 00:00:00.000 at 2021-08-10 15:38:37.000.

Analytics usage: analysis of user activity by age range.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user date of birth generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
date_of_birthTimestamp without time zoneDate of Birth of the user.
start_tsTimestamp without time zoneStart of the period for which this date of birth was given.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the period for which this date of birth was given.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_date_of_birth_t_pk{id}Unique
user_date_of_birth_t_user_id_date_of_birth_start_ts_uk{"user_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of user_date_of_birth_t

referencing_to_erd_of_user_date_of_birth_t


Table: user_display_name_t

This table contains the display names chosen by a user. This can be amended over time for the same user.

For example, a record of a user setting their display name to "Gandalf" at 2021-07-17 23:28:35.000.

Analytics usage: looking up a user by display name.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user display name generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
display_namecharacter varyingDisplay name of the user.
start_tsTimestamp without time zoneStart of the period for which this display name was given.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the period for which this display name was given.
is_uniquebooleanIndicates if the display name is unique within its environment in premium or studio level in starter
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_display_name_t_pk{id}Unique
user_display_name_t_user_id_display_name_start_ts_uk{"user_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of user_display_name_t

referencing_to_erd_of_user_display_name_t


Table: user_email_t

This table contains the email addresses chosen by a user. This can be amended over time for the same user.

For example, a record of a user setting their email to "jose79@gmail.com" at 2021-08-09 12:07:05.000.

Analytics usage: looking up a user by email or finding the currently active email for a user.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user email generated by analytics.Primary Key
emailcharacter varyingEmail of the user.
user_idbigintRelates to user_t.Foreign Key, Unique Constraint
start_tsTimestamp without time zoneStart of the period for which this email was given.Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the period for which this email was given.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_email_t_pk{id}Unique
user_email_t_uk{"user_id, start_ts"}Unique
user_email_t_email_ix{email}Non-Unique

Relationship diagram

Show ER Diagram of user_email_t

referencing_to_erd_of_user_email_t


Table: user_enabled_t

This table contains a record of whether a user is enabled or not and over which time period. When a user is enabled they can log in to clients in the namespace, when disabled they are blocked from the whole namespace. Disabled is like a global ban.

For example, a record for a user that became enabled at 2021-08-10 11:31:34.000 and was disabled at 2021-09-10 11:32:17.000.

Analytics usage: reporting on number of users enabled or disabled over time.

Column nameData typeDescriptionConstraints
idintegerIdentifier for user enabled generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key, Unique Constraint
start_tsTimestamp without time zoneStart of the period for which this user was enabled or not.Unique Constraint
is_enabledbooleanWhether the user is enabled to use a namespace.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the period for which this user was enabled or not.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_enabled_t_uk{"user_id, start_ts"}Unique
user_enabled_t_pk{id}Unique

Relationship diagram

Show ER Diagram of user_enabled_t

referencing_to_erd_of_user_enabled_t


Table: user_language_t

This table contains the interface language chosen by a user. This can be amended over time for the same user.

For example, a record of a user picking French as their primary language at 2021-08-19 07:37:57.000.

Analytics usage: analysis of languages chosen by users.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user language generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
language_idbigintRelates to language_t.Foreign Key
start_tsTimestamp without time zoneStart of the period for which this user was associated with this language.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the period for which this user was associated with this language.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_language_t_pk{id}Unique
user_language_t_language_id_i{language_id}Non-Unique
user_language_t_user_id_language_id_start_ts_uk{"user_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of user_language_t

referencing_to_erd_of_user_language_t


Table: user_marketing_preference_t

This table contains a record of whether a user has ticked subscribe when presented with a marketing preference choice or not and over which time period. This can be true or false at a given time for a user. There are not multiple marketing preference types, it is only one setting per user.

For example, a particular user subscribes to receive marketing materials from a studio at 2022-11-09 06:59:34.000.

Analytics usage: analysis of marketing preference uptake.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user marketing preference generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
is_subscribedbooleanWhether the user is subscribed to marketing or not.
start_tsTimestamp without time zoneStart of the period for which this user was subscribed or not to marketing.
end_tsTimestamp without time zoneEnd of the period for which this user was subscribed or not to marketing.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_marketing_preference_t_pk{id}Unique
user_marketing_preference_t_user_id_uk{"user_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of user_marketing_preference_t

referencing_to_erd_of_user_marketing_preference_t


Table: user_status_t

This table contains user status, including whether they are deleted or verified. A user may choose to delete their account. There can be more than one record per user as the statuses may change over time.

For example, A record of a user becoming verified at 2021-08-10 11:32:17.000.

Analytics usage: analysis of the number of users deleted or verified over time.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user status generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key, Unique Constraint
start_tsTimestamp without time zoneStart of the period for which this user has this status.Unique Constraint
is_deletedbooleanWhether user is deleted from its namespace.
is_verifiedbooleanWhether user is verified in its namespace.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the period for which this user has this status.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_status_t_pk{id}Unique
user_status_t_uk{"user_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of user_status_t

referencing_to_erd_of_user_status_t


Table: user_t

This table contains namespace level accounts. The uid must be unique on a per-namespace basis. This contains namespace, e.g., game, unique user identifier and optionally parent user.

For example, a record for a particular user in a specific game.

Analytics usage: finding users in a namespace.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user generated by analytics.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
uidcharacter varyingUser ID as reflected in AccelByte Gaming Services (AGS). This should not be confused with any of the analytics user IDs. Typically a hex string. This is the same User ID that is found in the AGS raw events.Unique Constraint
parent_user_idbigintRelates back to user_t to identify parent of this user.
min_event_datedateEarliest activity date for the User
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_t_namespace_id_i{namespace_id}Non-Unique
user_t_parent_user_id_i{parent_user_id}Non-Unique
user_t_uid_namespace_id_id_uid_i{"uid, namespace_id, id"}Unique
user_t_pk{id}Unique
user_t_uid_namespace_id_uk{"uid, namespace_id"}Unique

Relationship diagram

Show ER Diagram of user_t

referencing_to_erd_of_user_t


This table contains relates user to their third-party accounts, recorded when the link between user and the third party is made or removed.

For example, a record of a user linking their third-party account to their in-game account on 2022-05-31 07:24:54.000. Another record of them unlinking it at 2022-06-11 07:24:54.000.

Analytics usage: relating users to third-party accounts.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user third party link generated by analytics.Primary Key
user_thirdparty_idbigintRelates to user_thirdparty_t.Foreign Key
is_linkedbooleanIs there association between the AGS user and the Third Party user?
start_tsTimestamp without time zoneStart of the period for which these user accounts are linked or not.
end_tsTimestamp without time zoneEnd of the period for which these user accounts are linked or not.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_thirdparty_link_t_user_thirdparty_id_start_ts_uk{"user_thirdparty_id, start_ts"}Unique
user_thirdparty_link_t_pk{id}Unique

Relationship diagram

Show ER Diagram of user_thirdparty_link_t

referencing_to_erd_of_user_thirdparty_link_t


Table: user_thirdparty_t

This table shows the linking of a user to a third-party account during any time period.

For example, a user ID and their third-party user ID.

Analytics usage: relating users to third-party accounts.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user third party generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
thirdparty_user_idbigintRelates to thirdparty_account_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_thirdparty_t_pk{id}Unique
user_thirdparty_t_thirdparty_user_id_i{thirdparty_user_id}Non-Unique
user_thirdparty_t_user_id_thirdparty_user_id_start_ts_uk{"user_id, thirdparty_user_id"}Unique

Relationship diagram

Show ER Diagram of `user_thirdparty_t`

referencing_to_erd_of_user_thirdparty_t


Table: user_thirdparty_display_name_t

This table contains the possibly changing display name of third-party users.

For example, a specific user sets their third party display name to Melvin at a given date.

Analytics usage: to show third party display names.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user third party display name generated by analytics.Primary Key
user_thirdparty_idbigintRelates to user_thirdparty_t.Foreign Key, Unique Constraint
display_nametextThird party display name of the user.Unique Constraint
start_tsTimestamp without time zoneStart of the period for which this display name was given.Unique Constraint
end_tsTimestamp without time zoneEnd of the period for which this display name was given.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_thirdparty_display_name_t_pkey{id}Unique
user_thirdparty_display_name_t_user_thirdparty_id_uk{"user_thirdparty_id, display_name, start_ts"}Unique
user_thirdparty_display_name_t_user_thirdparty_id_i{user_thirdparty_id}Non-Unique

Relationship diagram

Show ER Diagram of user_thirdparty_display_name_t

referencing_to_erd_of_user_thirdparty_display_name_t


Table: user_username_t

This table contains the possibly changing username of a user.

For example, a specific user sets their username to geoffrey456 at a given date.

Analytics usage: to show usernames.

Column nameData typeDescriptionConstraints
idbigintIdentifier for user username generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key, Unique Constraint
usernametextUsername of the user.Unique Constraint
start_tsTimestamp without time zoneStart of the period for which this username was given.Unique Constraint
end_tsTimestamp without time zoneEnd of the period for which this username was given.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_username_t_pkey{id}Unique
user_username_t_user_id_uk{"user_id, username, start_ts"}Unique
user_username_t_user_id_i{user_id}Non-Unique

Relationship diagram

Show ER Diagram of user_username_t

referencing_to_erd_of_user_username_t


Group: User Cohort

Table: user_cohort_status_t

This table contains the status constant for user cohort. The status values are not expected to change frequently, if at all.

For example, one of EMPTY, POPULATING, AGGREGATING, READY, ARCHIVED.

Analytics usage: display current status of a user cohort.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated for user cohort statusPrimary Key
statuscharacter varyingThe status value of the user cohortUnique Constraint

Indexes

Index nameIndexed columnsType
user_cohort_status_t_pkey{id}Unique
user_cohort_status_t_status_key{status}Unique
user_cohort_status_t_pkey{id}Unique
user_cohort_status_t_status_key{status}Unique

Relationship diagram

Show ER Diagram of user_cohort_status_t

referenced_by_erd_of_user_cohort_status_t


Table: user_cohort_t

This table contains the user cohort details. The information stored includes display name, description, status, and user count.

For example, a user cohort of 1000 players who are under 18s has READY status

Analytics usage: displaying data at cohort level.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated for user cohortPrimary Key
namespace_idbigintThe namespace identifier of the user cohortForeign Key
cohort_status_idbigintThe user cohort status identifier of the user cohortForeign Key
namecharacter varyingThe user cohort display name
descriptioncharacter varyingThe user cohort description
user_countbigintThe user cohort user list count
ctimeTimestamp without time zoneThe user cohort creation time
mtimeTimestamp without time zoneThe user cohort last modified time

Indexes

Index nameIndexed columnsType
user_cohort_t_pkey{id}Unique
user_cohort_t_uk{"namespace_id, name, ctime"}Unique
user_cohort_t_pk{id}Unique
user_cohort_uk{"namespace_id, name, ctime"}Unique
user_cohort_slot_ix{"namespace_id, slot"}Unique

Relationship diagram

Show ER Diagram of user_cohort_t

referencing_to_erd_of_user_cohort_t


Table: user_cohort_user_t

This table contains the normalized user list for user cohorts.

For example, a given user is defined as being part of the under 18s cohort.

Analytics usage: linking cohort to its users.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated for user cohort userPrimary Key
user_cohort_idbigintThe user cohort identifierForeign Key
user_idbigintThe user identifierForeign Key

Indexes

Index nameIndexed columnsType
user_cohort_user_t_pkey{id}Unique
user_cohort_user_t_uk{"user_cohort_id, user_id"}Unique
user_cohort_user_uk{"user_cohort_id, user_id"}Unique
user_cohort_user_t_pk{id}Unique

Relationship diagram

Show ER Diagram of user_cohort_user_t

referencing_to_erd_of_user_cohort_user_t


Group: User Oauth

Table: oauth_client_property_t

This table contains properties of an OAuth client such as platform, url, name.

For example, a default game client running at localhost which is public starting at 2023-06-12 02:58:02.000.

Analytics usage: analyzing client usage by attribute.

Column nameData typeDescriptionConstraints
idbigintIdentifier for oauth client properties generated by analytics.Primary Key
client_idbigintRelates to oauth_client_t.Foreign Key
namecharacter varyingName of the oauth client properties.
redirect_uricharacter varyingThe redirect URI of the oAuth Client.
client_typebigintRelates to oauth_client_type_t.
base_uricharacter varyingThe base URI for the oAuth Client.
client_platformcharacter varyingThe client platform eg Playstation.
start_tsTimestamp without time zoneThe start of the lifetime of these oAuth Client properties.
end_tsTimestamp without time zoneThe end of the lifetime of these oAuth Client properties.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
oauth_client_property_t_pk{id}Unique
oauth_client_property_t_client_id_start_ts_uk{"client_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of oauth_client_property_t

referencing_to_erd_of_oauth_client_property_t


Table: oauth_client_status_t

This table contains the status of an OAuth client over time.

For example, the status for a specific client changed to DELETED at 2023-06-12 02:58:02.000.

Analytics usage: selecting OAuth clients for reporting based on status.

Column nameData typeDescriptionConstraints
idbigintIdentifier for oauth client status generated by analytics.Primary Key
client_idbigintRelates to oauth_client_t.Foreign Key
status_idbigintRelates to oauth_client_status_type_t.Foreign Key
start_tsTimestamp without time zoneThe start of when the status was in effect.
end_tsTimestamp without time zoneThe end of when the status was in effect.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
oauth_client_status_t_pk{id}Unique
oauth_client_status_t_namespace_id_start_ts_uk{"client_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of oauth_client_status_t

referencing_to_erd_of_oauth_client_status_t


Table: oauth_client_status_type_t

This table contains the possible OAuth client status types, e.g., ENABLED and DELETED.

For example, ENABLED means the client is currently live.

Analytics usage: displaying OAuth client status.

Column nameData typeDescriptionConstraints
idbigintIdentifier for oauth client status type generated by analytics.Primary Key
namecharacter varyingName of the oauth client status type.
lnamecharacter varyingLong name of the oauth client status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
oauth_client_status_type_t_pk{id}Unique
oauth_client_status_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of oauth_client_status_type_t

referenced_by_erd_of_oauth_client_status_type_t


Table: oauth_client_t

This table contains a record of OAuth clients of AGS systems.

note

In this case, a client is not a user, rather an authentication protocol.

For example, a record containing a client number, which is a unique identifier relating to the application that a user logged in from, in a particular namespace.

Analytics usage: analyzing usage of various clients by users.

Column nameData typeDescriptionConstraints
idbigintIdentifier for oauth client generated by analytics.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key
client_numbercharacter varyingAn identifier for oAuth Client.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
client_t_pk{id}Unique
client_t_namespace_id_client_number_uk{"namespace_id, client_number"}Unique

Relationship diagram

Show ER Diagram of oauth_client_t

referencing_to_erd_of_oauth_client_t


Table: oauth_client_type_t

This table contains a list of OAuth client types. One of Public, Confidential.

For example, Confidential, meaning used during development and not open to the public.

Analytics usage: displaying OAuth client type.

Column nameData typeDescriptionConstraints
idbigintIdentifier for oauth client type generated by analytics.Primary Key
namecharacter varyingName of the oauth client type.
lnamecharacter varyingLong name of the oauth client type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
oauth_client_type_t_pk{id}Unique
oauth_client_type_t_name_uk{name}Unique

Group: User Banning

Table: ban_feature_t

This table contains a list of AGS features within a game from which a user can be banned.

For example, matchmaking.

Analytics usage: showing the name of the feature from which the user has been banned when reporting on bans.

Column nameData typeDescriptionConstraints
idbigintIdentifier for ban feature generated by analytics.Primary Key
namecharacter varyingName of the game feature eg matchmaking.Unique Constraint
lnamecharacter varyingLong name of the ban feature.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_ban_feature_t_name_uk{name}Unique
user_ban_feature_t_pk{id}Unique

Relationship diagram

Show ER Diagram of ban_feature_t

referenced_by_erd_of_ban_feature_t.png


Table: ban_reason_t

This table contains list of reasons for a user to be banned from an AGS feature within a game.

For example, cheating.

Analytics usage: showing the reason why the user was banned reporting on bans.

Column nameData typeDescriptionConstraints
idbigintIdentifier for ban reason generated by analytics.Primary Key
namecharacter varyingName of the reason eg cheating.Unique Constraint
lnamecharacter varyingLong name of the ban reason.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
user_ban_reason_t_name_uk{name}Unique
user_ban_reason_t_pk{id}Unique

Relationship diagram

Show ER Diagram of ban_reason_t

referenced_by_erd_of_ban_reason_t.png


Table: ban_t

This table contains the record of the ban user activity; this is the event when they get banned within a game with the reason for the ban and feature they were banned from. It can include a freeform comment for further explanation of the ban.

For example, a user being banned on 2023-01-01 from chat features because of harassment.

Analytics usage: analysis of users' ban activities.

Column nameData typeDescriptionConstraints
idbigintIdentifier for ban generated by analytics.Primary Key
ban_numbercharacter varyingAGS ban ID.
feature_idbigintBanned from the feature with this ID.Foreign Key
reason_idbigintBanned for the reason with this ID.Foreign Key
commentcharacter varyingFreeform comment about the ban.
ban_end_dateTimestamp without time zoneTimestamp of when the ban ends.
start_tsTimestamp without time zoneStart time of the ban activity.
job_run_idbigintID of the analytics job run via which this row was imported.
end_tsTimestamp without time zoneUTC timestamp for the end of the activity.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
ban_t_pk{id}Unique
ban_t_ban_id_uk{"ban_number, start_ts"}Unique

Relationship diagram

Show ER Diagram of ban_t

alt_text


Group: Telemetry

Table: hll_telemetry_event_t

This table contains distinct users of telemetry events.

The distinct count interval is on a per-hour basis.

Analytics usage: distinct count telemetry users.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated for this table.Primary Key
hour_tsTimestamp without time zoneStart of the hour in which the event is sent.Unique Constraint
namespace_idbigintRelates to namespace_t where the namespace of the event is sent.Foreign Key, Unique Constraint
telemetry_event_idbigintRelates to telemetry_event_t to identify the telemetry event name.Foreign Key, Unique Constraint
usersHLLThis is used by the postgresql-hll extension to count unique users.
ctimeTimestamp without time zoneWhen this record was created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
hll_telemetry_event_t_pk{id}Unique
hll_telemetry_event_t_uk{"hour_ts, namespace_id, telemetry_event_id"}Unique
hll_telemetry_event_t_namespace_id_hour_ts_i{"namespace_id, hour_ts"}Non-Unique
hll_telemetry_event_t_telemetry_event_id_i{telemetry_event_id}Non-Unique

Relationship diagram

Show ER Diagram of hll_telemetry_event_t

alt_text


Table: telemetry_presence_game_state_t

This table contains the possible game states used in telemetry presence records.

For example, IN_GAMEPLAY.

Analytics usage: Analyzing and displaying events by game state.

Column nameData typeDescriptionConstraints
idbigintIdentifier for telemetry game state generated by analytics.Primary Key
namecharacter varyingName of the telemetry presence game state.
lnamecharacter varyingLong name of the telemetry presence game state.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
telemetry_presence_game_state_t_pk{id}Unique
telemetry_presence_game_state_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of telemetry_presence_game_state_t

alt_text


Table: telemetry_presence_t

This table contains a subset of telemetry event instances which indicate a user presence in a game and their state at that time. This is unlike telemetry_t which is more flexible having any kind of content in a JSON payload.

For example, a record of a .

Analytics usage: telemetry analysis, for instance to locate high resource usage during a stage of a game.

Column nameData typeDescriptionConstraints
idbigintIdentifier for telemetry presence event generated by analytics.Primary Key
flight_idbigintRelates to telemetry_presence_flight_t.Foreign Key
presence_tsTimestamp without time zoneTimestamp of when the telemetry presence event occurred.
game_state_idbigintRelates to telemetry_presence_game_state_t.Foreign Key
game_contextcharacter varyingDescribes the context of the event eg. pvp.
job_run_idbigintID of the analytics job run via which this row was imported.
device_platform_idbigintRelates to device_platform_tForeign Key
user_idbigintRelates to user_t.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
telemetry_presence_t_pk{id}Unique
telemetry_presence_t_flight_id_presence_ts_game_state_id_uk{"flight_id, presence_ts, game_state_id"}Unique
telemetry_presence_t_user_id_i{user_id}Non-Unique

Relationship diagram

Show ER Diagram of telemetry_presence_t

alt_text


Table: telemetry_t

This table contains telemetry event instances and their JSON payloads. They have a namespace, may have an associated user, event type and time.

For example, a record of CPU load in a game played by a specific user at a given time.

Analytics usage: telemetry analysis, for instance to locate high resource usage during a stage of a game.

Column nameData typeDescriptionConstraints
idbigintIdentifier for telemetry generated by analytics.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key
user_idbigintRelates to user_t. Non-null if this telemetry event is associated with a particular user.Foreign Key
telemetry_event_idbigintRelates to telemetry_event_t.Foreign Key
event_tsTimestamp without time zoneWhen the event occurred.
event_numbercharacter varyingAn identifier for the event.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
payload_jsonjsonbA JSON object containing data about the event.
flight_idbigintRelates to flight_t.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
device_typetextDevice type of the user

Indexes

Index nameIndexed columnsType
telemetry_t_event_ts_namespace_id_i{"event_ts, namespace_id"}Non-Unique
telemetry_t_telemetry_event_id_event_ts_i{"telemetry_event_id, event_ts DESC"}Non-Unique
telemetry_t_pk{id}Unique
telemetry_t_namespace_id_event_number_uk{"namespace_id, event_number"}Unique
telemetry_t_flight_id_i{flight_id}Non-Unique
telemetry_t_telemetry_event_id_i{telemetry_event_id}Non-Unique
telemetry_t_payload_json_i{payload_json}Non-Unique
telemetry_t_user_id_i{user_id}Non-Unique

Relationship diagram

Show ER Diagram of telemetry_t

alt_text


Table: telemetry_event_t

This table contains a list of possible telemetry event types within a namespace. Hence namespaces may have varying types of event types.

For example, CPU load for a particular game.

Analytics usage: showing telemetry event name.

Column nameData typeDescriptionConstraints
idbigintIdentifier for telemetry event type generated by analytics.Primary Key
namecharacter varyingName of the telemetry event type.
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
telemetry_event_t_pk{id}Unique
telemetry_event_t_namespace_id_name_uk{"namespace_id, name"}Unique

Relationship diagram

Show ER Diagram of telemetry_event_t

alt_text


Table: flight_t

This table contains the flight records. A flight is like a game session. It has a namespace, platform and its own identifier.

For example, a new session on Windows for a specific game namespace.

Analytics usage: Analysis grouped by flight.

Column nameData typeDescriptionConstraints
idbigintIdentifier for flight generated by analytics.Primary Key
namespace_idbigintRelates to namespace_t.Foreign Key
flight_numbercharacter varyingUnique Id in AGS for flight.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
flight_t_pk{id}Unique
flight_t_namespace_id_flight_number_uk{"namespace_id, flight_number"}Unique

Relationship diagram

Show ER Diagram of flight_t

alt_text


Group: Lobby

Table: lobby_disconnected_code_t

This table contains a list of AGS lobby disconnection codes.

For example, Code 4002.

Analytics usage: separating lobby session disconnections by code in reports. It can be more meaningful to use the lobby disconnected reason.

Column nameData typeDescriptionConstraints
idbigintIdentifier for lobby disconnected code generated by analytics.Primary Key
namecharacter varyingName of the lobby disconnected code.
lnamecharacter varyingLong name of the lobby disconnected code.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
lobby_disconnected_code_t_pk{id}Unique
lobby_disconnected_code_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of lobby_disconnected_code_t

alt_text


Table: lobby_disconnected_reason_t

This table contains a list of reasons for lobby session disconnection.

For example, server closed the connection.

Analytics usage: separating lobby session disconnections by reason in reports.

Column nameData typeDescriptionConstraints
idbigintIdentifier for lobby disconnected reason generated by analytics.Primary Key
namecharacter varyingName of the lobby disconnected reason.
lnamecharacter varyingLong name of the lobby disconnected reason.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
lobby_disconnected_reason_t_name_uk{name}Unique
lobby_disconnected_reason_t_pk{id}Unique

Relationship diagram

Show ER Diagram of lobby_disconnected_reason_t

alt_text


Table: lobby_platform_t

This table contains if known, this specifies what the user is running the game on.

For example, a particular user's lobby session is via Xbox.

Analytics usage: analyzing lobby sessions by users' platform used.

Column nameData typeDescriptionConstraints
idbigintIdentifier for lobby platform generated by analytics.Primary Key
lobby_session_idbigintRelates to lobby_session_t.Foreign Key
platform_idbigintPlatform Id eg. Windows.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
lobby_platform_t_pk{id}Unique
lobby_platform_t_lobby_session_id_platform_id_uk{"lobby_session_id, platform_id"}Unique
lobby_platform_t_platform_id_i{platform_id}Non-Unique

Relationship diagram

Show ER Diagram of lobby_platform_t

alt_text


Table: lobby_session_connected_t

This table contains the start of a lobby session and its time

For example, a specific lobby session started at 2022-11-01 10:40:16.000.

Analytics usage: analysis of lobby session start times, for instance to make a heat-map showing the busiest times of day.

Column nameData typeDescriptionConstraints
idbigintIdentifier for lobby session connected generated by analytics.Primary Key
lobby_session_idbigintRelates to lobby_session_t.Foreign Key
connected_tsTimestamp without time zoneUTC timestamp of the activity.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
connection_idtextThis is used to indicate a unique connection to lobby.\nUsed to relate the connect with relevant disconnect.
reconnect_frombigintThis contains the information if the connection made is a reconnect or not withing the userConnected Events.

Indexes

Index nameIndexed columnsType
lobby_session_connected_t_pk{id}Unique
lobby_session_connected_t_lobby_session_id_connected_ts_uk{"lobby_session_id, connected_ts"}Unique

Relationship diagram

Show ER Diagram of lobby_session_connected_t

alt_text


Table: lobby_session_disconnected_t

This table contains the end of a lobby session with the disconnection status code and reason

For example, a specific lobby session ended at 2022-11-01 10:40:16.000 with the code 4002 and reason "server closed the connection".

Analytics usage: analysis of the number of lobby disconnections and their reasons over time.

Column nameData typeDescriptionConstraints
idbigintIdentifier for lobby session disconnected generated by analytics.Primary Key
lobby_session_idbigintRelates to lobby_session_t.Foreign Key
disconnected_tsTimestamp without time zoneWhen the lobby session was disconnected.
reason_idbigintWhy the lobby session was disconnected.Foreign Key
disconnected_code_idbigintRelates to lobby_disconnected_code_t.Foreign Key
is_forcedbooleanWas the disconnection forced?.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
connection_idtextThis is used to indicate a unique connection to lobby.\nUsed to relate the connect with relevant disconnect.

Indexes

Index nameIndexed columnsType
lobby_session_disconnected_t_pk{id}Unique
lobby_session_disconnected_t_disconnected_code_id_i{disconnected_code_id}Non-Unique
lobby_session_disconnected_t_lobby_session_id_disconnected__uk{"lobby_session_id, disconnected_ts"}Unique
lobby_session_disconnected_t_reason_id_i{reason_id}Non-Unique

Relationship diagram

Show ER Diagram of lobby_session_disconnected_t

alt_text


Table: lobby_session_t

This table contains record of the lobby session user activity. This is when a user enters a game lobby.

For example, a particular user creates a lobby session, the ID of the user and the session will be recorded.

Analytics usage: links user to lobby session.

Column nameData typeDescriptionConstraints
idbigintIdentifier for lobby session generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key, Unique Constraint
srv_session_idcharacter varyingServer session Id for this lobby session.Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
game_lobby_session_t_uk{"user_id, srv_session_id"}Unique
lobby_session_t_pk{id}Unique
lobby_session_t_user_id_i{user_id}Non-Unique
lobby_session_t_namespace_id_i{namespace_id}Non-Unique

Relationship diagram

Show ER Diagram of lobby_session_t

alt_text


Group: Matchmaking

::: note Current version of schema supports both Matchmaking (Legacy) and the new Matchmaking service. :::


Table: match_party_user_t

This table contains the users within a match party. Duplicated data can be found in the user list in a match party, but this is provided for easier querying.

For example, a specific user is in a specific match party.

Analytics usage: joining match party to its users.

Column nameData typeDescriptionConstraints
idbigintIdentifier for match party user relation generated by analytics.Primary Key
matchparty_idbigintAnalytics identifier of a match party, a subgroup of a team.Foreign Key
user_idbigintRelates to user_t for the user who is in the match party.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
match_party_user_t_pk{id}Unique
match_party_user_t_matchparty_id_user_id_uk{"matchparty_id, user_id"}Unique
match_party_user_t_user_id_i{user_id}Non-Unique

Relationship diagram

Show ER Diagram of match_party_user_t

alt_text


Table: match_structure_team_t

This table contains the teams in a match structure. This is duplicated in the matchstructure_t table yet differs in that it is normalized for ease of querying.

For example, a given match structure contains team 1 and 2, so this table would contain a row for team 1 and team 2 both for the same match structure.

Analytics usage: relating team to match structure.

Column nameData typeDescriptionConstraints
idbigintIdentifier for match structure team generated by analytics.Primary Key
matchstructure_idbigintAnalytics identifier of the match structure which is a match in progress in a game. The team is in that match.Foreign Key
matchteam_idbigintAnalytics identifier for the team within the match.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
match_structure_team_t_pk{id}Unique
match_structure_team_t_matchstructure_id_matchteam_id_uk{"matchstructure_id, matchteam_id"}Unique
match_structure_team_t_matchteam_id_i{matchteam_id}Non-Unique

Relationship diagram

Show ER Diagram of match_structure_team_t

alt_text


Table: match_team_party_t

This table contains a utility table to relate match team to its match parties. This data is duplicated in a list of match parties inside the matchteam_t table, but this is provided for easier querying

For example, a match team containing 3 match parties. This would show as 3 records, one per party.

Analytics usage: relating match team to match party.

Column nameData typeDescriptionConstraints
idbigintIdentifier for match party team relation generated by analytics.Primary Key
matchteam_idbigintAnalytics identifier for match team, a group of players in a team.Foreign Key
matchparty_idbigintAnalytics identifier for match party, a subgroup of players.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
match_team_party_t_pk{id}Unique
match_team_party_t_matchparty_id_i{matchparty_id}Non-Unique
match_team_party_t_matchteam_id_matchparty_id_uk{"matchteam_id, matchparty_id"}Unique

Relationship diagram

Show ER Diagram of match_team_party_t

alt_text


Table: matchmaking_channel_t

This table contains describes a match mode

For example, PVP in Europe.

Analytics usage: analyzing matchmaking by channel.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchmaking channel generated by analytics.Primary Key
channel_namecharacter varyingA codename for the type of match aka match mode, eg ranked1v1.
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchamking_channel_t_channel_name_namespace_id_uk{"channel_name, namespace_id"}Unique
matchamking_channel_t_pk{id}Unique

Relationship diagram

Show ER Diagram of matchmaking_channel_t

alt_text


Table: matchmaking_mainticket_matchsession_t

This table contains relates main tickets to match sessions. Normally, a match session would have 0 or 1 main tickets but this rule may not hold, for instance due to test data.

For example, a specific session has a specific main ticket.

Analytics usage: relating session to main ticket.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchmaking mainticket matchsession generated by analytics.Primary Key
mainticket_idbigintRelates to matchmaking_ticket_t for the main ticket.Foreign Key
matchsession_idbigintRelates to matchmaking_session_t for the main ticket.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchmaking_mainticket_matchsession_t_pk{id}Unique
matchmaking_mainticket_matchs_mainticket_id_matchsession_id_uk{"mainticket_id, matchsession_id"}Unique
matchmaking_mainticket_matchsession_t_matchsession_id_i{matchsession_id}Non-Unique

Relationship diagram

Show ER Diagram of matchmaking_mainticket_matchsession_t

alt_text


Table: matchmaking_mainticket_t

This table contains the first ticket in a series of tickets for the same party when matchmaking is initiated. There may be subsequent tickets added to this series by this party, and these will not be main tickets. This contains data about the main ticket including party, channel and time.

For example, a main ticket that was created at 2023-01-11 07:35:11.000 with a user on the Xbox platform and in a specific party.

Analytics usage: defining the main ticket in a matchmaking process. Useful for investigating the users that start parties and how long it takes for them to make a successful match from the first time they enter a matchmaking queue.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchmaking mainticket generated by analytics.Primary Key
party_idbigintRelates to party_t.Foreign Key
channel_idbigintRelates to matchmaking_channel_t.Foreign Key
first_created_atTimestamp without time zoneWhen the main ticket was created.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchmaking_mainticket_t_pk{id}Unique
matchmaking_mainticket_t_channel_id_i{channel_id}Non-Unique
matchmaking_mainticket_t_party_id_first_created_at_uk{"party_id, channel_id, first_created_at"}Unique

Relationship diagram

Show ER Diagram of matchmaking_mainticket_t

alt_text


Table: matchmaking_ticket_cancelled_t

This table contains a record of when a ticket is cancelled, for instance when a party decides to exit matchmaking.

For example, a ticket that is cancelled at 2022-10-28 01:27:56.110.

Analytics usage: analyzing the times and counts of ticket cancellations in match sessions

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchmaking ticket cancelled generated by analytics.Primary Key
ticket_idbigintRelates to matchmaking_ticket_t for the cancelled ticket.Foreign Key
cancelled_atTimestamp without time zoneTimestamp of when the matchmaking ticket was cancelled.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchmaking_ticket_cancelled_t_pk{id}Unique
matchmaking_ticket_cancelled_t_ticket_id_uk{ticket_id}Unique

Relationship diagram

Show ER Diagram of matchmaking_ticket_cancelled_t

alt_text


Table: matchmaking_ticket_matched_t

This table contains a record of when a ticket fulfills the requirements of a match, creating a match session.

For example, a specific ticket is matched at 2022-10-01 07:00:02.444 and creates a joinable session, i.e. others can join it with their tickets.

Analytics usage: analyzing when tickets create match sessions.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchmaking ticket matched generated by analytics.Primary Key
ticket_idbigintRelates to matchmaking_ticket_t for the matched ticket.Foreign Key
matched_atTimestamp without time zoneWhen the ticket was matched.
is_joinable_sessionbooleanTrue if the matchmaking session can be joined by players.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchmaking_ticket_matched_pk{id}Unique
matchmaking_ticket_matched_ticket_id_uk{ticket_id}Unique

Relationship diagram

Show ER Diagram of matchmaking_ticket_matched_t

alt_text


Table: matchmaking_ticket_t

This table contains a ticket which may enter a match, a request for matchmaking from a party.

For example, a particular party requests to join a match in a game's PVP ranked channel at 2022-10-01 07:00:02.444.

Analytics usage: analyzing when parties request to join matches.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchmaking ticket generated by analytics.Primary Key
party_idbigintRelates to party_t.Foreign Key
channel_idbigintRelates to matchmaking_channel_t.Foreign Key
created_atTimestamp without time zoneWhen this event occurred.
mainticket_idbigintRelates to matchmaking_mainticket_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchmaking_ticket_t_pk{id}Unique
matchmaking_ticket_t_channel_id_i{channel_id}Non-Unique
matchmaking_ticket_t_mainticket_id_i{mainticket_id}Non-Unique
matchmaking_ticket_t_party_id_channel_id_queued_at_uk{"party_id, channel_id, created_at"}Unique

Relationship diagram

Show ER Diagram of matchmaking_ticket_t

alt_text


Table: matchmaking_ticket_timedout_t

This table contains a record of when a ticket in a match times out. For instance when a party is waiting too long to become full.

For example, a given ticket timed out at 2021-11-07 15:30:21.564.

Analytics usage: analysis of ticket time-outs. A game studio may wish to monitor these in order to reduce their number and increase player satisfaction.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchmaking ticket timedout generated by analytics.Primary Key
ticket_idbigintRelates to matchmaking_ticket_tForeign Key
timedout_atTimestamp without time zoneWhen the ticket timed out
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchmaking_ticket_timedout_t_pk{id}Unique
matchmaking_ticket_timedout_t_ticket_id_uk{ticket_id}Unique

Relationship diagram

Show ER Diagram of matchmaking_ticket_timedout_t

alt_text


Table: matchparty_t

This table contains contains a list of users in a match party. A match party is a group of players that have associated themselves with each other. Often a match party is one player alone, in which case its user list would contain only one User ID. As players enter and leave a match party a new record is created. Note that match_party_user_t contains the same data in normalised format which may be easier to query.

For example, a record could hold a match party with a list of 3 users in that party.

Analytics usage: linking match party to users within it.

Column nameData typeDescriptionConstraints
idbigintIdentifier for match party generated by analytics.Primary Key
origin_party_idbigintRefers to party_t.id, the party record of the user who created the match party.Foreign Key
user_listcharacter varyingComma delimited list of analytics user IDs for users currently in the match party.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchparty_t_pk{id}Unique
matchparty_t_origin_party_id_user_list_uk{"origin_party_id, user_list"}Unique

Relationship diagram

Show ER Diagram of matchparty_t

alt_text


Table: matchsession_activity_t

This table contains record of the match session user activity, the session events and statuses contained within a match structure.

For example, an event occurs of type "sessionWriteResult" resulting in the session status "matched" at 2022-12-11 02:01:59.695. The event is now associated with a match structure containing the newly matched user.

Analytics usage: analysis of the occurrences of the various types of match session related events.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchsession activity generated by analytics.Primary Key
matchsession_idbigintRelates to matchsession_t.Foreign Key
matchstructure_idbigintRelates to matchstructure_t.Foreign Key
matchsession_event_idbigintRelates to matchsession_event_type_t.Foreign Key
matchsession_status_idbigintRelates to matchsession_status_type_t.Foreign Key
start_tsTimestamp without time zoneStart time of the matchsession activity.
end_tsTimestamp without time zoneUTC timestamp for the end of the activity.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_activity_t_matchsession_event_id_i{matchsession_event_id}Non-Unique
matchsession_activity_t_matchsession_status_id_i{matchsession_status_id}Non-Unique
matchsession_activity_t_pk{id}Unique
matchsession_activity_t_matchsession_id_matchstructure_id_m_uk{"matchsession_id, matchstructure_id, matchsession_event_id, matchsession_status_id, start_ts"}Unique
matchsession_activity_t_matchstructure_id_i{matchstructure_id}Non-Unique
matchsession_activity_t_start_ts_i{start_ts}Non-Unique

Relationship diagram

Show ER Diagram of matchsession_activity_t

alt_text


Table: matchsession_activity_user_t

This table contains denormalised matchmaking activity data for ease and speed of querying. It shows user activities and their times and namespaces.

For example, a user in a given game at a certain time joined a match party.

Analytics usage: counting distinct users performing matchmaking activities.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated by analytics.Primary Key
matchsession_activity_idbigintRelates to matchsession_activity_t. The max ID by the key in the hour.Foreign Key
namespace_idbigintRelates to namespace_t.Foreign Key
hour_tsTimestamp without time zoneThe hour in which the activity occurred. Note that more than one activity with the same user, namespace and hour will result in a single record.
user_idbigintRelates to user_t.Foreign Key

Indexes

Index nameIndexed columnsType
matchsession_activity_user_t_pkey{id}Unique
matchsession_activity_t_uk{"namespace_id, hour_ts, user_id"}Unique
matchsession_activity_t_user_id_i{user_id}Non-Unique
matchsession_activity_t_hour_ts_i{"hour_ts, user_id"}Non-Unique

Relationship diagram

Show ER Diagram of matchsession_activity_user_t

alt_text


Table: matchsession_dedicatedserver_t

This table contains relates match session to dedicated servers. This may be many-to-many.

For example, a dedicated server containing a list of several match sessions running on it.

Analytics usage: analysis of dedicated server usage via the match sessions running on them.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchsession dedicatedserver generated by analytics.Primary Key
matchsession_idbigintRelates to matchsession_t.Foreign Key, Unique Constraint
dedicatedserver_idbigintRelates to dedicatedserver_t.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_dedicatedserver_t_pk{id}Unique
matchsession_dedicatedserver_t_uk{"matchsession_id, dedicatedserver_id"}Unique
matchsession_dedicatedserver_t_dedicatedserver_id_i{dedicatedserver_id}Non-Unique

Relationship diagram

Show ER Diagram of matchsession_dedicatedserver_t

alt_text


Table: matchsession_ended_t

This table contains record of when match sessions ended. One record may represent many sessions ending at the same time.

For example, a match session that ended at 2021-08-19 15:29:49.000.

Analytics usage: analyzing the end of match sessions, perhaps useful in conjunction with other data about the start in order to monitor match session duration.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchsession ended generated by analytics.Primary Key
matchsession_idbigintRelates to matchsession_t.Foreign Key
ended_atTimestamp without time zoneWhen the match session ended.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_ended_t_pk{id}Unique
matchsession_ended_t_matchsesion_id_uk{matchsession_id}Unique

Relationship diagram

Show ER Diagram of matchsession_ended_t

alt_text


Table: matchsession_event_type_t

This table contains a list of match session event type codenames One of sessionWriteResult, sessionRemoveUserID, SessionQueued, SessionDeleted, SessionAddUserID, SessionDequeued, startMatchSessionCreated

For example, sessionRemoveUserID which means a user leaves a session.

Analytics usage: displaying the match session event type, for instance in a legend.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchsession event type generated by analytics.Primary Key
namecharacter varyingName of the match session event type.
lnamecharacter varyingLong name of the match session event type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_event_type_t_pk{id}Unique
matchsession_event_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of matchsession_event_type_t

alt_text


Table: matchsession_member_status_t

This table contains the historical statusV2 data for a member in a match session.

The statusV2 value is a changing dimension indicated by start and end time.

Analytics usage: stores the historical match session member statusV2.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated for matchsession member statusV2 dataPrimary Key
matchsession_member_idbigintThe match session member identifier valueForeign Key, Unique Constraint
matchsession_member_status_type_idbigintThe match session member statusV2 identifier valueForeign Key, Unique Constraint
start_tsTimestamp without time zoneThe start of when the status was in effect for this member in the match session.Unique Constraint
end_tsTimestamp without time zoneThe end of when the status was in effect for this member in the match session.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_member_status_t_pkey{id}Unique
matchsession_member_status_t_uk{"matchsession_member_id, matchsession_member_status_type_id, start_ts"}Unique
matchsession_member_status_t_matchsession_member_id_i{matchsession_member_id}Non-Unique

Relationship diagram

Show ER Diagram of matchsession_member_status_t

alt_text


Table: matchsession_member_status_type_t

This table contains the statusV2 values for a member in a match session.

The statusV2 values are not expected to change often, if any.

Analytics usage: stores the normalized match session member statusV2 values.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated for the statusV2 valuePrimary Key
statuscharacter varyingThe statusV2 value of the member in the match sessionUnique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_member_status_type_t_status_key{status}Unique
matchsession_member_status_type_t_pkey{id}Unique

Relationship diagram

Show ER Diagram of matchsession_member_status_type_t

alt_text


Table: matchsession_member_t

This table contains the list of user (member) in a match session.

The values are not expected to change often, if any.

Analytics usage: stores the historical match session user list.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated for the member valuePrimary Key
matchsession_idbigintThe match session identifier valueUnique Constraint
user_idbigintThe user identifier valueUnique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_member_t_pkey{id}Unique
matchsession_member_t_uk{"matchsession_id, user_id"}Unique
matchsession_member_t_matchsession_id_i{matchsession_id}Non-Unique

Relationship diagram

Show ER Diagram of matchsession_member_t

alt_text


Table: matchsession_status_type_t

This table contains a list of match session status type codenames. One of matched, SessionFull, SessionInQueue, SessionTimeout, done.

For example, SessionFull meaning the session has the maximum number of players allowed.

Analytics usage: displaying the match session status, for instance in a legend.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchsession status type generated by analytics.Primary Key
namecharacter varyingName of the match session status type.
lnamecharacter varyingLong name of the match session status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_status_type_t_pk{id}Unique
matchsession_status_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of matchsession_status_type_t

alt_text


Table: matchsession_t

This table contains identifies a match session with its AGSIDand specifies which namespace it is in. This is created when a game starts using parties in the match.

For example, a match session that is created with the AGS match session ID of bc58881ed21a4df2ac00f9a36c9e9a11 in a particular game namespace.

Analytics usage: to find the match sessions in a namespace.

Column nameData typeDescriptionConstraints
idbigintIdentifier for matchsession generated by analytics.Primary Key
match_idcharacter varyingAGS Match Id.Unique Constraint
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchsession_t_pk{id}Unique
matchsession_t_uk{"namespace_id, match_id"}Unique
matchsession_t_job_run_id_i{job_run_id}Non-Unique
matchsession_t_namespace_id_id_i{"namespace_id, id"}Unique

Relationship diagram

Show ER Diagram of matchsession_t

alt_text


Table: matchstructure_t

This table contains this a match in progress in a game, the highest level entity in the team composition system. It contains match teams which in turn contain match parties. Note that match_structure_team_t contains equivalent data which is easier to query due to being normalised.

For example, a specific match structure that contains two teams. The list of the two IDs of the teams are contained in this record.

Analytics usage: relating the top level match structure to the teams within it.

Column nameData typeDescriptionConstraints
idbigintIdentifier for match structure generated by analytics.Primary Key
team_listcharacter varyingA comma delimited list of match team analytics IDs for the teams in this match structure.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchstructure_t_team_list_uk{team_list}Unique
matchstructure_t_pk{id}Unique

Relationship diagram

Show ER Diagram of matchstructure_t

alt_text


Table: matchteam_t

This table contains a match team contains one or more match parties. These teams are the groups that appear in game as groups who compete or cooperate. Drilling down, a team may contain one to many users.

For example, a team containing 3 parties intent on joining the same game.

Analytics usage: relating team to parties.

Column nameData typeDescriptionConstraints
idbigintIdentifier for match team generated by analytics.Primary Key
party_listcharacter varyingComma delimited list of matchparty_t.id, a list of match parties in this team.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
matchteam_t_pk{id}Unique
matchteam_t_party_list_uk{party_list}Unique

Relationship diagram

Show ER Diagram of matchteam_t

alt_text


Table: party_t

This table contains A Party, also known as a lobby party. Used with matchparty_t to find the users in the party.

For example, a new party created within a particular game.

Analytics usage: relating party to namespace.

Column nameData typeDescriptionConstraints
idbigintIdentifier for party generated by analytics.Primary Key
party_numbercharacter varyingUniqueIDin AGS for party.
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
party_t_pk{id}Unique
party_t_namespace_id_i{namespace_id}Non-Unique
party_t_party_number_uk{"party_number, namespace_id"}Unique

Relationship diagram

Show ER Diagram of party_t

alt_text


Group: Policy

Table: agreement_t

This table contains the record of agreements when a user signs up in the player portal.

For example, a legal agreement.

Analytics usage: analysis of users' agreement activities.

Column nameData typeDescriptionConstraints
idbigintIdentifier for agreement generated by analytics.Primary Key
policy_idbigintAgreement policy ID.Foreign Key
policy_version_idbigintAgreement policy version ID.Foreign Key
policy_localization_idbigintAgreement policy localizationIDfor multi language use.Foreign Key
user_idbigintRelates to user_t for the user who made the agreement.Foreign Key
is_acceptedbooleanWas the agreement accepted?.
start_tsTimestamp without time zoneStart time of the agreement activity.
end_tsTimestamp without time zoneUTC timestamp for the end of the activity.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
agreement_t_pk{id}Unique
agreement_t_policy_id_i{policy_id}Non-Unique
agreement_t_policy_localization_id_i{policy_localization_id}Non-Unique
agreement_t_policy_version_id_i{policy_version_id}Non-Unique
agreement_t_uk{"user_id, policy_id, policy_version_id, policy_localization_id, start_ts"}Unique
agreement_t_namespace_id_i{namespace_id}Non-Unique

Relationship diagram

Show ER Diagram of agreement_t

alt_text


Table: policy_localization_t

This table contains holds an AGS identifier for a localized policy version

For example, a policy localization identifier with its owning policy.

Analytics usage: supplying Identifier of a policy to look up in AGS.

Column nameData typeDescriptionConstraints
idbigintIdentifier for policy localization generated by analytics.Primary Key
policy_localization_numbercharacter varyingAn identifier for localized policy.Unique Constraint
policy_version_idbigintThe version of the localized policy.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
policy_localization_t_uk{"policy_localization_number, policy_version_id"}Unique
policy_localization_t_pk{id}Unique

Relationship diagram

Show ER Diagram of policy_localization_t

alt_text


Table: policy_t

This table contains a policy defined by a namespace

For example, terms of service for a particular game.

Analytics usage: relating policy to namespace.

Column nameData typeDescriptionConstraints
idbigintIdentifier for policy generated by analytics.Primary Key
policy_numbercharacter varyingAn identifier for policy.Unique Constraint
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
policy_t_pk{id}Unique
policy_t_uk{"policy_number, namespace_id"}Unique

Relationship diagram

Show ER Diagram of policy_t

alt_text


Table: policy_version_t

This table contains versions of a policy, holds an AGS identifier for the version

For example, a version identifier and its owning policy.

Analytics usage: supplying Identifier of a policy to look up in AGS.

Column nameData typeDescriptionConstraints
idbigintIdentifier for policy version generated by analytics.Primary Key
policy_version_numbercharacter varyingThe version of the policy.Unique Constraint
policy_idbigintRelates to policy_t.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
policy_version_t_pk{id}Unique
policy_version_t_uk{"policy_version_number, policy_id"}Unique

Relationship diagram

Show ER Diagram of policy_version_t

alt_text


Table: studio_t

This table is to be deprecated. Please ignore it.

Column nameData typeDescriptionConstraints
idbigintIdentifier for studio generated by analytics.Primary Key
namecharacter varyingName of the studio.Unique Constraint
lnamecharacter varyingLong name of the studio.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
studio_t_pk{id}Unique
studio_t_name_uk{name}Unique

Group: Dedicated Server

Table: dedicatedserver_allocation_t

This table contains a log of the processes running on dedicated servers. These servers run multiplayer game matches.

For example, the "Started" event for a dedicated server running a new match starting at 2022-11-11 11:00.

Analytics usage: analysis of dedicated server usage.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
dedicatedserver_idbigintAGS Server Id.Foreign Key, Unique Constraint
statuscharacter varyingServer status eg. Started.
descriptioncharacter varyingDescription of server status.
start_tsTimestamp without time zoneStart of the allocation.Unique Constraint
end_tsTimestamp without time zoneEnd of the allocation.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dedicatedserver_allocation_t_pk{id}Unique
dedicatedserver_allocation_t_status_t_uk{"dedicatedserver_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of dedicatedserver_allocation_t

alt_text


Table: dedicatedserver_detail_t

This table contains metadata attributes for dedicated servers

For example, a given data server's capacity in terms of CPU memory.

Analytics usage: reporting on dedicated server numbers split by configuration.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
dedicatedserver_idbigintAGS Server Id.Foreign Key, Unique Constraint
dsprovider_idbigintID of the provider in dedicatedserver_provider_t.Foreign Key
dsregion_idbigintID of the region in dedicated_server_region_t.Foreign Key
deploymentcharacter varyingDescribes the server deployment eg CustomGame.
image_versioncharacter varyingServer Image container Id.
game_versioncharacter varyingVersion of the game running on the server.
ip_addresscharacter varyingServer IP Address.
port_mainintegerServer main port.
protocolcharacter varyingServer protocol eg UDP.
cpu_limitintegerMax CPU for the server.
memory_limitintegerMax RAM for the server.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dedicatedserver_detail_t_pk{id}Unique
dedicatedserver_detail_t_uk{dedicatedserver_id}Unique
dedicatedserver_detail_t_dsprovider_id_i{dsprovider_id}Non-Unique
dedicatedserver_detail_t_dsregion_id_i{dsregion_id}Non-Unique

Relationship diagram

Show ER Diagram of dedicatedserver_detail_t

alt_text


Table: dedicatedserver_provider_t

This table contains a list of possible cloud services providers

For example, AWS for Amazon Web Services.

Analytics usage: comparing costs from each cloud provider.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingName of the dedicated server provider.Unique Constraint
lnamecharacter varyingLong name of the dedicated server provider.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dedicatedserver_provider_t_uk{name}Unique
dedicatedserver_provider_t_pk{id}Unique

Relationship diagram

Show ER Diagram of dedicatedserver_provider_t

alt_text


Table: dedicatedserver_region_t

This table contains a list cloud provider (eg AWS) regions used for the dedicated servers. Not always defined for a dedicated server.

For example, AWS us-west-2 region which is used by a particular server.

Analytics usage: reporting on dedicated server numbers split by region.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingName of the dedicated server region.Unique Constraint
lnamecharacter varyingLong name of the dedicated server region.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dedicatedserver_region_t_pk{id}Unique
dedicatedserver_region_t_uk{name}Unique

Relationship diagram

Show ER Diagram of dedicatedserver_region_t

alt_text


Table: dedicatedserver_status_t

This table contains state of the dedicated servers eg. Ready, waiting, busy, creating, removing and the times at which those statuses occurred

For example, a particular server entered the READY status at 2022-08-29 14:52:50.449.

Analytics usage: analysis of dedicated server activity and performance, for instance boot up time.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
dedicatedserver_idbigintAGS Dedicated Server Id.Foreign Key, Unique Constraint
statuscharacter varyingServer Status eg. BUSY.
start_tsTimestamp without time zoneStart of the status being in effect.Unique Constraint
end_tsTimestamp without time zoneEnd of the status being in effect.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
dedicatedserver_status_type_idbigintIdentifier of statusV2 value of the dedicated serverForeign Key

Indexes

Index nameIndexed columnsType
dedicatedserver_status_t_pk{id}Unique
dedicatedserver_status_t_uk{"dedicatedserver_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of dedicatedserver_status_t

alt_text


Table: dedicatedserver_status_type_t

This table contains the statusV2 values for a dedicated server.

The statusV2 values are not expected to change often, if any.

Analytics usage: stores the normalized dedicated server statusV2 values.

Column nameData typeDescriptionConstraints
idbigintIdentifier generated for match party user statusPrimary Key
statuscharacter varyingThe statusV2 value of the user in the match sessionUnique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dedicatedserver_status_type_t_pkey{id}Unique
dedicatedserver_status_type_t_status_key{status}Unique

Relationship diagram

Show ER Diagram of dedicatedserver_status_type_t

alt_text


Table: dedicatedserver_t

This table contains when a match is started a dedicated server is instantiated for that match. This is a list of those occurrences and the IDs of those servers.

For example, A record of the dedicated server ds-accelbytetesting-us-west-2-test1-v0.0.1-armada-2f4f-4349-bf27-9c45117cd2e7.

Analytics usage: naming the dedicate servers.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
pod_namecharacter varyingDeployment Identifier.Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dedicatedserver_t_pk{id}Unique
dedicatedserver_t_uk{pod_name}Unique

Relationship diagram

Show ER Diagram of dedicatedserver_t

alt_text


Group: Entitlement

Table: entitlement_activity_t

This table contains record of the entitlement user activity. When an entitlement, the offer of an item to a user, is given to or consumed by a user.

For example, The purchase of an entitlement to a lootbox by a user that changed their count of this entitlement from 0 to 1.

Analytics usage: analysis of users' entitlement activities.

Column nameData typeDescriptionConstraints
idbigintIdentifier for entitlement activity generated by analytics.Primary Key
entitlement_idbigintAGS Entitlement Id.Foreign Key
current_countintegerCurrent count of available Entitlements.
change_countintegerChange in count of Entitlements.
source_idbigintRelates to entitlement_source_type_t.Foreign Key
start_tsTimestamp without time zoneStart time of the entitlement activity.
end_tsTimestamp without time zoneUTC timestamp for the end of the activity.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
entitlement_usage_t_pk{id}Unique
entitlement_activity_t_source_id_i{source_id}Non-Unique
entitlement_usage_t_entitlement_id_change_count_source_star_uk{"entitlement_id, change_count, source_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of entitlement_activity_t

alt_text


Table: entitlement_class_type_t

This table contains a list of classes of entitlement.

For example, LOOTBOX class.

Analytics usage: reporting by entitlement class.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingName of the entitlement class type.
lnamecharacter varyingLong name of the entitlement class type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
entitlement_class_type_t_pk{id}Unique
entitlement_class_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of entitlement_class_type_t

alt_text


Table: entitlement_item_t

This table contains relates an entitlement, an offer of an item, to its item.

For example, the offer of an entitlement of 10 in-game platinum coins to a player

Analytics usage: joining entitlement to item.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
entitlement_idbigintRelates to entitlement_t.Foreign Key
item_idbigintRelates to item_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
entitlement_item_t_pk{id}Unique
entitlement_item_t_entitlement_id_uk{entitlement_id}Unique
entitlement_item_t_item_id_i{item_id}Non-Unique

Relationship diagram

Show ER Diagram of entitlement_item_t

alt_text


Table: entitlement_property_t

This table contains attributes of the entitlements

For example, specifications of an entitlement to a Tuxedo cosmetic on offer, that it is of a durable type and class of entitlement.

Analytics usage: analysis of entitlement activities by class, type or name.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
entitlement_idbigintRelates to entitlement_t.Foreign Key
class_idbigintRelates to entitlement_class_type_t.Foreign Key
entitlement_type_idbigintRelates to entitlement_type_t.Foreign Key
created_atTimestamp without time zoneWhen this event occurred.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
namecharacter varyingName of the entitlement properties.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
entitlement_property_t_pk{id}Unique
entitlement_property_t_class_id_i{class_id}Non-Unique
entitlement_property_t_entitlement_id_uk{entitlement_id}Unique
entitlement_property_t_entitlement_type_id_i{entitlement_type_id}Non-Unique

Relationship diagram

Show ER Diagram of entitlement_property_t

alt_text


Table: entitlement_source_type_t

This table contains a list of methods via which a user can gain an item.

For example, IAP for in-app-purchase.

Analytics usage: analysis of entitlement activities by source, for example to compare the number of IAPs to the number of rewards.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingName of the entitlement source type.
lnamecharacter varyingLong name of the entitlement source type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
entitlement_source_type_t_pk{id}Unique
entitlement_source_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of entitlement_source_type_t

alt_text


Table: entitlement_status_t

This table contains state of entitlements. This could change over time for a specific entitlement.

For example, a particular entitlement became active at 2022-01-07 18:43:37.433

Analytics usage: analysis of the time periods between entitlement status changes, for instance to find out the average lifetime of an entitlement on offer.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
entitlement_idbigintRelates to entitlement_t.Foreign Key
status_idbigintRelates to entitlement_status_t.Foreign Key
start_tsTimestamp without time zoneStart of the status being in effect.
end_tsTimestamp without time zoneEnd of the status being in effect.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
entitlement_status_t_uk{"entitlement_id, status_id, start_ts"}Unique
entitlement_status_t_pk{id}Unique
entitlement_status_t_status_id_i{status_id}Non-Unique

Relationship diagram

Show ER Diagram of entitlement_status_t

alt_text


Table: entitlement_status_type_t

This table contains a list of possible statuses for an entitlement: active, revoked, inactive

For example, ACTIVE meaning available to users.

Analytics usage: reporting by entitlement status.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingName of the entitlement status type.
lnamecharacter varyingLong name of the entitlement status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
entitlement_status_type_t_pk{id}Unique
entitlement_status_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of entitlement_status_type_t

alt_text


Table: entitlement_t

This table contains an entitlement is when an item is offered to a user. When is is delivered a fulfillment is created for an entitlement

For example, the ID of a specific entitlement and the ID of the user it is offered to.

Analytics usage: joining the various entitlement tables to user.

Column nameData typeDescriptionConstraints
idbigintIdentifier for entitlement generated by analytics.Primary Key
entitlement_numbercharacter varyingAGS Entitlement Id.
user_idbigintRelates to user_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
entitlement_t_pk{id}Unique
entitlement_t_entitlement_number_entitlement_namespace_uk{"entitlement_number, user_id"}Unique
entitlement_t_user_id_i{user_id}Non-Unique
entitlement_t_namespace_id_i{namespace_id}Non-Unique

Relationship diagram

Show ER Diagram of entitlement_t

alt_text


Table: entitlement_type_t

This table contains the possible types of entitlement: durable, consumable

For example, DURABLE meaning persistent unless revoked. It cannot be reduced in-game like, for instance, mana which would be a CONSUMABLE.

Analytics usage: separating reports into durable and consumable entitlement types.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingName of the entitlement type.
lnamecharacter varyingLong name of the entitlement type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
entitlement_type_t_pk{id}Unique
entitlement_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of entitlement_type_t

alt_text


Group: Item

Table: item_bundle_t

This table contains an item can be an bundle of items in which case its bundleIDand creation time are shown here.

For example, a bundle on offer as an item created at 2023-02-20 12:53:03.000.

Analytics usage: linking item to bundle.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item bundle generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
bundle_item_idbigintRelates to item_t for the Bundle item containing this item.Foreign Key
start_tsTimestamp without time zoneStart of the item bundle lifetime.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the item bundle lifetime.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_bundle_t_pk{id}Unique
item_bundle_t_item_id_bundle_item_id_start_ts_uk{"item_id, bundle_item_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_bundle_t

alt_text


Table: item_clone_t

This table contains an item can be cloned from a game namespace to its publisher namespace, this is a log of that cloning. Used for instance when a publisher wants to sell an in game item on their website.

For example, item A is cloned to its publisher namespace as item B at 2023-02-20 12:53:03.000.

Analytics usage: analysis of the cloning of items.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item clone generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
target_item_idbigintRelates to item_t for the target item of the cloning.Foreign Key
start_tsTimestamp without time zoneStart of the item clone lifetime.
end_tsTimestamp without time zoneEnd of the item clone lifetime.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_clone_t_pk{id}Unique
item_clone_t_item_id_target_item_id_start_ts_uk{"item_id, target_item_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_clone_t

alt_text


Table: item_coin_t

This table contains an item can be a coin otherwise known as a currency in which case its details are shown here.

For example, an item which is some in-game currency for a particular game.

Analytics usage: linking item to game-specific currency.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item coin generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
target_currency_code_idbigintRelates to currency_t.Foreign Key
start_tsTimestamp without time zoneStart of the item coin lifetime.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_coin_t_pk{id}Unique
item_coin_t_item_id_start_ts_uk{"item_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_coin_t

alt_text


Table: item_image_t

This table contains details of an image related to an item. This can apply to any type of item.

For example, an item image with the name "Swimwear" and caption "Summer Swimwear" located at the URI https://cdn.gamename.com/files/6015237f64f2331.png

Analytics usage: displaying images for an item when looking at drill-down data for that specific item.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item image generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
namecharacter varyingName of the item image.
captioncharacter varyingCaption describing the Image.
urlcharacter varyingURL of the Image.
small_urlcharacter varyingShort URL of the Image.
start_tsTimestamp without time zoneStart of the Image lifetime.
end_tsTimestamp without time zoneEnd of the Image lifetime.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_image_t_pk{id}Unique
item_image_t_item_id_name_start_ts_uk{"item_id, name, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_image_t

alt_text


Table: item_localization_t

This table contains localized text for items, the title, description and long description for different locales.

For example, a lootbox item with its Spanish language details such as title "caja de botín especial"

Analytics usage: user interface customization to fit the viewer's language.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item localization generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
locale_idbigintRelates to locale_t which identifies locale.Foreign Key
titlecharacter varyingLocalized item title.
descriptioncharacter varyingLocalized item description.
long_descriptioncharacter varyingLocalized item long description.
start_tsTimestamp without time zoneStart of the item localization lifetime.
end_tsTimestamp without time zoneEnd of the item localization lifetime.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_localization_t_pk{id}Unique
item_localization_t_item_id_locale_id_uk{"item_id, locale_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_localization_t

alt_text


Table: item_property_t

This table contains metadata for items, versioned rows per item showing item count, catalog category and namespace and other details.

For example, the currently active definition for a specific item including that its entitlement type is consumable, it can be used 100 times but only 5 times per user.

Analytics usage: detailed analysis of items and their attributes.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item properties generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
base_app_idbigintRelates to item_t for the base app itemIDif the item is an app.Foreign Key
entitlement_type_idbigintRelates to entitlement_type_t.Foreign Key
use_countintegerCount of uses of this entitlement.
is_stackablebooleanIs the entitlement stackable?.
category_path_idbigintRelates to catalog_category_t.Foreign Key
thumbnail_urlcharacter varyingURL of item thumbnail image.
max_count_per_userintegerMaximum number of this item for one user.
max_countintegerMaximum number of this item overall.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
start_tsTimestamp without time zoneStart of the lifetime of the item properties.
end_tsTimestamp without time zoneEnd of the lifetime of the item properties.
target_namespace_idbigintNamespace for the item.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_property_t_pk{id}Unique
item_property_t_item_id_start_ts_uk{"item_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_property_t

alt_text


Table: item_region_price_t

This table contains pricing for items is stored here. They and pricing and discounts can change over time.

For example, a specific item was assigned the price of $1.99 in USD when sold in the USA between 2022-01-14 02:03:21.000 and 2023-01-11 07:35:11.000.

Analytics usage: financial calculations related to item purchases.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item region price generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
country_idbigintRelates to country_t.Foreign Key
priceintegerPrice of the item in this region.
discount_percentageintegerPercentage discount of this item in this region.
discount_amountintegerDiscount amount of this item in this region.
discounted_priceintegerDiscounted price of this item in this region.
currency_idbigintRelates to currency_t.Foreign Key
purchase_atTimestamp without time zoneWhen the item can be purchased.
expire_atTimestamp without time zoneWhen the possibility to purchase ends.
discount_purchase_atTimestamp without time zoneWhen the item can be purchased at discount.
discount_expire_atTimestamp without time zoneWhen the possibility to purchase at discount ends.
start_tsTimestamp without time zoneStart of the regional price effectivity.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the regional price effectivity.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_region_price_t_pk{id}Unique
item_region_price_t_item_id_country_id_start_ts_uk{"item_id, country_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_region_price_t

alt_text


Table: item_status_t

This table contains status for items. The status type can change over time.

For example, a specific item was deleted at 2022-01-14 02:03:21.000.

Analytics usage: analysis of the lifecycle of items.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item status generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
status_idbigintRelates to item_status_type_t.
start_tsTimestamp without time zoneStart of the item status lifetime.
end_tsTimestamp without time zoneEnd of the item status lifetime.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_status_t_pk{id}Unique
item_status_t_item_id_start_ts_uk{"item_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_status_t

alt_text


Table: item_status_type_t

This table contains list of statuses for items: ACTIVE, INACTIVE, DELETED

For example, ACTIVE meaning the item is available to users. It may be set to inactive if, for instance, if an item had to be removed from the market due to copyright issues.

Analytics usage: displaying item status, for instance in a legend.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item status type generated by analytics.Primary Key
namecharacter varyingName of the item status type.
lnamecharacter varyingLong name of the item status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_status_type_t_pk{id}Unique
item_status_type_t_name_uk{name}Unique

Table: item_t

This table contains the list of items with their AGS ID. Items can be of various types and distributed via entitlements. An item can go to many users.

For example, a golden sword within a fantasy game namespace.

Analytics usage: linking item to namespace, for instance to count the number of items in a namespace over all time.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item generated by analytics.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key
item_numbercharacter varyingAGS Item Id.Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
game_item_t_pk{id}Unique
item_t_item_number_uk{item_number}Unique

Relationship diagram

Show ER Diagram of item_t

alt_text


Table: item_tag_t

This table contains freeform tagging of items to describe them

For example, the tag 'Uncommon' to indicate the rarity of an in-game asset item.

Analytics usage: describing items. A tag cloud could be created with size based on tag occurrence.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item tags generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key
tagcharacter varyingDescriptive tag eg Featured.
start_tsTimestamp without time zoneStart of the tag lifetime.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the tag lifetime.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_tag_t_pk{id}Unique
item_tag_t_item_id_tag_start_ts_uk{"item_id, tag, start_ts"}Unique

Relationship diagram

Show ER Diagram of item_tag_t

alt_text


Table: item_type_t

This table contains a list of item types eg. APP, COINS, SUBSCRIPTION

For example, COINS meaning in-game or real currency.

Analytics usage: displaying type of item.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item type generated by analytics.Primary Key
namecharacter varyingName of the item type.Unique Constraint
lnamecharacter varyingLong name of the item type.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
game_item_type_t_pk{id}Unique
game_item_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of item_type_t

alt_text


Table: item_variant_t

This table contains an item can have multiples SKUs and names, these are shown here

For example, the same item could have multiple records each with different SKUs and slightly different names that are updated over time if the administrator decided to rename the item.

Analytics usage: showing low level details about an item.

Column nameData typeDescriptionConstraints
idbigintIdentifier for item variant generated by analytics.Primary Key
item_idbigintRelates to item_t.Foreign Key, Unique Constraint
namecharacter varyingName of the item variant.Unique Constraint
item_type_idbigintRelates to item_type_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
skucharacter varyingReal world product identifier for the item.Unique Constraint
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
item_variant_t_uk{"item_id, name, sku"}Unique
item_variant_t_pk{id}Unique

Relationship diagram

Show ER Diagram of item_variant_t

alt_text


Group: Ecommerce

Table: ecommerce_platform_t

This tables contains the list of eCommerce platforms in use, with unique names.

For example, Steam.

Analytics usage: eCommerce Platform labels.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingeCommerce platform name.Unique Constraint
lnamecharacter varyingLong name.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
ecommerce_platform_t_uk{name}Unique
ecommerce_platform_t_pk{id}Unique

Relationship diagram

Show ER Diagram of ecommerce_platform_t

alt_text


Table: catalog_category_t

This table contains a list of categories of items. Items are things that could be sold eg in game items, bundles, virtual currencies, game giveaways. The path of the catalog category is unique within a namespace.

For example, a catalog category with the path "/coins" for a specific game.

Analytics usage: defining and naming the possible catalog categories.

Column nameData typeDescriptionConstraints
idbigintIdentifier for catalog category generated by analytics.Primary Key
pathcharacter varyingThe unique path of the Category within the Namespace.
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
catalog_category_t_namespace_path_uk{"namespace_id, path"}Unique
catalog_category_t_pk{id}Unique

Relationship diagram

Show ER Diagram of catalog_category_t

alt_text


Table: order_item_t

This table contains shows the items and their quantities that an order contains.

For example, an order containing 2 items would result in two rows with the same order_id each having one of the relevant item_ids.

Analytics usage: relating orders to their items.

Column nameData typeDescriptionConstraints
idbigintIdentifier for order item generated by analytics.Primary Key
order_idbigintRelates to order_t.Foreign Key
qtyintegerQuantity of the Item in the Order.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
item_idbigintRelates to item_t.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
order_item_t_pk{id}Unique
order_item_t_item_id_i{item_id}Non-Unique
order_item_t_order_id_item_id_uk{"order_id, item_id"}Unique

Relationship diagram

Show ER Diagram of order_item_t

alt_text


Table: order_payment_t

This table contains relates an order to a payment. There can be 0 or 1 payments per order.

For example, a specific order that was paid.

Analytics usage: relating orders to payments.

Column nameData typeDescriptionConstraints
idbigintIdentifier for order payment generated by analytics.Primary Key
order_idbigintRelates to order_t.Foreign Key
payment_idbigintRelates to payment_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
order_payment_t_pk{id}Unique
order_payment_t_order_id_payment_id_uk{"order_id, payment_id"}Unique
order_payment_t_payment_id_i{payment_id}Non-Unique

Relationship diagram

Show ER Diagram of order_payment_t

alt_text


Table: order_property_t

This table contains order properties eg price and the time period for which they are valid.

For example, an order that cost $2 USD, created at 2021-10-21 12:31:36.000 and due to expire at 2021-11-21 12:31:36.000.

Analytics usage: including order details in analyses such as those that look at order costs to the users.

Column nameData typeDescriptionConstraints
idbigintIdentifier for order properties generated by analytics.Primary Key
order_idbigintRelates to order_t.Foreign Key
priceintegerPrice of the Order.
discounted_priceintegerDiscounted price of the Order.
start_tsTimestamp without time zoneStart of the lifetime of the order properties.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the lifetime of the order properties.
currency_idbigintRelates to currency_t.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
order_property_t_pk{id}Unique
order_property_t_currency_id_i{currency_id}Non-Unique
order_property_t_order_id_start_ts_uk{"order_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of order_property_t

alt_text


Table: order_status_t

This table contains the status of an order. This changes for an order over time.

For example, one record for an order having charged status at 2021-11-21 12:31:36.000 and another record for the same order with status fulfilled at the later time of 2021-11-21 15:31:36.000.

Analytics usage: tracking order status changes over time.

Column nameData typeDescriptionConstraints
idbigintIdentifier for order status generated by analytics.Primary Key
order_idbigintRelates to order_t.Foreign Key
order_status_idbigintRelates to order_status_type_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
start_tsTimestamp without time zoneThe start of when the status was in effect.
end_tsTimestamp without time zoneThe end of when the status was in effect.
status_reasoncharacter varyingDescribes why this status occurred.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
order_status_t_pk{id}Unique
order_status_t_order_id_order_status_id_start_ts_uk{"order_id, order_status_id, start_ts"}Unique
order_status_t_order_status_id_i{order_status_id}Non-Unique

Relationship diagram

Show ER Diagram of order_status_t

alt_text


Table: order_status_type_t

This table contains a list of statuses that an order can have. One of SUCCESS, FAIL, CHARGED, FULFILLED, FULFILL_FAILED, INIT, REFUNDING, REFUNDED, CLOSED.

For example, REFUNDED meaning the user got reimbursed for the order.

Analytics usage: displaying order status.

Column nameData typeDescriptionConstraints
idbigintIdentifier for order status type generated by analytics.Primary Key
namecharacter varyingName of the order status type.Unique Constraint
lnamecharacter varyingLong name of the order status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
game_order_status_t_name_uk{name}Unique
game_order_status_t_pk{id}Unique

Relationship diagram

Show ER Diagram of order_status_type_t

alt_text


Table: order_t

This table contains a record of the order user activity with AGS orderIDand user, which implies namespace. Created when a user orders an item.

For example, a user placing an order with orderIDO423102251203926022.

Analytics usage: relating order to user.

Column nameData typeDescriptionConstraints
idbigintIdentifier for order generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
order_numbercharacter varyingThe real world identifier for order.Unique Constraint
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
order_t_pk{id}Unique
order_t_uk{"order_number, user_id"}Unique
order_t_user_id_i{user_id}Non-Unique
order_t_namespace_id_i{namespace_id}Non-Unique

Relationship diagram

Show ER Diagram of order_t

alt_text


Table: fact_activity_daily_order_t

This aggregate table will be deprecated as it is no longer updated.

Column nameData typeDescriptionConstraints
idintegerIdentifier for fact activity daily orders generated by analyticsPrimary Key
namespace_idbigintIdentifier of the namespace, e.g., game projectUnique Constraint
activity_datedateDate of the daily order activityUnique Constraint
users_ordering_countbigintNumber of users ordering on the day
order_countbigintNumber of orders on the day
total_pricebigintTotal price of orders on the day
total_discounted_pricebigintTotal discounted price of orders on the day
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
fact_activity_daily_order_t_pk{id}Unique
namespace_date_uk{"namespace_id, activity_date"}Unique

Group: Transaction

Table: realmoney_currency_t

This table contains the 3-digit of ISO-4217 currency code.

For example, USD.

Analytics usage: Currency labels.

Column nameData typeDescriptionConstraints
idbigintAnalytics Id for realmoney currency.Primary Key
currency_codecharacter varyingISO Currency Code.Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
realmoney_currency_t_uk{currency_code}Unique
realmoney_currency_t_pk{id}Unique

Relationship diagram

Show ER Diagram of realmoney_currency_t

alt_text


Table: realmoney_transaction_item_t

This table contains the the item of a transaction (if it exists).

For example, a item within a transaction on an eCommerce platform.

Analytics usage: analysis focusing on specific items transacted.

Column nameData typeDescriptionConstraints
idbigintAnalytics Id for realmoney transaction item.Primary Key
itemsjsonbA JSON list of a real-money transaction items.
realmoney_transaction_idbigintRelates to realmoney_transaction_t.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
realmoney_transaction_item_t_pk{id}Unique
realmoney_transaction_item_t_uk{realmoney_transaction_id}Unique

Relationship diagram

Show ER Diagram of realmoney_transaction_item_t

alt_text


Table: realmoney_transaction_t

This table contains the instances of real money transactions.

For example, a transaction for a certain amount within a namespace on a given eCommerce platform.

Analytics usage: Analysis of eCommerce transactions.

Column nameData typeDescriptionConstraints
idbigintAnalytics Id for realmoney transaction.Primary Key
created_tsTimestamp without time zoneWhen this event occurred.
amountdouble precisionThe amount of currency transacted.
namespace_idbigintThe namespace for the Transaction.Foreign Key, Unique Constraint
event_numbercharacter varyingA unique identifier of a real-money transaction event.Unique Constraint
currency_idbigintRelates to realmoney_currency_t.Foreign Key
platform_uidcharacter varyingA unique user identifier of eCommerce platform.
ecommerce_platform_idbigintAnalytics ID of eCommerce platform related to ecommerce_platform_t table.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
transaction_type_idbigintRelates to realmoney_transaction_type_t.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
realmoney_transaction_t_pk{id}Unique
realmoney_transaction_t_uk{"namespace_id, event_number"}Unique

Relationship diagram

Show ER Diagram of realmoney_transaction_t

alt_text


Table: realmoney_transaction_type_t

This table will contain the type of transaction.

For example, purchase, refund.

Analytics usage: labelling transactions by type.

Column nameData typeDescriptionConstraints
idbigintAnalytics Id for realmoney transaction type.Primary Key
namecharacter varyingName of the transaction type.Unique Constraint
lnamecharacter varyingLong name of the transaction type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
realmoney_transaction_type_t_pk{id}Unique
realmoney_transaction_type_t_uk{name}Unique

Relationship diagram

Show ER Diagram of realmoney_transaction_type_t

alt_text


Table: payment_channel_t

This table contains the possible payment channels: INTERNAL, EXTERNAL

For example, INTERNAL.

Analytics usage: displaying payment channel names.

Column nameData typeDescriptionConstraints
idbigintIdentifier for payment channel generated by analytics.Primary Key
namecharacter varyingName of the payment channel.
lnamecharacter varyingLong name of the payment channel.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
payment_channel_t_name_uk{name}Unique
payment_channel_t_pk{id}Unique

Relationship diagram

Show ER Diagram of payment_channel_t

alt_text


Table: payment_property_t

This table contains properties of a payment user activity.

For example, details of a payment for $1 USD via external payment channel, with its external order number, language used, with payment status charged.

Analytics usage: analysis of payment properties and their occurrences. For instance to find average payment amount per month.

Column nameData typeDescriptionConstraints
idbigintIdentifier for payment properties generated by analytics.Primary Key
payment_idbigintRelates to payment_t.Foreign Key
target_user_idbigintRelates to user_t for the target user, if any.Foreign Key
external_order_numbercharacter varyingThe real world identifier for order.
currency_idbigintRelates to currency_t.Foreign Key
language_idbigintRelates to language_t.Foreign Key
region_idbigintRelates to country_t.Foreign Key
is_sandboxbooleanIndicates whether the payment was made in a sandbox.
priceintegerAmount of the payment.
payment_status_idbigintRelates to payment_status_type_t.Foreign Key
payment_status_reason_idbigintRelates to payment_status_reason_t.Foreign Key
start_tsTimestamp without time zoneStart of the lifetime of the payment properties.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
end_tsTimestamp without time zoneEnd of the lifetime of the payment properties.
external_user_numbercharacter varyingReal-world user identifier.
payment_provider_idbigintRelates to payment_provider_t.Foreign Key
channel_idbigintRelates to payment_channel_t.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
payment_property_t_region_id_i{region_id}Non-Unique
payment_property_t_pk{id}Unique
payment_property_t_channel_id_i{channel_id}Non-Unique
payment_property_t_currency_id_i{currency_id}Non-Unique
payment_property_t_language_id_i{language_id}Non-Unique
payment_property_t_payment_id_start_ts_uk{"payment_id, start_ts"}Unique
payment_property_t_payment_provider_id_i{payment_provider_id}Non-Unique
payment_property_t_payment_status_id_i{payment_status_id}Non-Unique
payment_property_t_payment_status_reason_id_i{payment_status_reason_id}Non-Unique
payment_property_t_target_user_id_i{target_user_id}Non-Unique

Relationship diagram

Show ER Diagram of payment_property_t

alt_text


Table: payment_provider_t

This table contains a list of possible payment providers for orders. One of WALLET, ADYEN, XSOLLA, STRIPE, CHECKOUT.

For example, STRIPE meaning that online payment gateway.

Analytics usage: displaying payment provider name.

Column nameData typeDescriptionConstraints
idbigintIdentifier for payment provider generated by analytics.Primary Key
namecharacter varyingName of the payment provider.
lnamecharacter varyingLong name of the payment provider.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
payment_provider_t_pk{id}Unique
payment_provider_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of payment_provider_t

alt_text


Table: payment_status_reason_t

This table contains a list of possible reasons for payment statuses.

For example, ORDER_EXPIRED meaning, you guessed it, the order related to a payment expired.

Analytics usage: displaying payment status reason name.

Column nameData typeDescriptionConstraints
idbigintIdentifier for payment status reason generated by analytics.Primary Key
namecharacter varyingName of the payment status reason.
lnamecharacter varyingLong name of the payment status reason.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
payment_status_reason_t_pk{id}Unique
payment_status_reason_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of payment_status_reason_t

alt_text


Table: payment_status_type_t

This table contains a list of payment statuses. One of INIT, CHARGED, REFUNDING, REFUNDED, CHARGE_FAILED.

For example, CHARGED meaning the payment was successful.

Analytics usage: displaying payment status names.

Column nameData typeDescriptionConstraints
idbigintIdentifier for payment status type generated by analytics.Primary Key
namecharacter varyingName of the payment status type.
lnamecharacter varyingLong name of the payment status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
payment_status_type_t_name_uk{name}Unique
payment_status_type_t_pk{id}Unique

Relationship diagram

Show ER Diagram of payment_status_type_t

alt_text


Table: payment_t

This table contains record of the payment user activity. A user can make an order which contains items for which a payment is needed.

For example, a record containing a user ID and one of their payment IDs.

Analytics usage: relating user to payment.

Column nameData typeDescriptionConstraints
idbigintIdentifier for payment generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
payment_numbercharacter varyingReal world-payment identifier.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
payment_t_pk{id}Unique
payment_t_user_id_payment_number_uk{"user_id, payment_number"}Unique
payment_t_namespace_id_i{namespace_id}Non-Unique

Relationship diagram

Show ER Diagram of payment_t

alt_text


Group: Currency

Table: currency_detail_t

This table contains metadata attributes for currencies.

For example, A game uses Rupiah which has the symbol Rp and 2 decimal places.

Analytics usage: formatting currency data correctly.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
currency_idbigintAGS currency ID.Foreign Key, Unique Constraint
currency_symbolcharacter varyingSymbol used with the currency eg $.
decimalsintegerNumber of decimal places used for this currency.
is_deletedbooleanA flag to show whether the currency was deleted from the System.
start_tsTimestamp without time zoneStart of the lifetime of the currency.Unique Constraint
end_tsTimestamp without time zoneEnd of the lifetime of the currency.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
currency_type_idbigintIndicates currency type eg VIRTUAL.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
currency_detail_t_pk{id}Unique
currency_detail_t_uk{"currency_id, start_ts"}Unique

Relationship diagram

Show ER Diagram of currency_detail_t

alt_text


Table: currency_localization_t

This table contains localization data for currencies eg. Description

For example, In the language locale en-US for a given game the description of that currency is "Your virtual Coins".

Analytics usage: creating user interfaces and reports tailored to the reader's language

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
currency_idbigintAGS currency ID.Foreign Key, Unique Constraint
descriptioncharacter varyingLocalized currency description.
start_tsTimestamp without time zoneStart of the localized information lifetime.Unique Constraint
end_tsTimestamp without time zoneEnd of the localized information lifetime.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
locale_idbigintRelates to locale_t which identifies locale.Foreign Key, Unique Constraint
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
currency_localization_t_uk{"currency_id, start_ts, locale_id"}Unique
currency_localization_t_pk{id}Unique

Relationship diagram

Show ER Diagram of currency_localization_t

alt_text


Table: currency_t

This table contains currency and namespace combinations. A namespace may have more than one currency. The list of currency codes is unique within each namespace.

For example, a given game has the currency USD.

Analytics usage: giving the possible currencies for a selected game.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
currency_codecharacter varyingCurrency code, in most cases ISO Currency Code.Unique Constraint
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key, Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
currency_t_pk{id}Unique
currency_t_uk{"currency_code, namespace_id"}Unique
currency_t_namespace_currency_code_uk{"namespace_id, currency_code"}Unique

Relationship diagram

Show ER Diagram of currency_t

alt_text


Table: currency_type_t

This table contains types of currency: virtual or real are the current choices.

For example, REAL, meaning a real world currency like the US dollar.

Analytics usage: treating real and virtual currencies separately for accounting purposes.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingName of the currency type.Unique Constraint
lnamecharacter varyingLong name of the currency type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
currency_type_t_pk{id}Unique
currency_type_t_uk{name}Unique

Relationship diagram

Show ER Diagram of currency_type_t

alt_text


Group: Fulfillment

Table: fulfillment_coderedeem_t

This table contains the link between redemption code and its fulfillments. The same redemption code may be used for many fulfillments.

For example, redemption code uHrrYSaQFnNiqXFcUkFF was used by a user to successfully redeem a specific fulfillment.

Analytics usage: joining used redemption codes to fulfillments.

Column nameData typeDescriptionConstraints
idbigintIdentifier for fulfillment code redeem generated by analytics.Primary Key
fulfillment_idbigintAGS Fulfillment Id.Foreign Key
code_idbigintRelates to redemption_code_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
fulfillment_code_t_pk{id}Unique
fulfillment_code_t_fulfillment_id_code_id_uk{"fulfillment_id, code_id"}Unique

Relationship diagram

Show ER Diagram of fulfillment_coderedeem_t

alt_text


Table: fulfillment_entitlement_t

This table contains entitlements for the fulfillments. Note there could be many entitlements in one fulfillment

For example, a record of a specific fulfillment and its entitlement, eg a lootbox item offered to a specific user. The user has received the item since it has been fulfilled.

Analytics usage: joining fulfillment to entitlements.

Column nameData typeDescriptionConstraints
idbigintIdentifier for fulfillment entitlement generated by analytics.Primary Key
fulfillment_idbigintRelates to fulfillment_t.Foreign Key
entitlement_idbigintRelates to entitlement_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
fulfillment_entitlement_t_pk{id}Unique
fulfillment_entitlement_t_entitlement_id_i{entitlement_id}Non-Unique
fulfillment_entitlement_t_fulfillment_id_entitlement_id_uk{"fulfillment_id, entitlement_id"}Unique

Relationship diagram

Show ER Diagram of fulfillment_entitlement_t

alt_text


Table: fulfillment_error_t

This table contains possible types of error that might cause a fulfilment to fail

For example, HTTP Status error 500: Internal Server Error

Analytics usage: reporting of errors in fulfillments.

Column nameData typeDescriptionConstraints
idbigintIdentifier for fulfillment error generated by analytics.Primary Key
http_statusintegerHTTP Status code eg. 500.
codeintegerCode for this error eg. 20000.
messagecharacter varyingMessage for this error eg. internal server error.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
fulfillment_error_message_t_http_status_code_message_uk{"http_status, code, message"}Unique
fulfillment_error_message_t_pk{id}Unique

Relationship diagram

Show ER Diagram of fulfillment_error_t

alt_text


Table: fulfillment_item_t

This table contains the item variants that a fulfillment contains

For example, a fulfillment containing 3 units of the item variant 50-cal-ammo-tracer.

Analytics usage: relating fulfillment to item and its variant, and reporting the quantities of those items.

Column nameData typeDescriptionConstraints
idbigintIdentifier for fulfillment item generated by analytics.Primary Key
fulfillment_idbigintRelates to fulfillment_t.
item_variant_idbigintRelates to item_variant_t.Foreign Key
quantityintegerQuantity of item variants in this fulfillment.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
fulfillment_item_t_pk{id}Unique
fulfillment_item_t_fulfillment_id_item_variant_id_uk{"fulfillment_id, item_variant_id"}Unique
fulfillment_item_t_item_variant_id_i{item_variant_id}Non-Unique

Relationship diagram

Show ER Diagram of fulfillment_item_t

alt_text


Table: fulfillment_order_t

This table contains related fulfillment to order. A user can order items and when that order is fulfilled the fulfillment is successful.

For example, a fulfillment containing an order for 3 units of the item variant 50-cal-ammo-tracer.

Analytics usage: relating fulfillment to order.

Column nameData typeDescriptionConstraints
idbigintIdentifier for fulfillment order generated by analytics.Primary Key
fulfillment_idbigintRelates to fulfillment_t.Foreign Key
order_idbigintRelates to order_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
fulfillment_order_t_pk{id}Unique
fulfillment_order_t_fulfillment_id_order_id_uk{"fulfillment_id, order_id"}Unique
fulfillment_order_t_order_id_i{order_id}Non-Unique

Relationship diagram

Show ER Diagram of fulfillment_order_t

alt_text


Table: fulfillment_status_type_t

This table contains possible statuses for a fulfillment: success, fail. Relates to its delivery or failure.

For example, FAIL meaning for some reason the fulfillment was not executed. The current sole reason available is an internal server error.

Analytics usage: showing the possible fulfillment statuses, for instance in a legend.

Column nameData typeDescriptionConstraints
idbigintIdentifier for fulfillment status type generated by analytics.Primary Key
namecharacter varyingName of the fulfilment status type.
lnamecharacter varyingLong name of the fulfilment status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
fulfillment_status_type_t_pk{id}Unique
fulfillment_status_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of fulfillment_status_type_t

alt_text


Table: fulfillment_t

This table contains record of the fulfillment user activity. A fulfillment is one or more entitlements delivered to a user. It could be via an order or redemption. Note that there are two kinds of fulfillment: an order or a code redeem.

For example, a successful fulfillment to a specific user executed at 2022-04-14 01:52:57.000.

Analytics usage: analysis of users' fulfillment activities, joining user and time to fulfillment.

Column nameData typeDescriptionConstraints
idbigintIdentifier for fulfillment generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
start_tsTimestamp without time zoneStart time of the fulfillment activity.
end_tsTimestamp without time zoneUTC timestamp for the end of the activity.
status_idbigintRelates to fulfillment_status_type_t.Foreign Key
fulfillment_error_idbigintRelates to fulfillment_error_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
fulfillment_numbercharacter varyingWe use order number as fulfillment number, but in clarity, to get the related order, use fulfillment_order_t instead.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
fulfillment2_t_pk{id}Unique
fulfillment_t_fulfillment_number_uk{fulfillment_number}Unique
fulfillment_t_fulfillment_error_id_i{fulfillment_error_id}Non-Unique
fulfillment_t_status_id_i{status_id}Non-Unique
fulfillment_t_user_id_i{user_id}Non-Unique
fulfillment_t_namespace_id_i{namespace_id}Non-Unique
fulfillment_t_start_ts_i{start_ts}Non-Unique

Relationship diagram

Show ER Diagram of fulfillment_t

alt_text


Table: redemption_code_t

This table contains redemption codes which can be used to receive items via a fulfillment.

For example, an issued redemption code with a uniqueIDsuch as g4a2cJbszsKnUVqMPHJf.

Analytics usage: getting the analytics numericIDfor an alphanumeric redemption code.

Column nameData typeDescriptionConstraints
idbigintIdentifier for redemption code generated by analytics.Primary Key
codecharacter varyingThe real world redemption code which may be visible to the player.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
redemption_code_t_pk{id}Unique
redemption_code_t_code_uk{code}Unique

Relationship diagram

Show ER Diagram of redemption_code_t

alt_text


Group: Language and Geographic

Table: aws_region_t

This table contains a list of AWS regions, where AWS resources are located.

For example, "us-west-2" Oregon.

Analytics usage: reporting AWS resource usage per region, for example.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingAWS region ID eg us-west-1.
lnamecharacter varyingLong name describing the region eg us west us west (n. California).
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
aws_region_id_uk{id}Unique
aws_region_t_name_uk{name}Unique
aws_region_pk{id}Unique

Relationship diagram

Show ER Diagram of aws_region_t

alt_text


Table: continent_t

This table contains all continents and their ISO codes

For example, AF: Africa.

Analytics usage: creating reports split by continent.

Column nameData typeDescriptionConstraints
idbigintIncrementing identifier.Primary Key
codecharacterISO Continent Code.
nametextName of the continent.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
continent_t_pkey{id}Unique
continent_t_uk{code}Unique

Table: country_t

This table contains all countries and their ISO Country Codes

For example, US: United States of America, including its other ISO format identifiers and that it is in the continent NA: North America.

Analytics usage: creating reports split by country.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingName of the country.Unique Constraint
lnamecharacter varyingLong name of the country.
iso_3chartextISO Country Code.
iso_numbertextISO Country Number.
iso_continenttextISO Continent Code.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
snametextShort country name used for compact display

Indexes

Index nameIndexed columnsType
country_t_name_key_uk{name}Unique
country_t_pk{id}Unique
country_t_name_id_uk{"name, id"}Unique

Relationship diagram

Show ER Diagram of country_t

alt_text


Table: locale_t

This table contains A list of languages used in connection with items and currencies.

For example, de for German.

Analytics usage: displaying language locale for items.

Column nameData typeDescriptionConstraints
idbigintIdentifier for locale generated by analytics.Primary Key
namecharacter varyingName of the locale.
lnamecharacter varyingLong name of the locale.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
locale_t_pk{id}Unique
locale_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of locale_t

alt_text


Table: language_t

This table contains languages used in AGS localization for users, for instance to customize payment related text.

For example, en-US for American English.

Analytics usage: defining the languages shown in AGS.

Column nameData typeDescriptionConstraints
idbigintIdentifier for language generated by analytics.Primary Key
namecharacter varyingName of the language.Unique Constraint
lnamecharacter varyingLong name of the language.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
language_t_name_uk{name}Unique
language_t_pk{id}Unique

Relationship diagram

Show ER Diagram of language_t

alt_text


Group: Aggregator Utility

Table: bd_activity_type_t

This table contains a list of types of AGS user activity. Note there is a catch-all activity 'All Events' which represents all activities combined.

For example, 'Auth' being user authentication.

Analytics usage: segregating user activity distinct counts by type of activity eg. calculating HAU for only the payments.

Column nameData typeDescriptionConstraints
idsmallintIdentifier for activity type generated by analytics.Primary Key
activity_typetextDescriptive name of the activity type, eg. Agreement.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_activity_type_t_pk{id}Unique
bd_activity_type_t_uk{activity_type}Unique

Table: bd_calendar_month_t

This table contains derived calendar month counts of distinct users: MAU. They are categorized by namespace, e.g., game and month.

For example, Monthly Active Users for a specific game in January 2024.

Analytics usage: charting active users per calendar month rather than the alternative 30 day rolling MAU.

Column nameData typeDescriptionConstraints
idbigintPrimary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.
month_start_tsTimestamp without time zoneThe start of the month for which we count users.
maubigintMonthly active user count. For the current month this will be a partial count.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_calendar_month_t_pkey{id}Unique
bd_daily_counts_t_uk{"namespace_id, month_start_ts"}Unique
bd_calendar_month_t_month_start_ts_i{"month_start_ts, namespace_id"}Non-Unique
bd_bd_calendar_month_t_uk{"namespace_id, month_start_ts"}Unique

Table: bd_daily_count_t

This table contains derived daily counts of distinct user activity: DAU, WAU and MAU, AHAU (average over the day) and PHAU (top HAU in the day). They are categorized by namespace, e.g., game, day and activity type.

For example, Daily Active Users who made a purchase in a given game for a given day.

Analytics usage: charting active users per day, either overall with the "All Events" activity type or for a specific type of activity.

Column nameData typeDescriptionConstraints
namespace_idbigintIdentifier of the namespace, e.g., game project.Primary Key
activity_type_idsmallintThe ID of the activity as listed in bd_activity_type.Primary Key
activity_typetextThe type of the activity as listed in bd_activity_type.
day_tsdateThe date on which the activity occurred.Primary Key
daubigintDaily active user count.
waubigintWeekly active user count.
maubigintMonthly active user count.
ahaunumericAverage HAU.
phaubigintHighest HAU over the day.
phau_hoursARRAYThe hours which scored the highest HAU over the day.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_daily_counts_t_pk{"namespace_id, activity_type_id, day_ts"}Unique
bd_daily_count_t_day_ts_i{"day_ts, namespace_id, activity_type_id"}Non-Unique

Table: bd_dimension_t

This table contains dimensions of the distinct counts: namespace, activity type and hour.

For example, an hour timestamp, activity type eg Agreement and a namespace for a game.

Analytics usage: as a utility table for creating visualisations if all possible dimension combinations are needed.

Column nameData typeDescriptionConstraints
iduuidIdentifier for dimension generated by analytics.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.
activity_typetextThe type of the activity as listed in bd_activity_type.
hour_tsTimestamp without time zoneUTC timestamp.
is_day_startbooleanIndicates if the hour in this record is the start of a day.
is_hourly_t_loadedbooleanA field for internal use, checking data load processes.

Indexes

Index nameIndexed columnsType
bd_dimensions_t_pk{id}Unique
bd_dimensions_day_i{"namespace_id, activity_type, is_day_start, hour_ts"}Non-Unique
bd_dimensions_uk{"namespace_id, activity_type, hour_ts"}Unique

Table: bd_etl_auth_time_t

This table contains Data not used for analytics visualisations but required for aggregation processes. This table may be ignored.

Column nameData typeDescriptionConstraints
idbigintInternal use for checking data completeness, can be ignored.Primary Key
namespace_idbigintInternal use for checking data completeness, can be ignored.
auth_tsTimestamp without time zoneInternal use for checking data completeness, can be ignored.
latest_prior_tsTimestamp without time zoneInternal use for checking data completeness, can be ignored.
latest_day_tsTimestamp without time zoneInternal use for checking data completeness, can be ignored.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_etl_auth_time_t_pk{id}Unique
bd_etl_auth_time_t_uk{"id, namespace_id, auth_ts DESC"}Unique
bd_etl_auth_time_t_latest_prior_ts_i{"((latest_prior_ts IS NULL"}Non-Unique

Table: bd_etl_catchup_log_t

This table contains Data not used for analytics visualisations but required for aggregation processes. This table may be ignored.

Column nameData typeDescriptionConstraints
idbigintInternal use for processing late incoming data, can be ignored.Primary Key
namespace_idbigintInternal use for processing late incoming data, can be ignored.
lookback_hoursbigintInternal use for processing late incoming data, can be ignored.
window_end_tsTimestamp without time zoneInternal use for processing late incoming data, can be ignored.
latest_day_tsTimestamp without time zoneInternal use for processing late incoming data, can be ignored.
is_processedbooleanInternal use for processing late incoming data, can be ignored.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_etl_catchup_log_t_pk{id}Unique
bd_etl_catchup_log_t_uk{"namespace_id, lookback_hours, window_end_ts, latest_day_ts"}Unique

Table: bd_etl_process_log_t

This table contains Data not used for analytics visualisations but required for aggregation processes. This table may be ignored.

Column nameData typeDescriptionConstraints
idbigintInternal use for recording ETLs, can be ignored.Primary Key
start_tsTimestamp without time zoneInternal use for recording ETLs, can be ignored.
end_tsTimestamp without time zoneInternal use for recording ETLs, can be ignored.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_etl_process_log_t_pk{id}Unique

Relationship diagram

Show ER Diagram of bd_etl_process_log_t

alt_text


Table: bd_etl_source_detail_t

This table contains Data not used for analytics visualisations but required for aggregation processes. This table may be ignored.

Column nameData typeDescriptionConstraints
idbigintInternal use for recording ETLs, can be ignored.Primary Key
bd_etl_source_log_idbigintInternal use for recording ETLs, can be ignored.Foreign Key, Unique Constraint
namespace_idbigintInternal use for recording ETLs, can be ignored.Unique Constraint
ts_hrTimestamp without time zoneInternal use for recording ETLs, can be ignored.Unique Constraint
source_rowcountbigintInternal use for recording ETLs, can be ignored.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_etl_source_detail_t_id_namespace_hr_uk{"bd_etl_source_log_id, namespace_id, ts_hr"}Unique
bd_etl_source_detail_t_pk{id}Unique

Relationship diagram

Show ER Diagram of bd_etl_source_detail_t

alt_text


Table: bd_etl_source_log_t

This table contains Data not used for analytics visualisations but required for aggregation processes. This table may be ignored.

Column nameData typeDescriptionConstraints
idbigintInternal use for recording ETLs, can be ignored.Primary Key
source_tabletextInternal use for recording ETLs, can be ignored.Unique Constraint
source_grouptextInternal use for recording ETLs, can be ignored.
start_idbigintInternal use for recording ETLs, can be ignored.
end_idbigintInternal use for recording ETLs, can be ignored.
start_tsTimestamp without time zoneInternal use for recording ETLs, can be ignored.Unique Constraint
bd_etl_process_log_idbigintInternal use for recording ETLs, can be ignored.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_etl_source_log_t_pk{id}Unique
bd_etl_source_log_t_table_hr_uk{"source_table, start_ts"}Unique

Relationship diagram

Show ER Diagram of bd_etl_source_log_t

alt_text


Table: bd_fact_user_activity_t

This table contains all the distinct users, hour timestamps and activity types executed by the user. Note that namespace, e.g., game can be derived from the user_id by joining to the user_t table.

For example, a record of a user joining a game with the 'New User' activity type during the hour 2022-11-11 11:00.

Analytics usage: queries about user activity. For instance this is used to create the content of the bd_hourly_count_t table which gives DAU and similar distinct user counts.

Column nameData typeDescriptionConstraints
ts_hrTimestamp without time zoneThe timestamp of the start of the hour in which the activity occurred.Primary Key
activity_type_idsmallintThe ID of the activity as listed in bd_activity_type.Primary Key
user_idbigintRelates to user_t.Primary Key
ts_datedateThe day in which the activity occurred.
country_idbigintThe country in which the activity occurred, not always populated.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_fact_user_activity_t_user_uk{"user_id, ts_hr, activity_type_id"}Unique
bd_fact_user_activity_t_user_id_ts_date_i{"user_id, ts_date"}Non-Unique
bd_fact_user_activity_t_pk{"ts_hr, activity_type_id, user_id"}Unique
bd_fact_user_activity_t_country_id_i{country_id}Non-Unique
bd_fact_user_activity_t_date_i{"ts_date, activity_type_id, user_id"}Non-Unique

Table: bd_hourly_count_t

This table contains derived daily counts of distinct user activity: HAU. They are categorized by namespace, e.g., game, hour and activity type.

For example, Hourly Active Users who made a purchase in a given game in a given hour.

Analytics usage: charting active users per hour, either overall with the 'All Events' activity type or for a specific type of activity. This can answer questions such as "which is the busiest hour of the day?".

Column nameData typeDescriptionConstraints
namespace_idbigintIdentifier of the namespace, e.g., game project.Primary Key
activity_type_idsmallintThe ID of the activity as listed in bd_activity_type.Primary Key
activity_typetextThe type of the activity as listed in bd_activity_type.
hour_tsTimestamp without time zoneUTC timestamp.Primary Key
haubigintHourly Active Users.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_hourly_counts_t_pk{"namespace_id, activity_type_id, hour_ts"}Unique
bd_hourly_count_t_hour_ts_i{"hour_ts, namespace_id, activity_type_id"}Non-Unique

Table: bd_session_daily_t

This table contains derived daily counts of distinct match sessions and lobby sessions. They are categorized by day and namespace, e.g., game. Note that a single user may have many sessions in an day.

For example, 1023 match sessions and 3301 lobby sessions for a given game on 2023-07-05.

Analytics usage: charting session counts for a namespace per day.

Column nameData typeDescriptionConstraints
idintegerIdentifier for metric daily generated by analytics.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.Unique Constraint
day_tsdateThe day in which the session occurred.Unique Constraint
match_session_countbigintThe count of distinct match sessions.
lobby_session_countbigintThe count of distinct lobby sessions.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
non_unique_player_countbigintThe non-unique count of users in match sessions.

Indexes

Index nameIndexed columnsType
bd_session_daily_t_namespace_id_ts_hr_uk{"namespace_id, day_ts"}Unique
bd_session_daily_t_pk{id}Unique

Table: bd_session_hourly_t

This table contains derived hourly counts of distinct match sessions and lobby sessions. They are categorized by hour and namespace, e.g., game. Note that a single user may have many sessions in an hour.

For example, 244 match sessions and 453 lobby sessions for a given game during the hour 2022-11-11 11:00.

Analytics usage: charting session counts for a namespace per hour.

Column nameData typeDescriptionConstraints
idintegerIdentifier for metric hourly generated by analytics.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.Unique Constraint
ts_hrTimestamp without time zoneThe timestamp of the start of the hour in which the session occurred.Unique Constraint
match_session_countbigintThe count of distinct match sessions.
lobby_session_countbigintThe count of distinct lobby sessions.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
bd_session_hourly_t_namespace_id_ts_hr_uk{"namespace_id, ts_hr"}Unique
bd_session_hourly_t_pk{id}Unique

Group: GDPR

Table: gdpr_account_anonymized_t

This table holds records of users anonymized in accordance with GDPR.

For example, a given user was anonymized on a certain date.

Analytics Usage: for proof of compliance.

Column nameData typeDescriptionConstraints
idbigintIdentifier for GDPR account anonymized generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key, Unique Constraint
finished_tsTimestamp without time zoneWhen the anonymization finished.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
gdpr_account_anonymized_t_namespace_id_i{namespace_id}Non-Unique
gdpr_account_anonymized_t_pk{id}Unique
gdpr_account_anonymized_t_uk{user_id}Unique

Relationship diagram

Show ER Diagram of gdpr_account_anonymized_t

alt_text


Table: gdpr_account_deleted_t

This table contains a log of status changes for user accounts having GDPR activities

For example, a status change to DELETED for a given user at 2023-02-24 00:49:00.000.

Analytics usage: analysis of GDPR user status changes.

Column nameData typeDescriptionConstraints
idbigintIdentifier for GDPR account deleted generated by analytics.Primary Key
user_idbigintRelates to user_t.Foreign Key
start_tsTimestamp without time zoneStart time of the GDPR account deleted activity.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
statusbigintRelates to GDPR_account_deletion_status_type_t.
end_tsTimestamp without time zoneEnd of the deletion activity.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
gdpr_account_deleted_t_pk{id}Unique
gdpr_account_deleted_t_user_id_uk{"user_id, start_ts, status"}Unique
gdpr_account_deleted_t_namespace_id_i{namespace_id}Non-Unique

Relationship diagram

Show ER Diagram of gdpr_account_deleted_t

alt_text


Table: gdpr_account_deletion_status_type_t

This table contains list of GDPR activity statuses: REQUESTED_TO_IAM, DELETED

For example, DELETED, meaning that the user's data has been deleted from the system as requested to comply with GDPR.

Analytics usage: showing the GDPR status type, for instance in a legend.

Column nameData typeDescriptionConstraints
idbigintIdentifier for GDPR account deletion statusype generated by analytics.Primary Key
namecharacter varyingName of the GDPR account deletion status type.
lnamecharacter varyingLong name of the GDPR account deletion status type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
gdpr_account_deletion_status_type_t_name_uk{name}Unique
gdpr_account_deletion_status_type_t_pk{id}Unique

Table: gdpr_activity_t

This table contains a log of GDPR activities requested by a user for themselves or another user.

For example, An administrative user requests the GDPR covered data on behalf of a player user at 2023-02-20 12:53:03.000.

Analytics usage: analysis of GDPR activities, for instance to count the requests for personal data per month.

Column nameData typeDescriptionConstraints
idbigintIdentifier for GDPR activity generated by analytics.Primary Key
requester_user_idbigintRequester in user_t.Foreign Key
target_user_idbigintTarget user in user_t.Foreign Key
activity_type_idbigintThe ID of the activity as listed in bd_activity_type.Foreign Key
activity_tsTimestamp without time zoneUTC timestamp of the activity.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key

Indexes

Index nameIndexed columnsType
gdpr_activity_t_target_user_id_activity_type_id_activity_ts_uk{"target_user_id, activity_type_id, activity_ts"}Unique
gdpr_activity_t_namespace_id_i{namespace_id}Non-Unique
gdpr_activity_t_requester_user_id_i{requester_user_id}Non-Unique
gdpr_activity_t_pk{id}Unique
gdpr_activity_t_target_user_id_i{target_user_id}Non-Unique

Relationship diagram

Show ER Diagram of gdpr_activity_t

alt_text


Table: gdpr_activity_type_t

This table contains list of GDPR related activity types. One of PERSONAL_DATA_REQUESTED, PERSONAL_DATA_DOWNLOADED, ACCOUNT_DELETION_REQUESTED, ACCOUNT_DELETION_REQUEST_CANCELLED, PERSONAL_DATA_REQUEST_CANCELLED.

For example, PERSONAL_DATA_REQUESTED when a user requests that we supply all the GDPR covered data about themselves.

Analytics usage: showing the type of GDPR activity.

Column nameData typeDescriptionConstraints
idbigintIdentifier for GDPR activity type generated by analytics.Primary Key
namecharacter varyingName of the GDPR activity type.
lnamecharacter varyingLong name of the GDPR activity type.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
gdpr_activity_type_t_pk{id}Unique
gdpr_activity_type_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of gdpr_activity_type_t

alt_text


Group: General Utility

Table: analytics_heartbeat_t

Internal use

Column nameData typeDescriptionConstraints
idbigintIdentifier for analytics heartbeat generated by analyticsPrimary Key
namespace_idbigintIdentifier of the namespace, e.g., game projectForeign Key
latest_tsTimestamp without time zone?
event_idcharacter varying?
job_run_idbigintID of the analytics job run via which this row was importedForeign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
analytics_heartbeat_t_pk{id}Unique
analytics_heartbeat_t_namespace_id_uk{namespace_id}Unique

Relationship diagram

Show ER Diagram of analytics_heartbeat_t

alt_text


Table: schema_version_t

This table contains a record of versions of this schema. The row with the highest ID and version_number is th current in-use version.

Column nameData typeDescriptionConstraints
idbigintSystem identifier for schema version.Primary Key
version_numbernumericVersion number that increases chronologically.
implemented_datedateDate of implementation of this new version of the Schema.
change_descriptiontextA brief description of changes to the schema compared with the previous version.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
schema_version_t_pkey{id}Unique

Table: job_program_t

This table contains data for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintIdentifier for job program generated by analytics.Primary Key
namecharacter varyingName of the job program.Unique Constraint
lnamecharacter varyingLong name of the job program.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
job_program_t_pkey{id}Unique
job_program_t_name_idx{name}Unique
job_program_t_name_uk{name}Unique
job_program_t_pk{id}Unique

Relationship diagram

Show ER Diagram of job_program_t

alt_text


Table: job_run_t

This table contains a log of ETL job runs processing incoming data for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintIdentifier for job run generated by analytics.Primary Key
program_idbigintInternal program ID for this job.Foreign Key
start_tsTimestamp without time zoneStart of the job run.
finish_tsTimestamp without time zoneEnd of the job run.
hostnamecharacter varyingWhere the job ran.
usernamecharacter varyingUser invoking the Job.

Indexes

Index nameIndexed columnsType
job_run_t_pkey{id}Unique
job_run_t_pk{id}Unique

Relationship diagram

Show ER Diagram of job_run_t

alt_text


Table: dim_date_t

This table contains date dimensions, covering dates up to 2050. This includes a lot of information about each date for instance day_of_month.

For example, 2023-01-03 and its information such as suffix, epoch, whether it is the first day of the month and so on.

Analytics usage: creating reports using this as a utility for formatting and selecting dates.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
date_actualdateDimension date.
epochbigintSeconds since 1970-01-01.
day_suffixcharacter varyingeg. 1st.
day_namecharacter varyingeg. Thursday.
day_of_weekintegereg. 1 for Monday.
day_of_monthintegereg. 23.
day_of_quarterintegereg. 75.
day_of_yearintegereg. 214.
week_of_monthintegereg. 2.
week_of_yearintegereg. 34.
week_of_year_isocharactereg. 2024-W37-5.
month_actualintegereg. 9.
month_namecharacter varyingeg. July.
month_name_abbreviatedcharactereg. Sep.
quarter_actualintegereg. 3.
quarter_namecharacter varyingeg. Third.
year_actualintegereg. 2024.
first_day_of_weekdateeg. 2024-09-09.
last_day_of_weekdateeg. 2024-09-15.
first_day_of_monthdateeg. 2024-09-01.
last_day_of_monthdateeg. 2024-09-30.
first_day_of_quarterdateeg. 2024-07-01.
last_day_of_quarterdateeg. 2024-09-30.
first_day_of_yeardateeg. 2024-01-01.
last_day_of_yeardateeg. 2024-12-31.
mmyyyycharactereg. 092024.
mmddyyyycharactereg. 09142024 .
is_weekend_indrbooleanTrue if the date is on a weekend.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
d_date_id_pk{id}Unique
d_date_date_actual_i{date_actual}Non-Unique

Table: internal_job_run_detail_t

This table contains data for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idintegerIdentifier for internal job run detail generated by analytics.
job_run_idbigintID of the analytics job run via which this row was imported.Primary Key
namespace_idbigintIdentifier of the namespace, e.g., game project.Primary Key
activity_typetextThe type of the activity as listed in bd_activity_type.Primary Key
min_ts_hrTimestamp without time zoneEarliest time of the period of data processed by this job.
max_ts_hrTimestamp without time zoneLatest time of the period of data processed by this job.
user_id_countbigintCount of users in the data processed by this job.
row_countbigintCount of rows in the data processed by this job.

Indexes

Index nameIndexed columnsType
internal_job_run_detail_t_pk{"job_run_id, namespace_id, activity_type"}Unique

Table: http_justice_service_t

This table contains data for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namecharacter varyingAGS Service name.
lnamecharacter varyingAGS Service long name.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
http_justice_service_t_pk{id}Unique
http_justice_service_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of http_justice_service_t

alt_text


Table: http_request_t

This table contains data for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
typecharacter varyingThe type of request or connection.
timeTimestamp without time zoneThe time when the load balancer generated a response to the client, in ISO 8601 format. For WebSockets, this is the time when the connection is closed.
elbcharacter varyingThe resource ID of the load balancer. If you are parsing access log entries, note that resources IDs can contain forward slashes.
client_ipcharacter varyingThe IP address of the requesting client. If there is a proxy in front of the load balancer, this field contains the IP address of the proxy.
client_portintegerThe port of the requesting client.
target_ipcharacter varyingThe IP address of the target that processed this request.
target_portintegerThe port of the target that processed this request.
request_processing_timedouble precisionThe total time elapsed (in seconds, with millisecond precision) from the time the load balancer received the request until the time it sent the request to a target.
target_processing_timedouble precisionThe total time elapsed (in seconds, with millisecond precision) from the time the load balancer sent the request to a target until the target started to send the response headers.
response_processing_timedouble precisionThe total time elapsed (in seconds, with millisecond precision) from the time the load balancer received the response header from the target until it started to send the response to the client. This includes both the queuing time at the load balancer and the connection acquisition time from the load balancer to the client.
elb_status_codeintegerThe status code of the response from the load balancer.
target_status_codecharacter varyingThe status code of the response from the target. This value is recorded only if a connection was established to the target and the target sent a response. Otherwise, it is set to -.
received_bytesbigintThe size of the request, in bytes, received from the client (requester). For HTTP requests, this includes the headers. For WebSockets, this is the total number of bytes received from the client on the connection.
sent_bytesbigintThe size of the response, in bytes, sent to the client (requester). For HTTP requests, this includes the headers. For WebSockets, this is the total number of bytes sent to the client on the connection.
request_verbcharacter varyingHTTP method .
request_urlcharacter varyinghost:port/uri.
request_protocharacter varyingprotocol.
user_agentcharacter varyingA User-Agent string that identifies the client that originated the request, enclosed in double quotes. The string consists of one or more product identifiers, product[/version]. If the string is longer than 8 KB, it is truncated.
ssl_ciphercharacter varying[HTTPS listener] The SSL cipher. This value is set to - if the listener is not an HTTPS listener.
ssl_protocolcharacter varying[HTTPS listener] The SSL protocol. This value is set to - if the listener is not an HTTPS listener.
target_group_arncharacter varyingThe Amazon Resource Name (ARN) of the target group.
trace_idcharacter varyingThe contents of the X-Amzn-Trace-Id header, enclosed in double quotes.Unique Constraint
domain_namecharacter varying[HTTPS listener] The SNI domain provided by the client during the TLS handshake, enclosed in double quotes. This value is set to - if the client does not support SNI or the domain does not match a certificate and the default certificate is presented to the client.
chosen_cert_arncharacter varying[HTTPS listener] The ARN of the certificate presented to the client, enclosed in double quotes. This value is set to session-reused if the session is reused. This value is set to - if the listener is not an HTTPS listener.
matched_rule_prioritycharacter varyingThe priority value of the rule that matched the request. If a rule matched, this is a value from 1 to 50,000. If no rule matched and the default action was taken, this value is set to 0. If an error occurs during rules evaluation, it is set to -1. For any other error, it is set to -.
request_creation_timecharacter varyingThe time when the load balancer received the request from the client, in ISO 8601 format.
actions_executedcharacter varyingThe actions taken when processing the request, enclosed in double quotes. This value is a comma-separated list that can include the values described in Actions taken. If no action was taken, such as for a malformed request, this value is set to -.
redirect_urlcharacter varyingThe URL of the redirect target for the location header of the HTTP response, enclosed in double quotes. If no redirect actions were taken, this value is set to -.
lambda_error_reasoncharacter varyingThe error reason code, enclosed in double quotes. If the request failed, this is one of the error codes described in Error reason codes. If the actions taken do not include an authenticate action or the target is not a Lambda function, this value is set to -.
target_port_listcharacter varyingA space-delimited list of IP addresses and ports for the targets that processed this request, enclosed in double quotes. Currently, this list can contain one item and it matches the target:port field.
target_status_code_listcharacter varyingA space-delimited list of status codes from the responses of the targets, enclosed in double quotes. Currently, this list can contain one item and it matches the target_status_code field.
classificationcharacter varyingThe classification for desync mitigation, enclosed in double quotes. If the request does not comply with RFC 7230, the possible values are Acceptable, Ambiguous, and Severe. .
classification_reasoncharacter varyingThe classification reason code, enclosed in double quotes. If the request does not comply with RFC 7230, this is one of the classification codes described in Classification reasons. If the request complies with RFC 7230, this value is set to -.
idbigintIdentifier for http request generated by analytics.Primary Key
domain_url_idbigintRelates to etl_justice_url_t.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
http_justice_service_idintegerRelates to http_justice_service_t.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
http_request_t_pk{id}Unique
http_request_t_uk{trace_id}Unique

Relationship diagram

Show ER Diagram of http_request_t

alt_text


Table: job_execution_run_t

This table relates a job run with its execution ID. This table is for internal use. You can ignore this table.

Column nameData typeDescriptionConstraints
idbigintIdentifier for the job execution run.Primary Key
job_execution_idbigintJob execution ID.Foreign Key
job_run_idbigintJob run IDForeign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
job_execution_run_t_pkey{id}Unique
job_execution_run_t_job_execution_id_i{job_execution_id}Non-Unique
job_execution_run_t_job_execution_id_job_run_id_uk{"job_execution_id, job_run_id"}Unique
job_execution_run_t_job_run_id_i{job_run_id}Non-Unique
job_execution_run_t_job_execution_id_i{job_execution_id}Non-Unique
job_execution_run_t_job_run_id_i{job_run_id}Non-Unique
job_execution_run_t_job_execution_id_job_run_id_uk{"job_execution_id, job_run_id"}Unique
job_execution_run_t_pkey{id}Unique

Relationship diagram

Show ER Diagram of job_execution_run_t

alt_text


Table: job_execution_t

This table logs of ETL job executions. This table is for internal use. You can ignore this table.

Column nameData typeDescriptionConstraints
idbigintIdentifier for the job executionPrimary Key
job_execution_nametextName of the job execution, unique for each execution.
parametertextParameter of the execution
start_tsTimestamp without time zoneStarting timestamp of job execution
finish_tsTimestamp without time zoneEnd timestamp of job execution

Indexes

Index nameIndexed columnsType
job_execution_t_pkey{id}Unique
job_execution_t_job_execution_name_uk{job_execution_name}Unique
job_execution_t_pkey{id}Unique
job_execution_t_job_execution_name_uk{job_execution_name}Unique

Relationship diagram

Show ER Diagram of job_execution_t

alt_text


Group: Platform

Table: device_platform_t

This table contains the list of possible device platforms. Used for instance in telemetry presence.

For example, Windows.

Analytics usage: Displaying the platforms in a legend on a chart.

Column nameData typeDescriptionConstraints
idbigintIdentifier for device platform generated by analytics.Primary Key
namecharacter varyingName of the device platform eg Windows.
lnamecharacter varyingLong name of the device platform.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
device_platform_t_pk{id}Unique
device_platform_t_name_uk{name}Unique

Relationship diagram

Show ER Diagram of device_platform_t

alt_text


Table: platform_t

This table contains a list of hardware or software platforms on which a game can run.

For example, steam representing that online games platform.

Analytics usage: displaying platform name.

Column nameData typeDescriptionConstraints
idbigintIdentifier for platform generated by analytics.Primary Key
namecharacter varyingName of the platform.Unique Constraint
lnamecharacter varyingLong name of the platform.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
thirdparty_t_name_uk{name}Unique
thirdparty_t_pk{id}Unique

Relationship diagram

Show ER Diagram of platform_t

alt_text


Group: ETL Utility

Table: etl_file_path_t

This table contains the ETL file path for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintIdentifier for file path generated by analytics service.Primary Key
file_topic_idbigintRelates to etl_file_topic_t.Foreign Key
path_created_tsTimestamp without time zoneThe path time partition in the S3.
filenametextThe object filename in the S3.
job_run_idbigintID of the analytics job run via which this row was loaded.
has_errorbooleanA flag on whether the file has at least one line of error during ETL or not
bucket_idbigintS3 bucket where the file resides in, relates to etl_s3_bucket_tForeign Key
last_etl_tsTimestamp without time zoneThe timestamp of when was the last time the file had been processed by the ETL
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_file_path_t_pkey{id}Unique
etl_file_path_t_file_topic_id_i{file_topic_id}Non-Unique
etl_file_path_t_filename_uk{filename}Unique
etl_file_path_t_bucket_id_i{bucket_id}Non-Unique
path_created_ts_i{path_created_ts}Non-Unique

Relationship diagram

Show ER Diagram of etl_file_path_t

alt_text


Table: etl_file_topic_t

This table contains the ETL topics path for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintIdentifier for topic path generated by analytics service.Primary Key
topic_pathtextThe topic path in the S3.
job_run_idbigintID of the analytics job run via which this row was loaded.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_file_topic_t_pkey{id}Unique
etl_file_topic_t_topic_path_uk{topic_path}Unique

Relationship diagram

Show ER Diagram of etl_file_topic_t

alt_text


Table: etl_justice_s3_t

This table contains a log of data imports for AGS events, which is sometimes used to derive names of namespaces.

For example, a data import job ran with a bucket name bucket123-analytics-kafka in us-west-2 region for the namespace dragon-strategy-game.

Analytics usage: internal use for deriving namespace name from namespace ID. Not necessary to refer to since namespace name is already in namespace_t.

Column nameData typeDescriptionConstraints
idintegerIdentifier for the ETL job to load data from s3 generated by analytics.
bucket_namecharacter varyingAWS s3 bucket name of the source data.
aws_region_idbigintRelates to aws_region_t.Foreign Key
namespacecharacter varyingnamespace, e.g., for a game.
namespace_idbigintIf this value is not null the row refers to a game namespace.Foreign Key
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_justice_s3_t_bucket_name_aws_region_id_namespace_i{"bucket_name, aws_region_id, namespace"}Non-Unique

Relationship diagram

Show ER Diagram of etl_justice_s3_t

referencing_to_erd_of_etl_justice_s3_t


Table: etl_justice_url_t

This table contains the ETL domain name for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintIdentifierPrimary Key
bucket_namecharacter varyingAWS s3 bucket name of the access load balancer logUnique Constraint
aws_region_idbigintAWS Region in which the ETL took placeForeign Key, Unique Constraint
domain_namecharacter varyingDomain name for the ETLUnique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_alb_s3_t_pk{id}Unique
etl_alb_s3_t_uk{"bucket_name, aws_region_id, domain_name"}Unique

Relationship diagram

Show ER Diagram of etl_justice_url_t

referencing_to_erd_of_etl_justice_url_t


Table: etl_processed_event_t

This table contains the number of events processed by etl. They are categorized by namespace and event source.

For describing how many telemetry events were processed in a given ETL process.

Analytics usage: charting the number of events processed by etl.

Column nameData typeDescriptionConstraints
idbigintIdentifier for the processed event.Primary Key
file_path_idbigintRelates to etl_file_path_t.Foreign Key
namespace_idbigintRelates to namespace_t.Foreign Key
event_sourcetextThe event source from event, whether it is justice-event (AGS event) or game telemetry (custom events).Check Constraint
event_countbigintThe number of processed events.
event_sizebigintThe size of processed events.
job_run_idbigintID of the analytics job run via which this row was loaded.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_processed_event_t_pkey{id}Unique
etl_processed_event_t_etl_file_path_id_i{file_path_id}Non-Unique
etl_processed_event_t_namespace_id_i{namespace_id}Non-Unique
etl_processed_event_t_file_path_id_uk{"file_path_id, namespace_id, event_source"}Unique

Relationship diagram

Show ER Diagram of etl_processed_event_t

referencing_to_erd_of_etl_processed_event_t


Table: etl_reject_t

This table contains a log of rejected rows of incoming data and their errors for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
linecharacter varyingThe line which was rejected.
error_textcharacter varyingError related to this rejected record.
error_retryintegerError retry number.
attempt_nocharacter varyingNumber of retries for this attempt.
is_fatalbooleanWas the reject a fatal error.
reasoncharacter varyingReason for rejecting this record.
etl_tsTimestamp without time zoneThe timestamp of when the error happened
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_reject_t_pkey{id}Unique
etl_reject_t_job_run_id_idx{job_run_id}Non-Unique
etl_reject_t_pk{id}Unique

Relationship diagram

Show ER Diagram of etl_reject_t

referencing_to_erd_of_etl_reject_t


Table: etl_s3_bucket_t

This table contains bucket names the ETL used on for internal use. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintSystem identifier for the given bucket namePrimary Key
bucket_nametextThe bucket name the ETL ran on
job_run_idbigintID of the analytics job run for this ETL processForeign Key
customer_nametextCustomer name, defaults to null, should be manually updated
environment_nametextEnvironment name (e.g., dev/prod/int), defaults to null, should be manually updated
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_s3_bucket_t_pkey{id}Unique
etl_s3_bucket_t_bucket_name_uk{bucket_name}Unique

Relationship diagram

Show ER Diagram of etl_s3_bucket_t

referencing_to_erd_of_etl_s3_bucket_t


Table: etl_schema_discovery_t

This table contains list of AGS event schemas.agreement_t.

For example, to define a schema for the topic chat and the event userRateLimited with example values.

Analytics usage: Documentation about the various AGS Event Schemas.

Column nameData typeDescriptionConstraints
idbigintClarity identifier of the given schemaPrimary Key
topictextTopic of the schema
event_nametextEvent name of the schema
schema_md5textMd5 of schema, used as identifier
schematextConcatenated list of the fields in a schema
exampletextJSON example of the schema
is_alertedbooleanWhether this schema has fired an alert
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_schema_discovery_t_pkey{id}Unique
etl_schema_discovery_t_topic_event_name_schema_md5_uk{"topic, event_name, schema_md5"}Unique

Relationship diagram

Show ER Diagram of etl_schema_discovery_t

referenced_by_erd_of_etl_schema_discovery_t


Table: etl_schema_dynamic_field_t

This table contains fields of events where they are dynamic fields. Internal use. Generated by ab-schema-dynamic-field module or manually. This table can be ignored.

Column nameData typeDescriptionConstraints
idbigintClarity identifier of the dynamic fieldPrimary Key
topictextEvent name where the dynamic field is found
event_nametextEvent name where the dynamic field is found
field_md5textMd5 of the dynamic field
fieldtextThe dynamic field
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_schema_dynamic_field_t_pkey{id}Unique
etl_schema_dynamic_field_t_topic_event_name_field_md5_uk{"topic, event_name, field_md5"}Unique

Table: etl_schema_time_t

This table contains timestamp of when the schema is found for each bucket. For internal use, this table can be ignored.

Column nameData typeDescriptionConstraints
idbigintClarity identifier of the given rowPrimary Key
schema_idbigintClarity identifier of the schema, referring to ID in etl_schema_discovery_tForeign Key
bucketnametextBucket name of where the schema is found
first_found_tsTimestamp without time zoneTimestamp of when the schema was first time found in a specific bucket
last_found_tsTimestamp without time zoneTimestamp of when the schema was last time found in a specific bucket
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
etl_schema_time_t_pkey{id}Unique
etl_schema_time_t_schema_id_i{schema_id}Non-Unique
etl_schema_time_t_schema_id_bucketname_uk{"schema_id, bucketname"}Unique

Relationship diagram

Show ER Diagram of etl_schema_time_t

referencing_to_erd_of_etl_schema_time_t


Group: Foundation

Table: foundations_shared_oauthclient_t

Internal use

Column nameData typeDescriptionConstraints
idbigintIdentifierPrimary Key
oauth_client_numbercharacter varyingidentifier for oauthclient
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
foundations_shared_oauthclient_t_oauth_client_number_uk{oauth_client_number}Unique
foundations_shared_oauthclient_t_pk{id}Unique

Table: foundations_studio_t

Internal use, this table can be ignored.

Column nameData typeDescriptionConstraints
idbigintIdentifier for foundations studio generated by analyticsPrimary Key
namespace_idbigintIdentifier of the namespace, e.g., game projectForeign Key
job_run_idbigintID of the analytics job run via which this row was importedForeign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
foundations_studio_t_pk{id}Unique
foundations_studio_t_namespace_uk{namespace_id}Unique

Relationship diagram

Show ER Diagram of foundations_studio_t

referencing_to_erd_of_foundations_studio_t


Group: AccelByte Development Tools

Table: alb_logs_adt_t

This table contains application load balancer logs from AccelByte Development Tools.

For example, records of requests made to retrieve the AccelByte Development Tools pages of the developer website.

Analytics usage: ALB log analysis, for instance finding web app latency or identifying groups of error status codes and their frequency.

Column nameData typeDescriptionConstraints
idbigintIdentifier.Primary Key
namespacetextAccelByte defined namespace tag.
request_dateTimestamp without time zoneThe time of the request to the ALB.
request_processing_timenumericThe total time elapsed (in seconds, with millisecond precision) from the time the load balancer received the request until the time it sent the request to a target.
target_processing_timenumericThe total time elapsed (in seconds, with millisecond precision) from the time the load balancer sent the request to a target until the target started to send the response headers.
response_processing_timenumericThe total time elapsed (in seconds, with millisecond precision) from the time the load balancer received the response header from the target until it started to send the response to the client.
request_countintegerTotal number of completed requests that were received and routed to the registered instances.
gb_inintegerIncoming gb to load balancer.
gb_outintegerOutgoing gb from load balancer.
client_ip_countintegerCount of distinct client ips.
max_latencynumericMaximum latency, the time elapsed after the request leaves the load balancer until a response is received.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
alb_logs_adt_t_pk{id}Unique

Group: DLC

Table: dlc_product_t

This table contains product identifiers for the DLC. It can be used to track which third party the product comes from.

For example, a record of a special edition DLC with third-party ID spec_edition on Steam

Analytics usage: Reporting about DLCs by platform showing their third-party information.

Column nameData typeDescriptionConstraints
idbigintIdentifier for DLC product generated by Clarity.Primary Key
namespace_idbigintIdentifier of the namespace.Foreign Key, Unique Constraint
platform_idbigintIdentifier of which platform sells this product.Foreign Key, Unique Constraint
dlc_idtextIdentifier of the DLC product.Unique Constraint
third_party_idtextIdentifier of the DLC third party.Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dlc_product_t_pk{id}Unique
dlc_product_t_uk{"namespace_id, platform_id, dlc_id, third_party_id"}Unique
dlc_product_t_namespace_id_i{namespace_id}Non-Unique
dlc_product_t_dlc_id_i{dlc_id}Non-Unique
dlc_product_t_third_party_id_i{third_party_id}Non-Unique
dlc_product_t_platform_id_i{platform_id}Non-Unique

Relationship diagram

Show ER Diagram of dlc_product_t

referencing_to_erd_of_dlc_product_t


Table: dlc_status_t

This table stores DLC current state.

For example, showing a given DLC got status FULFILLED on 2024-11-19 16:56:29.151

Analytics usage: to filter or categorize DLCs by status in a visualization.

Column nameData typeDescriptionConstraints
idbigintIdentifier for DLC status generated by Clarity.Primary Key
dlc_synced_idbigintIdentifier of the DLC synced.Foreign Key, Unique Constraint
dlc_statustextStatus of the DLCUnique Constraint
start_tsTimestamp without time zoneWhen the purchase happened.Unique Constraint
end_tsTimestamp without time zoneWhen the revoke happened.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dlc_status_t_pk{id}Unique
dlc_status_t_uk{"dlc_synced_id, dlc_status, start_ts"}Unique
dlc_status_t_dlc_synced_id_i{dlc_synced_id}Non-Unique

Relationship diagram

Show ER Diagram of dlc_status_t

alt_text


Table: dlc_synced_t

This table contains the core records of completed DLC transactions.

For example, a record of a transaction for a product by a given user for a given game.

Analytics usage: to track DLC history for a user.

Column nameData typeDescriptionConstraints
idbigintIdentifier for DLC transaction generated by ClarityPrimary Key
namespace_idbigintIdentifier of the namespace.Foreign Key, Unique Constraint
user_idbigintIdentifier of the user.Foreign Key, Unique Constraint
product_idbigintIdentifier of the DLC product.Foreign Key, Unique Constraint
transaction_idtextIdentifier of the transaction.Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
dlc_synced_t_pk{id}Unique
dlc_synced_t_uk{"namespace_id, user_id, product_id, transaction_id"}Unique
dlc_synced_t_namespace_id_i{namespace_id}Non-Unique
dlc_synced_t_user_id_i{user_id}Non-Unique
dlc_synced_t_product_id_i{product_id}Non-Unique
dlc_synced_t_transaction_id_i{transaction_id}Non-Unique

Relationship diagram

Show ER Diagram of dlc_synced_t

referencing_to_erd_of_dlc_synced_t


Group: Extend Usage

Table: extend_usage_app_pod_t

This table contains the Extend app usage pod.

For example, a pod ID used by event-handler app in a report.

Analytics usage: internal use to list all the pods used by an app in the report.

Column nameData typeDescriptionConstraints
idbigintIdentifier for Extend app pod name generated by ClarityPrimary Key
extend_usage_app_idbigintID of the Extend app usage of the podForeign Key
pod_nametextName of the pod in from Extend app usage report
job_run_idbigintForeign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
extend_usage_app_pod_t_pkey{id}Unique
extend_usage_app_pod_t_extend_usage_app_id_i{extend_usage_app_id}Non-Unique

Relationship diagram

Show ER Diagram of extend_usage_app_pod_t

referencing_to_erd_of_extend_usage_app_pod_t


Table: extend_usage_app_t

This table contains the Extend app usage record and details.

For example, a record of event-handler app usage, scenario and the pods used.

Analytics usage: analysis of Extend app usage

Column nameData typeDescriptionConstraints
idbigintIdentifier for Extend app usage generated by ClarityPrimary Key
extend_usage_idbigintID of the extend usage reportForeign Key, Unique Constraint
app_idtextID of the app in the extend usage reportUnique Constraint
app_nametextName of the app in the extend usage reportUnique Constraint
scenariotextExtend app usage scenario nameUnique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
extend_usage_app_t_pkey{id}Unique
extend_usage_app_t_extend_usage_id_i{extend_usage_id}Non-Unique
extend_usage_app_t_uk{"extend_usage_id, app_id, app_name, scenario"}Unique

Relationship diagram

Show ER Diagram of extend_usage_app_t

referencing_to_erd_of_extend_usage_app_t


Table: extend_usage_infra_t

This table contains the extend infra usage record and details.

For example, a record of ECR usage amount in bytes in us-west-2.

Analytics usage: analysis of extend infra usage by type and region.

Column nameData typeDescriptionConstraints
idbigintIdentifier for extend infra network usage generated by ClarityPrimary Key
extend_usage_idbigintID of the extend usage reportForeign Key, Unique Constraint
extend_usage_infra_type_idbigintID of the infra typeForeign Key, Unique Constraint
amountdouble precisionExtend infra usage amount
unittextExtend infra usage unit of measurement
regiontextExtend infra usage region identifier
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
extend_usage_infra_t_pkey{id}Unique
extend_usage_infra_t_extend_usage_id_i{extend_usage_id}Non-Unique
extend_usage_infra_t_extend_usage_infra_type_id_i{extend_usage_infra_type_id}Non-Unique
extend_usage_infra_t_uk{"extend_usage_id, extend_usage_infra_type_id"}Unique

Relationship diagram

Show ER Diagram of extend_usage_infra_t

referencing_to_erd_of_extend_usage_infra_t


Table: extend_usage_infra_type_t

This table contains the extend infra type.

For example, elastic container registry (ECR).

Analytics usage: segregating extend infra usage by infra type.

Column nameData typeDescriptionConstraints
idbigintIdentifier for extend infra network type generated by ClarityPrimary Key
nametextNetwork type used in the extend infra usage reportUnique Constraint
lnametextExtended name of the network typeUnique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
extend_usage_infra_type_t_pkey{id}Unique
extend_usage_infra_type_t_uk{"name, lname"}Unique

Relationship diagram

Show ER Diagram of extend_usage_infra_type_t

referencing_to_erd_of_extend_usage_infra_type_t


Table: extend_usage_t

This table contains the extend usage report for either app usage or infra usage.

For example, a record of app usage on a pod and its duration.

Analytics usage: analysis of extend usage for both app usage and infra usage.

Column nameData typeDescriptionConstraints
idbigintIdentifier for extend generated by ClarityPrimary Key
usage_idtextThe ID of the extend usage report eventUnique Constraint
namespace_idbigintIdentifier of the namespace, e.g., game project.Foreign Key, Unique Constraint
start_timeTimestamp without time zoneExtend usage report start time
end_timeTimestamp without time zoneExtend usage report end time
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
environmenttextIndicates the environment of the extend usage report
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
extend_usage_t_pkey{id}Unique
extend_usage_t_namespace_id_i{namespace_id}Non-Unique
extend_usage_t_uk{"usage_id, namespace_id"}Unique

Relationship diagram

Show ER Diagram of extend_usage_t

referencing_to_erd_of_extend_usage_t


Group: Grafana Usage

Table: grafana_usage_t

This table contains the Grafana usage report for the users who was logged in, including details about the namespace, environment, customer.

For example, it can be used to log when a specific Grafana instance within a customer's namespace is accessed.

Analytics usage: tracking usage patterns or billing based on the frequency of access.

Column nameData typeDescriptionConstraints
idbigintIdentifier for Grafana usage generated by Clarity.Primary Key
namespace_idbigintIdentifier of the namespace.Foreign Key, Unique Constraint
usage_idtextThe ID of the Grafana usage report event.Unique Constraint
stacktextStack of the Grafana usage report.
environmenttextEnvironment of the Grafana usage report.
customertextYour studio name or accelbyte.
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
grafana_usage_t_pk{id}Unique
grafana_usage_t_uk{"namespace_id, usage_id"}Unique
grafana_usage_t_namespace_id_i{namespace_id}Non-Unique

Relationship diagram

Show ER Diagram of grafana_usage_t

referencing_to_erd_of_grafana_usage_t


Table: grafana_user_activity_t

This table records Grafana usage activity and details for users, such as login times and namespaces.

For example, can be utilized to count the HAU.

Analytics usage: tracking user activity by user and role.

Column nameData typeDescriptionConstraints
idbigintIdentifier for Grafana usage activity generated by ClarityPrimary Key
namespace_idbigintRelates to namespace_t.Foreign Key, Unique Constraint
emailtextGrafana user emailUnique Constraint
grafana_usage_idbigintID of the Grafana usage reportForeign Key
grafana_user_role_idbigintID of the Grafana user roleForeign Key, Unique Constraint
last_seen_atTimestamp without time zoneGrafana user last timestamp activityUnique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
grafana_user_activity_t_pk{id}Unique
grafana_user_activity_t_uk{"namespace_id, last_seen_at, email, grafana_user_role_id"}Unique
grafana_user_activity_t_namespace_id_i{namespace_id}Non-Unique
grafana_user_activity_t_grafana_usage_id_i{grafana_usage_id}Non-Unique
grafana_user_activity_t_namespace_id_email_i{"namespace_id, email"}Non-Unique

Relationship diagram

Show ER Diagram of grafana_user_activity_t

referencing_to_erd_of_grafana_user_activity_t


Table: grafana_user_role_t

This table contains the Grafana user roles, such as Admin and Viewer.

For example, showing that a given user is an Admin.

Analytics usage: to track the activity of each role.

Column nameData typeDescriptionConstraints
idbigintIdentifier for Grafana user role generated by ClarityPrimary Key
nametextUser role used in the Grafana usage reportUnique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
grafana_user_role_t_pk{id}Unique
grafana_user_role_t_uk{name}Unique

Relationship diagram

Show ER Diagram of grafana_user_role_t

referencing_to_erd_of_grafana_user_role_t


Group: Game Standard Events

Table: gse_entity_dead_t

This table contains GSE events triggered when the entity dies or destroyed.

For example, when a player is killed or an building is destroyed in a game.

Analytics usage: understand the frequency and circumstances under which entities (players and important NPCs) die or are destroyed.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
entity_idtextUnique identifier of the entity. Empty if the entity is not related to items.
entity_typetextThe type of entity can be player, item, etc.
dead_tsTimestamp without time zoneTimestamp when entity is die.
death_dayintegerIn-game days that the death occurred on. Useful for survival-crafter games with day-night cycles.
death_locationtextFor categorization. It can be a map, a named area of a map, etc.
death_typetextFor categorization. e.g., self, player, environment.
death_sourcetextCan either be 'Player' for PVP gameplay, or the name of a game entity.
user_idbigintRelates to user_t table. Player identifier. Empty if entity is not related to players.Foreign Key
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_entity_dead_t_pk{gse_event_id}Unique
gse_entity_dead_t_entity_id_i{entity_id}Non-Unique
gse_entity_dead_t_entity_type_i{entity_type}Non-Unique
gse_entity_dead_t_user_i{user_id}Non-Unique
gse_entity_dead_t_namespace_id_i{"namespace_id, dead_ts"}Non-Unique
gse_entity_dead_t_dead_ts_i{dead_ts}Non-Unique

Relationship diagram

Show ER Diagram of gse_entity_dead_t

referencing_to_erd_of_gse_entity_dead_t


Table: gse_entity_leveled_t

This table contains GSE events to track the progression level.

For example, a player level, entity level that belongs to the player or levels of important NPCs and bosses.

Analytics usage: understand the rate of progression and progress at any point in time.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
entity_idtextUnique identifier of the entity. Empty if the entity is not related to items.
entity_typetextThe type of entity can be player, item, etc.
point_tsTimestamp without time zoneTimestamp when the entity being applied.
level_stattextThe stat being increased.
level_changetextThe increase in level.
level_currenttextThe level after the change in increase in level has been applied.
user_idbigintRelates to user_t table. Player identifier. Empty if entity is not related to players.Foreign Key
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_entity_leveled_t_pk{gse_event_id}Unique
gse_entity_leveled_t_entity_id_i{entity_id}Non-Unique
gse_entity_leveled_t_entity_type_i{entity_type}Non-Unique
gse_entity_leveled_t_point_ts_i{point_ts}Non-Unique
gse_entity_leveled_t_user_id_i{user_id}Non-Unique
gse_entity_leveled_t_namespace_id_i{"namespace_id, point_ts"}Non-Unique

Relationship diagram

Show ER Diagram of gse_entity_leveled_t

referencing_to_erd_of_gse_entity_leveled_t


Table: gse_event_t

This table contains common fields for these events in the master telemetry payload. It's been used to store Game Standard Events only.

For example, a record of popup appearance in a game played by a specific user at a given time.

Analytics usage: GSE analysis, for instance to resource flow of a game.

Column nameData typeDescriptionConstraints
idbigintIdentifier for telemetry events generated by analytics.Primary Key
gse_event_nametextName of the particular GSE event.
event_tsTimestamp without time zoneWhen the event occurred.
event_numbertextUnique identifier for an event.
device_typetextDevice type of the user.
user_idbigintRelates to user_t. Non-null if this event is associated with a particular user.Foreign Key
flight_idbigintRelates to flight_t. ID of the request to track user activities across services.Foreign Key
namespace_idbigintRelates to namespace_t. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_event_t_pk{id}Unique
gse_event_t_event_number_uk{event_number}Unique
gse_event_t_flight_id_i{flight_id}Non-Unique
gse_event_t_namespace_id_i{"namespace_id, event_ts"}Non-Unique
gse_event_t_user_id_i{user_id}Non-Unique

Relationship diagram

Show ER Diagram of gse_event_t

referencing_to_erd_of_gse_event_t


Table: gse_matchinfo_ended_t

This table contains GSE events triggered when match gameplay ends, and any global results.

For example, solo game ended with victory result.

Analytics usage: analyze match results.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
matchinfo_idtextUnique identifier shared between all matchinfo events describing the same match.
match_idtextIf this match is a match-session created as a result of the matchmaking system, this field should mirror match_id from matchsession_t. Otherwise, it's empty.
end_reasontextThe reason that the match ended e.g., victory, failure, abandoned.
winnertextThe winning team.
ended_tsTimestamp without time zoneTimestamp when the mission ended.
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_matchinfo_ended_t_pk{gse_event_id}Unique
gse_matchinfo_ended_t_matchinfo_id_i{matchinfo_id}Non-Unique
gse_matchinfo_ended_t_ended_ts_i{ended_ts}Non-Unique
gse_matchinfo_ended_t_namespace_id_i{"namespace_id, ended_ts"}Non-Unique

Relationship diagram

Show ER Diagram of gse_matchinfo_ended_t

referencing_to_erd_of_gse_matchinfo_ended_t


Table: gse_matchinfo_player_t

This table contains GSE events about an individual player details participating in a match.

For example, their rank, class, role, and team.

Analytics usage: gaining match player stats.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
matchinfo_idtextUnique identifier shared between all matchinfo events describing the same match.
match_idtextIf this match is a match-session created as a result of the matchmaking system, this field should mirror match_id from matchsession_t. Otherwise, it's empty.
player_teamtextIn team-based game modes, used to identify which players are on the same team. E.g., A, B, attacker, defender.
player_classtextIn game modes where players have a fixed character class per match, used to identify which the player has opted to play for this match.
player_ranktextThis value can be used to segment data by rank in game modes where players have a rank.
user_idbigintRelates to user_t table. Player identifier.Foreign Key
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_matchinfo_player_t_pk{gse_event_id}Unique
gse_matchinfo_player_t_matchinfo_id_i{matchinfo_id}Non-Unique
gse_matchinfo_player_t_user_id_i{user_id}Non-Unique
gse_matchinfo_player_t_namespace_id_i{"namespace_id, user_id"}Non-Unique

Relationship diagram

Show ER Diagram of gse_matchinfo_player_t

referencing_to_erd_of_gse_matchinfo_player_t


Table: gse_matchinfo_t

This table contains GSE events describes the start time when gameplay begins and any parameters about the match.

For example, match parameters game mode and difficulty.

Analytics usage: track game-specific parameters.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
matchinfo_idtextUnique identifier shared between all matchinfo events describing the same match.
match_idtextIf this match is a match-session created as a result of the matchmaking system, this field should mirror match_id from matchsession_t. Otherwise, it's empty.
match_difficultytextOptional category to the level of match difficulty.
game_modetextGame mode category, e.g, PVP, Solo, Story.
started_tsTimestamp without time zoneTimestamp when the gameplay begins.
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_matchinfo_t_pk{gse_event_id}Unique
gse_matchinfo_t_matchinfo_id_i{matchinfo_id}Non-Unique
gse_matchinfo_t_started_ts_i{started_ts}Non-Unique
gse_matchinfo_t_namespace_id_i{"namespace_id, started_ts"}Non-Unique

Relationship diagram

Show ER Diagram of gse_matchinfo_t

referencing_to_erd_of_gse_matchinfo_t


Table: gse_mission_ended_t

This table contains GSE events triggered when a mission reaches an end state.

For example, when the mission has been completed and delivered to the mission giver, or the tutorial mission has ended.

Analytics usage: learning the time it takes to finish the mission and the success or failure rate of it.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
mission_idtextUnique ID of the mission, such as its game asset ID.
mission_instance_idtextReusable ID to distinguish repeatable missions (e.g., dailies) and reattempts of missions with failure or abandon states.
mission_successbooleanBoolean value whether the mission ended successfully or not.
mission_outcometextOptional subcategories of success and failures.
ended_tsTimestamp without time zoneTimestamp when the mission ended.
user_idbigintRelates to user_t table. Player identifier.Foreign Key
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_mission_ended_t_pk{gse_event_id}Unique
gse_mission_ended_t_mission_id_mission_instance_id_i{"mission_id, mission_instance_id"}Non-Unique
gse_mission_ended_t_ended_ts_i{ended_ts}Non-Unique
gse_mission_ended_t_user_i{user_id}Non-Unique
gse_mission_ended_t_namespace_id_i{"namespace_id, ended_ts"}Non-Unique

Relationship diagram

Show ER Diagram of gse_mission_ended_t

referencing_to_erd_of_gse_mission_ended_t


Table: gse_mission_started_t

This table contains GSE events triggered when the player obtains the task or the tutorial is started.

For example, when the user start the solo mission.

Analytics usage: track the start of a mission and its details.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
mission_idtextUnique ID of the mission, such as its game asset ID.
mission_instance_idtextReusable ID to distinguish repeatable missions (e.g., dailies) and reattempts of missions with failure or abandon states.
mission_nametextHuman readable or non-localized player facing name to make dashboards more user friendly.
mission_typetextFor categorization purposes. E.g., solo, group, pvp, raid, story, tutorial, etc.
mission_locationtextTo categorize the mission. Could be the ID or name of a map, zone in an open-world game, or a chapter.
mission_difficultytextOptional category to the level of mission difficulty.
started_tsTimestamp without time zoneTimestamp when the mission started.
user_idbigintRelates to user_t table. Player identifier.Foreign Key
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_mission_started_t_pk{gse_event_id}Unique
gse_mission_started_t_mission_id_mission_instance_id_i{"mission_id, mission_instance_id"}Non-Unique
gse_mission_started_t_started_ts_i{started_ts}Non-Unique
gse_mission_started_t_user_id_i{user_id}Non-Unique
gse_mission_started_t_namespace_id_i{"namespace_id, started_ts"}Non-Unique

Relationship diagram

Show ER Diagram of gse_mission_started_t

referencing_to_erd_of_gse_mission_started_t


Table: gse_mission_step_ended_t

This table contains GSE events to track important milestones in lengthy missions with multiple sequential steps.

For example, multi-step story missions and tutorials.

Analytics usage: learning the time it takes to progress and where attrition occurs.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
mission_idtextUnique ID of the mission, such as its game asset ID.
mission_instance_idtextReusable ID to distinguish repeatable missions (e.g., dailies) and reattempts of missions with failure or abandon states.
mission_stepintegerStep number starting at 1 and increments. For identifying the order in the sequence.
mission_step_nametextAn optional name to help understand which step we are referring to.
ended_tsTimestamp without time zoneTimestamp when the mission step ended.
user_idbigintRelates to user_t table. Player identifier.Foreign Key
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_mission_step_ended_t_pk{gse_event_id}Unique
gse_mission_step_ended_t_mission_id_mission_instance_id_i{"mission_id, mission_instance_id"}Non-Unique
gse_mission_step_ended_t_ended_ts_i{ended_ts}Non-Unique
gse_mission_step_ended_t_namespace_id_i{"namespace_id, ended_ts"}Non-Unique
gse_mission_step_ended_t_user_id_i{user_id}Non-Unique

Relationship diagram

Show ER Diagram of gse_mission_step_ended_t

referencing_to_erd_of_gse_mission_step_ended_t


Table: gse_popup_appear_t

This table contains GSE events triggered when the appearance of popups.

For example, context-sensitive tutorials or store offers popups.

Analytics usage: understand the flow of users and their exposure to features across the game.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
popup_idtextUnique ID of the popup.
popup_typetextFor categorization e.g., tutorial, offer.
popup_nametextHuman readable, non-localised player facing name to make dashboards more user friendly.
appear_tsTimestamp without time zoneTimestamp when the popup appeared.
user_idbigintRelates to user_t table. Player identifier.Foreign Key
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_popup_appear_t_pk{gse_event_id}Unique
gse_popup_appear_t_popup_id_i{popup_id}Non-Unique
gse_popup_appear_t_appear_ts_i{appear_ts}Non-Unique
gse_popup_appear_t_user_id_i{user_id}Non-Unique
gse_popup_appear_t_namespace_id_i{"namespace_id, appear_ts"}Non-Unique

Relationship diagram

Show ER Diagram of gse_popup_appear_t

referencing_to_erd_of_gse_popup_appear_t


Table: gse_resource_flow_t

This table contains GSE events to track changes to gameplay resources and items.

For example, item granted or coin transaction.

Analytics usage: understand the gameplay resource and item transaction flow.

Column nameData typeDescriptionConstraints
gse_event_idbigintRelates to gse_event_t table. Identifier for gse events generated by analytics.Foreign Key, Primary Key
flow_tsTimestamp without time zoneTimestamp when the flow is happening.
flow_typetextType of flow. Can be sink or source.
transaction_idtextUnique guid shared between all resource flows that are part of the same transaction.
transaction_typetextType of transaction e.g., traded, consumed, etc.
resource_nametextName of item or currency being transacted.
amounttextThe amount of resources transacted.
end_balancetextResource remaining after the amount of resources transacted.
user_idbigintRelates to user_t table. Player identifier.Foreign Key
namespace_idbigintRelates to namespace_t table. Identifier of the namespace, e.g., game project.Foreign Key
job_run_idbigintRelates to job_run_t. ID of the analytics job run via which this row was inserted.Foreign Key
ctimeTimestamp without time zoneWhen this record was first created in this database.
mtimeTimestamp without time zoneWhen this record was last updated in this database.

Indexes

Index nameIndexed columnsType
gse_resource_flow_t_pk{gse_event_id}Unique
gse_resource_flow_t_flow_ts_i{flow_ts}Non-Unique
gse_resource_flow_t_transaction_id_i{transaction_id}Non-Unique
gse_resource_flow_t_user_id_i{user_id}Non-Unique
gse_resource_flow_t_namespace_id_i{"namespace_id, flow_ts"}Non-Unique

Relationship diagram

Show ER Diagram of gse_resource_flow_t

referencing_to_erd_of_gse_resource_flow_t


Group: HLL Aggregates

Table: hll_new_user_t

This table contains the record per combination of dimensions including user first activity date that can be used for querying unique user counts.

For example, unique users from a row for a given hour, namespace and test user flag.

Analytics usage: counting new users.

Column nameData typeDescriptionConstraints
idbigintIdentifier for agreement generated by analytics.Primary Key
namespace_idbigintRelates to namespace_t, namespace of user carrying out the Activity.
hour_tsTimestamp without time zoneStart of the hour in which the activity occurred.
platform_idbigintRelates to platform_t, Platform eg XBox of the User. -1 if unknown.
start_datedateDate of first user activity.
is_test_userbooleanIs the user a test user? eg for load testing. If true the user will be in the test_user_t table.
usersHLLThis is used by the postgresql-hll extension to count unique users.
ctimeTimestamp without time zoneWhen this record was created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
hll_new_user_t_start_date_ix{"namespace_id, hour_ts, start_date"}Non-Unique
hll_new_user_t_is_test_user_ix{"namespace_id, hour_ts, is_test_user"}Non-Unique
hll_new_user_t_uk{"namespace_id, hour_ts, platform_id, start_date, is_test_user"}Unique
hll_new_user_t_pk{id}Unique

Table: hll_standard_segment_t

This table contains the record per combination of dimensions that can be used for querying unique user counts.

For example, a row for a given date, namespace, the activity of fulfilment, in the USA, on XBox.

Analytics usage: getting HAUs for a given game.

Column nameData typeDescriptionConstraints
idbigintDate of first user activity of the player based.Primary Key
namespace_idbigintRelates to namespace_t, namespace of user carrying out the Activity.
hour_tsTimestamp without time zoneStart of the hour in which the activity occurred.
country_idbigintRelates to country_t, country of user. -1 if unknown.
platform_idbigintRelates to platform_t, Platform eg XBox of the User. -1 if unknown.
device_idbigintRelates to device_platform_t, showing device of the User. -1 if unknown.
player_agesmallintAge in years of the player based on user_date_of_birth_t. -1 if unknown.
is_test_userbooleanIs the user a test user? eg for load testing. If true the user will be in the test_user_t table.
usersHLLThis is used by the postgresql-hll extension to count unique users.
ctimeTimestamp without time zoneWhen this record was created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
hll_standard_segment_t_pk{id}Unique
hll_standard_segment_t_platform_id_ix{"namespace_id, hour_ts, platform_id"}Non-Unique
hll_standard_segment_t_uk{"namespace_id, hour_ts, country_id, platform_id, device_id, player_age, is_test_user"}Unique
hll_standard_segment_t_device_id_ix{"namespace_id, hour_ts, device_id"}Non-Unique
hll_standard_segment_t_player_age_ix{"namespace_id, hour_ts, player_age"}Non-Unique
hll_standard_segment_t_is_test_user_ix{"namespace_id, hour_ts, is_test_user"}Non-Unique

Group: IAP

Table: iap_processed_t

This table contains the core records of completed in-app purchase transactions with their full details (user, product, quantity, etc).

For example, details of an IAP by a given user including its product and transaction details.

Analytics usage: to track successful purchase history for each user.

Column nameData typeDescriptionConstraints
idbigintIdentifier for in-app purchase generated by ClarityPrimary Key
namespace_idbigintIdentifier of the namespace.Foreign Key, Unique Constraint
user_idbigintIdentifier of the user.Foreign Key, Unique Constraint
product_idbigintIdentifier of the product.Foreign Key, Unique Constraint
transaction_idtextIdentifier of the transaction.Unique Constraint
order_idtextIdentifier of the order.Unique Constraint
quantitybigintHow many items were bought.
currencytextWhich currency was used (USD, EUR, etc.).
sandboxbooleanA flag indicates whether the user has sandbox permission.
regiontextCountry value from ISO countries.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
iap_processed_t_pk{id}Unique
iap_processed_t_uk{"namespace_id, user_id, product_id, transaction_id, order_id"}Unique
iap_processed_t_namespace_id_i{namespace_id}Non-Unique
iap_processed_t_user_id_i{user_id}Non-Unique
iap_processed_t_product_id_i{product_id}Non-Unique
iap_processed_t_transaction_id_i{transaction_id}Non-Unique
iap_processed_t_order_id_i{order_id}Non-Unique

Relationship diagram

Show ER Diagram of iap_processed_t

referencing_to_erd_of_iap_processed_t


Table: iap_product_t

This table contains platform-specific product identifiers for in-app purchases.

For example, a skin sold on Xbox for a given game.

Analytics usage: to track which platform the product comes from.

Column nameData typeDescriptionConstraints
idbigintIdentifier for IAP product generated by Clarity.Primary Key
namespace_idbigintIdentifier of the namespace.Foreign Key, Unique Constraint
platform_idbigintIdentifier of which platform sells this product.Foreign Key, Unique Constraint
product_idtextStore-specific product code.Unique Constraint
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
iap_product_t_pk{id}Unique
iap_product_t_uk{"namespace_id, platform_id, product_id"}Unique
iap_product_t_namespace_id_i{namespace_id}Non-Unique
iap_product_t_product_id_i{product_id}Non-Unique
iap_product_t_platform_id_i{platform_id}Non-Unique

Relationship diagram

Show ER Diagram of iap_product_t

referencing_to_erd_of_iap_product_t


Table: iap_status_t

This table stores product IAP current state.

For example, an IAP has the FULLFILLED status for a given time range.

Analytics usage: to track the status of the IAP.

Column nameData typeDescriptionConstraints
idbigintIdentifier for IAP status generated by Clarity.Primary Key
iap_processed_idbigintIdentifier of the IAP processed.Foreign Key, Unique Constraint
iap_statustextStatus of the IAP.Unique Constraint
start_tsTimestamp without time zoneWhen the purchase happened.Unique Constraint
end_tsTimestamp without time zoneWhen the purchase happened.
job_run_idbigintID of the analytics job run via which this row was imported.
ctimeTimestamp without time zoneWhen this record was first created in this database
mtimeTimestamp without time zoneWhen this record was last updated in this database

Indexes

Index nameIndexed columnsType
iap_status_t_pk{id}Unique
iap_status_t_uk{"iap_processed_id, iap_status, start_ts"}Unique
iap_status_t_iap_processed_id_i{iap_processed_id}Non-Unique

Relationship diagram

Show ER Diagram of iap_status_t

referencing_to_erd_of_iap_status_t


On this page