Stats - Overview
Store pieces of data about your players [PROF-Stats-01]
The Stats Feature allows game makers to: Track a variety of built-in and custom player (and guild) stat variables with configurable visibility levels (i.e. visible to everyone, visible to the player, visible to the developer only, etc...).
Use Cases
- Data Store - A simple place to read/write info (Ex. How many characters does the player own?)
- Targeting - Stats are the vector for player segmentation (Ex. A/B testing, targeted offer, focused message campaign, announcement for subset of player-base)
Best Practices
These hints make efficent use of concepts and workflows. The Stats feature offers two main entry points;
• StatsBehaviour - This has high ease-of-use. See Stats - Guide for more info
• StatsService - This has high flexibility. See Stats - Code for more info
Types of Stats
1. Custom Stats
Beamable allows game makers to create custom status for the specific needs of the game design.
Supported Data Types
- String - For common alphanumeric data storage
- Numeric - Supports numeric evaluations on the back-end (<, >, =) and a fast, atomic
increment
API
Public vs Private
- Public Stat - Visible to owning player and others (Ex. Player Alias, Player Avatar)
- Private Stat - Visible only to the owning player (Ex. "How many characters do I have?")
Best Practice
These hints make efficent use of concepts and workflows.
Stats are designed for simple data types; string or numeric
- Do not store C# objects
- Do not store Json blobs
2. Built-In Stats
Beamable automatically creates a specific set of game private stats for each new player. Game makers may read these values if/when its useful for the project's game design.
Stat Name | Detail |
---|---|
ADVERTISING_ID | The GAID or IDFA of the device that started the session (If provided) |
CLIENT_VERSION | Version of the client/app which started the session (e.g. 1.0.0) |
DATE_INSTALL | Timestamp of the player install (first session) expressed as unix time (milliseconds since epoch) |
DATE_SESSION | Timestamp of the player's most recent session start expressed as unix time (millisecond since epoch) |
DAYS_SINCE_INSTALL | Total number of days that have passed since the player installed. Or in other words, total number of days between the player's first session and most recent session |
INSTALL_DATE | Date string of the player install (first session) expressed in format yyyy-MM-dd |
PURCHASES_3D PURCHASES_7D PURCHASES_14D PURCHASES_28D | Total number of purchases in the last X days Note: Specifically this refers to X days preceding the most recent player session since stats are not updated when the player doesn't play |
PURCHASES_TOTAL | Total number of in-app purchases, irrespective of the value of the purchases |
SESSIONS_3D SESSIONS_7D SESSIONS_14D SESSIONS_28D | Total number of sessions in the last X days Note: Specifically this refers to X days preceding the most recent player session since stats are not updated when the player doesn't play |
SESSIONS_TOTAL | Total number of sessions this player has started |
SESSION_DAYS | The total number of days the player has played (i.e. started at least one session) |
SPEND_3D SPEND_7D SPEND_14D SPEND_28D | Total player spend (USD) in the last X days Note: Specifically this refers to X days preceding the most recent player session since stats are not updated when the player doesn't play |
SPEND_TOTAL | Total player spend (USD) expressed in cents |
THORIUM_GAME_DEVICE | Type of device if provided |
THORIUM_GAME_PLATFORM | Platform the player is playing on (e.g. Facebook, iOS) Note: Unity reports all iOS devices as "iPhonePlayer" regardless of device type. |
THORIUM_GAME_SOURCE | Source of the session (If provided, e.g. "web") |
TRIALS | Total list of A/B Testing trials the player is actively associated with (comma delimited list) locale language ISO code of the player (If provided, e.g. "en") |
trialmember:<trial name> | Specific trial the player is a part of, with the value being the specific cohort/group the player is associated with (e.g. trialmember:button_trial = blue_button_group ) |
Game Maker User Experience
During development, the game maker's user experience is as follows:
See Stats » Guide and Stats » Code for more info on creating and using stats.
See Portal for more info on viewing stats.
Advanced
This section contains any advanced configuration options and workflows.
Source Value
The source
value is set automatically with each Analytics event and stats
See Analytics » Code (Source Value) for more info.
Stats Vs Analytics
Beamable offers both analytics events and stats.
Unique Benefits
Beamable supports both analytics events and stats. Each use case is unique.
See Analytics » Code (Analytics Events vs Stats) for more info.
Using Both Together
While the use cases for analytics events and stats are often different, there are indeed common workflows where both are used in concert. For example. Beamable automatically tracks an analytics event (deep history) every time a Stat is changed (fast speed). This is the best of both worlds!
See Analytics for more info.
FAQ
Here are highlights from the Beamable FAQ: See FAQ for more info.
• Stats
Updated 2 months ago