Segments are at the core of the deltaDNA Platform. They allow you to define a set of users that have similar behaviour and then track those users through A/B tests and Campaign as well as use them to filter the dashboards and analysis queries. Segments are built up from either analysis of the event data or by using user level metrics that are created in real-time by the platform as users play the game. The two types of segments provide different ways of identifying a group of users, they both provide advantages and disadvantages in selecting the specific user cohort you are interested in.
deltaDNA gives you direct access to the raw events that your players generate, by default you have 30 days of raw event data visible to your queries at one time. These raw events can be used to build a target list of users that you wish to segment. You can build a simple select query in the target list tool or write your own SQL query that selects users that meet a set of criteria. This allows you to pick users that have performed a specific action on any of the data that you are collecting.
This is obviously a powerful tool but does come with a number of limitations that it is important to take into consideration. Target lists can only look at the data that is being stored, currently, this is limited to 30 days of event-level data. If an event happened outside of this window the user will not be selected.
Target lists are re-calculated daily. This batch processing of target lists is required due to the potentially huge number of events that may need to be evaluated. It is important to take this into consideration when building engagement campaigns based on target lists as it may take 24 hours for the player to be included, or excluded from your campaign selection.
If you are entering your own SQL code to generate a target list your query must return a userID column.
This means target lists are great for defining precise criteria for users but is not real-time. Selecting a player that has achieved a certain level fits well with target lists, but using it to find players that have ‘just’ completed a specific mission is not a good use case.
User Metrics Segments
The deltaDNA platform creates metrics for each user as their events are collected. You can track many individual metrics for each player and the Engage campaign system can access these metrics to make segmentation and campaign decisions pretty much in real-time as the player is playing. Your analysis queries and the segmentation tool can also access a table containing the most recent metrics for every player in your game.
There are 5 classes of metrics.
Generic metrics are a fixed set of basic metrics that are calculated automatically for every player. Generic metrics include things like Total Days Played, Total Real Currency Spent etc..
Event metrics are also calculated automatically and provide a count of the number of each event type a player has recorded in their lifetime. So, you can tell how many times a player has recorded a levelUp event or any other event.
Parameter metrics allow you to store certain details about the parameters the players are sending in their events. If you want to know the First Item Purchased, Last Mission Played or Maximum Gold Coins Balance for a player then parameter metrics are your friends. The SETUP -> Game Parameter Editor lets you specify which parameters you want to track as metrics. You will be able to track the First and Last values of string-based parameters and the Min, Max, Sum, Count, First and Last values of integer metrics.
Derived metrics allows you to build new metrics based on functions of other existing metrics.
Virtual metrics are metrics that are being calculated in the system at the point a segment is being evaluated by Engage. This allows metrics that are not being driven by a specific event, they provide general information about the player.
The Segment Manager displays a list of player segments that have been created in your game. 8 common segments are automatically added for your game when it is created, so you can see how they work. This interface can be used to add, edit and delete player segment definitions.
You can compare the number of players and overlap between up to 5 segments by multi-selecting them and clicking the “Compare” button.
You can even export the SQL database code used to identify players in a segment, in case you want to use it in your own SQL queries.
Create a new segment by clicking on the “Create a Segment” or “Create a Target List” buttons in the ANALYZE -> SEGMENTATION navigation menu or by clicking the “Create a Segment” button at the top of the “Manage Segments” page.
You will then be taken to the Segment creation tool where you can define a name and the player selection criteria for your segment, evaluate how many players would be included in the segment and save it use in Engage and as a query filter.
The Toolbar at the top of the Segment creation tool lets you define a name for your segment and provide a description. You can also use it to create new segments and load, save or clone existing ones.
The “Evaluate” button on the toolbar will calculate and display a count of the number of players who meet your segment criteria.
You can add multiple selection criteria and use logical operators to build out reasonably sophisticated player segments. You will be presented with the following panel for each segment criteria.
- The Category panel lets you filter metrics by category based on the category parameters associated to them in the Game Parameters editor.
- The Metrics panel contains a list of all available metrics based on the Category and any Filters applied.
- The Operator panel presents a list of available operators based on the type of metric.
- The Value panel lets you enter or select the parameter value that you want to use in your criteria. The list of values will pre-populate for string based values or display a distribution of values for numeric ones.
- An evaluation of the number of players who match these criteria is displayed below the values panel when you have made all your selections.
- The Done button is used to lock criteria so you can move on to create further criteria or save your segment. Note, you can open up any of the criteria and edit them again later by clicking on them.
- The “+ AND” and “+ OR” buttons let add additional criteria based on the selected logical operator.
- The “Evaluate” button performs the same function as the Blue “Evaluate” button on the toolbar. It recalculates the number of players that meet ALL the criteria in your segment.
For example, a more segment using multiple criteria might look like :
Creating Event Segments
Creating a new event-based segment allows you to build a list of users that can be defined using their raw events.
In this example, we have created an event segment that selects users that are playing on the iPhone and were acquired through a specific marketing campaign.
You can also use aggregated measures in your target list selection.
You can even specify your target list with SQL, just as long as you select the userID field.
Managing Derived Metrics
The derived metrics tool lets you view the criteria for existing Derived Metrics or create new ones and assign them to a category.
Derived metrics let you create more complex metrics. You can build averages or percentages using this tool.
There are six different types of metrics being calculated in the deltaDNA system. This provides a lot of choices but can also be confusing.
All metrics are no more than 3 seconds out of date from when an event is processed by the platform, as events can be batched on the client device and there is a delay in sending the event to the platform these delays should be taken into consideration.
- Days Played Last 7 Days: This is the number of days in the last 7 days a player has played. As this is evaluated when an engagement is made it will be at least 1 day.
- Total Days Played: This is the total number of days a player has played since they started playing the game.
- Possible Days Last 7 Days: This is the number of days a player could have played in the last 7 days. If they started 2 days ago then the number would be 2.
- Sessions Played Last 7 Days: This is the number of sessions in the last 7 days a player has played. As this is evaluated when an engagement is made it will be at least 1 session.
- Platforms Played Last 7 Days: This is the number of different platforms the player has played in the last 7 days. This is based on the platform parameter collected.
- AVG Mins Played Per Day Last 7 Days: This is the average number of minutes played per day in the last 7 days.
- Total Mins Played Last 7 Days: This is the total number of minutes played by a player in the last 7 days.
- AVG Mins Played Per Session Last 7 Days: This is the average number of minutes played per session in the last 7 days.
- Total Sessions Played: This is the total number of sessions a player has played.
- Total Real Currency Spent: This is the total real money spent by a player in the default currency which is reported by the dashboard.
- Total Time Played Ms: This is the total time the player has spent in the game in milliseconds.
- Total Events Generated: This is the total number of events generated by a player.
- Events Generated Last 7 Days : This is the total number of events generated by a player in the last 7 days.
- This is the total number of each event a player has generated since they started playing.
Numeric Parameter Metrics
- Count: The number of times the parameter has been recorded for a player
- First: The first value in a parameter recorded for a player
- Last: The latest value in a parameter recorded for a player
- Max: The highest value in a parameter recorded for a player
- Min: The lowest value in a parameter recorded for a player
- Sum: The sum of all the values in a parameter recorded for a player
String Parameter Metrics
- First: The first string in a parameter recorded for a player
- Last: The last string in a parameter recorded for a player
- Days since last played: This is the number of days since the player last played without counting the current session.
- Most often played mission: This is the mission the player has played the most often.
- Count most often played mission: This is the number of times a player has played this mission
Segmentation Best Practices.
Building a segment of spenders that have played at least 30 minutes during the last seven days. This allows you to evaluate and target engaged spenders, potentially offering them incentives to keep spending.
- Add a new segment.
- Add the Parameter “Total Real Currency Spent” to the first metric.
- Add the Parameter “MinsPlayedLastSevenDays” to the second metric.
Committed players that have a poor Win/Loss Ratio
We want to find players that have played at least 10 missions, have reached level 5 but have a below-average mission success ratio.