Skip to main content

Introduction to Segmentation

How we use segments, and how best to segment your data

Written by Kevin Jabbour

What is a segment?

The concept of segmentation is one that most marketers will be familiar with: separating your customers into sub-groups ("segments") based on shared characteristics. Segmentation allows for better modelling of user behaviour by grouping similar users together. Commonly used categories for these characteristics within the mobile marketing space include:

Category

Example Values

Country

GB, US, AU, OTHER

Platform

ANDROID, IOS

Channel

PAID, ORGANIC

Network

GOOGLE ADWORDS, FACEBOOK

A segment is any unique combination of these category values. In our platform we express this by separating each with the "|" (pipe) character e.g.

  • GB | IOS | ORGANIC

  • US | ANDROID | PAID | FACEBOOK

Our platform models each segment separately and in parallel, ensuring a fast and accurate forecast, and allowing easy interrogation and reporting by customer segment.

Lastly, a segment may also be used to separate out specific data from a different source or data that cannot be mapped to your segments as easily e.g. SKAN data, Above the Line (ATL) marketing spend, or users who are missing attribution data in the feed.

How are segments defined in the data?

The data specification allows for user data to be broken out by a separate column per category, in the format category_[name] e.g. category_country, category_channel.

In the following example, assuming there are only two countries and two platforms, new users for 1/1/2023 would be split into four rows like so:

registration_date

activity_date

active_users

category_country

category_platform

2023-01-01

2023-01-01

201

US

IOS

2023-01-01

2023-01-01

98

US

ANDROID

2023-01-01

2023-01-01

76

GB

IOS

2023-01-01

2023-01-01

134

GB

ANDROID

We provide some guidelines on how to determine the categories and values you'd like use:

  • For commonly used categories like those listed above, use the reserved category names:

    • category_country

    • category_platform

    • category_channel

    • category_network

  • The category_channel has reserved values, only these values are supported:

    • PAID

    • ORGANIC

    • BLENDED

  • Use commonly understood values where possible e.g. ISO-2 standard country names.

  • If you plan to use an alternate categorisation/segmentation scheme, please let us know during onboarding so that we can set up your product correctly.

  • Aim for 2-3 categories per segment, with 4 at maximum. Splitting your data into too many categories may result in smaller segments with lower accuracy.

  • Aim to provide no more than about 40 unique values for a given category. Splitting your categories into too many values will also result in very small segments with lower accuracy.

  • If you are creating your own parquet export file, aim to provide no more than 250 segments in total. This is advised to keep your file transfer times and costs within reasonable limits.

  • If you are providing us with access to a Big Query view to contruct the export file for you, then provide as many values as appropriate for your dataset, and we will work with you during onboarding to construct a reasonable number of segments from the available categories.

What does good segmentation look like?

During onboarding we can work with you to craft an optimal segmentation for your data and the questions you want to ask. That said, there are some common strategies that work well in our experience and fit within the upper limit of 250 segments.

Example 1 (216 segments):

  • Segment: COUNTRY | PLATFORM | CHANNEL | NETWORK

  • Country: Top 8 countries, with all smaller countries rolled up into a single 'Other' country (9 total values)

  • Platform: IOS and Android (2 values)

  • Channel: Paid and Organic (2 values)

  • Network: Top 4 paid networks + Organic. If you have more than 4 networks, then just like country you can include Top 4 + Other + Organic (6 total values)

If your data at a network level is too sparse, another common approach would be:

Example 2 (84 segments):

  • Segment: COUNTRY | PLATFORM | CHANNEL

  • Country: Top 20 countries, with all smaller countries rolled up into a single 'Other' country (21 total values)

  • Platform: IOS and Android (2 values)

  • Channel: Paid and Organic (2 values)

A few simple strategies are advised to keep the total number of segments small:

  • Limit the number of unique values to only those of real importance for forecasting or reporting, and combine the rest into a single value like Other.

  • Roll up small category values that may individually be too sparse or volatile for accurate forecasting into larger, more generalised values that will at least allow you to predict overall trends.

Frequently Asked Questions

Can I use the category field to split out multiple games in the same dataset?

If you're a Big Query customer then the answer is yes! The category_[name] column convention can be used to split your data by any relevant attribute. We can use the category_game (for example) column in your data to split data into separate export files from the same view or table.

For S3 customers who are building their own parquet files, we would advise sticking to one file per game to keep each file to a reasonable size.

What format should I use for category values?

All category columns are expected to be strings, so as long as you send a valid string it will pass validation. However, there are some display considerations to keep in mind:

  • All content is made uppercase when presented in the platform.

  • A segment name will be a concatenation of all distinct values so ideally you want to keep your value descriptions short to avoid having extremely long segment names.

  • Spaces within category values can result in segment names that look like they're two segments, so it's best to use underscores to separate words e.g. "GB|IOS|GOOGLE_ADWORDS" looks better than "GB|IOS|GOOGLE ADWORDS"

Can I change my segmentation rules?

During the onboarding process we will examine your chosen segmentation with you, and any feedback or restructuring will be handled as part of the onboarding process. Once a product has been running through the system and you have built up a history of reports and forecasts, we don't advise changing the segmentation. However, we can create a separate product in our platform from the same dataset or a new one, with different segmentation rules.

Did this answer your question?