Segmentation¶
User segmentation is the process of separating users into distinct groups, or segments, based on shared characteristics. Developers might segment users based on language preferences, product version, geographical region, or user persona.
Balancy has several built-in segments:
Monetary¶
Defines how much in total the player has already paid in the game:
- Killer Whale ≥$1500
- Whale ≥$500
- Orca ≥$150
- Dolphin ≥$30
- Minnow ≥$1
- None $0
Frequency¶
Defines how often the player makes purchases.
- F0 (None)
- F1 (Daily)
- F3 (2-4 a Week)
- F7 (Weekly)
- F14 (Once per 2 Weeks)
- F30 (Monthly)
- F60 (Rarely)
Recency¶
Defines how much time passed since the last purchase.
None (never)
R0 (<1 day)
R1 (1-2 days)
R2 (2-7) days
R7 (7+ days)
MaxPay¶
Defines the maximum one-time payment the player can afford.
- $5
- $10
- $20
- $50
- $100
All the segments Balancy provides can be edited, and you can also create your own custom Segments. Just open the Segmentation section.
Below are some examples of custom Segments:
Section for programmers¶
Balancy informs the client if the client's segment has changed. Read more about ISmartObjectsEvents
namespace Balancy
{
public class SmartObjectsEventsExample : ISmartObjectsEvents
{
...
public void OnSegmentUpdated(SegmentInfo segmentInfo)
{
Debug.Log("=> OnSegmentUpdated: " + segmentInfo?.Segment?.Name + " ; IsIn = " + segmentInfo?.IsIn);
}
}
}
If you would like to find a specific segment by its UnnyID, you can do so using DataEditor.GetModelByUnnyId
:
var segment = DataEditor.GetModelByUnnyId<SegmentOption>(segmentUnnyId);
After you get the segment, you can do some cool things with it, like check if the end user is in the segment, using the IsInSegment
method:
var isUserInSegment = LiveOps.Analytics.IsInSegment(segment);