Segments are at the core of the deltaDNA Platform. They allow you to define a set of users that have similar behavior 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.

Target Lists – Event Driven Segments

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.

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 a precise criteria for users, but is not real time. Selecting a players 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.

Segments – 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.

Please note that the Engage campaign system has access to the players’ LIVE user metrics in real-time, but the analysis and segmentation tool work with daily snapshot of this data. The analysis tools will therefore report on the last known state of the players, which can be up to 24 hours old.

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 PlayedTotal 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.

Please don’t just check all metric options to ON for every parameter as this will just make your data schema and queries more awkward to work with. There is an upper limit on the number of columns in your vertica database tables so, if you go too crazy with metrics you will just max these out

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.

Virtual metrics are derived by Engage at the point of the call. This means they are not available in the metrics table and can not be used to filter dashboards or evaluate overlap

Managing Segments

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 export the SQL database code used to identify players in a segment, in case you want to use it in your own SQL queries.


Creating Segments

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 this criteria is displayed below the values panel when you have made all your selections.
  • The Done button is used to lock a 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 player that meet ALL the criteria in your segment.

For example, a more segment using multiple criteria might look like :

complex segment

Creating Target Lists

Creating a new target list based segment allows you to build a list of users that can be defined using their raw events.

In this example we have created a target list that selects users that are playing on iPhone and were acquired through a specific marketing campaign.

You can also use aggregated measures in your target list selection.



You can event specify your target list with SQL, just as long as you select the userID  field.


Please note, Target Lists are processed overnight, each night, so they are best suited to targeting players based on events from previous day(s)

Managing Derived Metrics

The derived metric 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.


If you use either string metrics or virtual metrics in a segment it will not be available in the overlap viewer

Metric Definitions

There are six different types of metrics being calculated in the deltaDNA system. This provides a lot of choice 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.

Generic metrics 

  • 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.

Event Metrics

  • 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
Parameter metrics only work for integer metrics, Boolean metrics are seen as integer metrics (true is 1 and false is 0)
For the metrics to be collected for a parameter this needs to be switched on in the parameter set up screen

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

Virtual Metrics

  • 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.

Engaged Spenders

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.

  1. Add a new segment.
  2. Add the Parameter “Total Real Currency Spent” to the first metric.
  3. Add the Parameter “MinsPlayedLastSevenDays” to the second metric.

engaged spenders

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.

win loss