01 - Overview & Purpose
This guide covers how metrics get aggregated at the user level, and how that aggregation can be compared across different touchpoints and applications. The underlying problem: a flat population average misrepresents very different entities. A high-volume enterprise merchant and a new sole trader have completely different baseline behaviour, so comparing both to one global average produces false positives on the first and blind spots on the second.
This document walks through how Global Aggregates, cohort profiles, and rule configuration work together end to end.
Note: Rollout is staged: saved variables launch first, then Global Aggregates, then the Exploratorium and its links into rule creation. Risk-scoring integration lands last. Full general availability is targeted for Q4 2026. |
02 - Key Concepts & Terminology
A few terms recur through every step below. Aggregates measure a number; cohorts classify which group an entity belongs to. A cohort never depends on an aggregate, but an aggregate can be computed globally, over a filtered population, or per cohort group.
Term | What it means |
Cohort Profile Simulator | The screen where you build your own cohort, similar in spirit to Flagright's existing screening profiles, but for segmentation rather than screening. |
Cohort profile | A saved definition consisting of an ID, a name, a description, and the entity/user type it applies to. |
Customer cohort | The specific cohort profile selected when configuring a Cohort-level aggregation variable. |
Threshold (qualification) | The minimum entity count a generated cohort must meet. A cohort under threshold is flagged red in the interface until the configuration is adjusted. |
Aggregation variable tiers | The three levels a new variable can be built on: User, Cohort, or Global. |
Entity | The thing being monitored: a merchant, consumer, player, or account. |
Population | Any set of entities: the whole base, a filtered subset, or one cohort. |
Metric | A number measured per entity, e.g. monthly transaction volume. |
Cohort scheme | A named, exhaustive segmentation that assigns every entity to exactly one group, with no gaps and no overlaps. |
Fallback | If a cohort is too small for reliable statistics, evaluation falls back to a broader group, ending at the global population. |
Saved variable | Any variable saved for reuse across rules and the Exploratorium. |
Peer-relative rule | A rule whose threshold comes from a cohort variable, structurally identical to any other rule. |
03 - Step 1: Create the Cohort Profile
A cohort profile is built much like you already build screening profiles. This is the shell object every cohort, variable, and rule downstream will reference.
Open the Cohort Profile Simulator and start a new profile.
Give the profile an ID, a name, and a description.
Set the entity/user type the profile applies to (merchant, consumer, player, account, etc., depending on your business).
Save the shell before moving into segmentation configuration.
04 - Step 2: Configure Segmentation Variables & Groups
Inside the profile, connect the user variables the cohort will be built on. A common example combines KYC status, legal entity type, and company age.
Select the user variables to segment on.
For each variable, define the groups (buckets) entities will be split into. Flagright can propose a value-based split automatically, and you can also manually define your own custom groups.
Every selected variable's groups are combined (crossed) to produce the full set of cohorts. Each unique combination becomes its own cohort.
Cohorts can also be manually grouped after they're generated. Each cohort belongs to exactly one manual group, and these groups can be defined to fit your own segmentation needs.
Variable | Example groups |
KYC status | 4 groups |
Legal entity type | 5 groups |
Company age | 3 groups |
Note: Crossing all three variables in this example produces 60 cohorts (4 x 5 x 3). More dimensions or finer splits multiply the cohort count quickly, so keep an eye on the threshold check in the next step to make sure every generated cohort still has enough entities to be statistically meaningful. |
05 - Step 3: Qualify Cohorts Against a Minimum-Size Threshold
Once the cohorts are generated by crossing the selected variables, each one is checked against a minimum-size threshold before the profile is considered usable.
Each generated cohort is checked against a minimum-size threshold.
Any cohort below that threshold is flagged red in the interface.
If any cohort is flagged, go back and adjust the configuration by merging groups within a variable or dropping a dimension entirely, then re-check.
Repeat until no cohort is flagged red before treating the profile as finalized.
Tip: If a segmentation is too fine for the available data, thin buckets are flagged before the profile is saved, so adjust granularity here rather than discovering it after the cohort is live. |
06 - Step 4: Review the Created Cohort
Once the profile clears the threshold check, review what was actually generated before moving on.
Click into the created profile to see the full list of cohorts generated.
For each cohort, see the entity/user count.
Review top-line volume metrics shown at the top of the view.
Review the Exploratorium graphs, which are generated automatically at this stage. No separate setup step is needed to see them.
Use these views to decide whether to keep the current configuration or go back and adjust it, adding more filters or changing groupings, before proceeding.
07 - Step 5: Turn the Cohort into an Aggregation Variable
Once the cohort profile is finalized, it feeds into a new variable.
Start a new variable and choose its aggregation tier: User, Cohort, or Global.
User: aggregates on the entity's own historical data.
Cohort: select the specific customer cohort (this list is populated from the cohort profiles you've already created), then choose an aggregation function.
Global: no selection is needed. The variable automatically aggregates across the entire population.
Save the configuration. From this point, the variable is available wherever variables are used elsewhere in the product.
The variable can be edited after creation: values and configuration can be changed without starting over.
Tier | Selection required | Available aggregation functions |
User | None (uses the entity's own historical data) | Aggregates such as sum, average, or count over the entity's own history |
Cohort | Select the customer cohort | Mean, median, mode, standard deviation, p97, p99 |
Global | None (aggregates across everyone automatically) | Same functions as Cohort, applied across the full population |
08 - Step 6: Use the Variable in Rule Configuration
Cohort and global variables plug into the rule builder the same way entity and aggregate variables do today. This is a new variable type, not a new rules system.
Start a rule as usual.
Wherever a threshold is required, choose its source: a static value, the entity's own baseline, or a peer-group statistic.
Compose the comparison, e.g. volume(entity) > p97(entity's cohort).
Everything downstream is unchanged: rule nature, queues, actions (Allow / Flag / Suspend / Block), sync/async execution, and workflows all behave exactly as they do for any other rule.
Note: A peer-relative rule is structurally just a rule. Existing RBAC, training, and operating procedures carry over without modification. |
09 - The Exploratorium
The Exploratorium is Flagright's analysis surface for exploring a population before creating or tuning a rule. Baseline graphs appear automatically as soon as a cohort is created (Step 4), and additional views are available for deeper analysis before a rule goes live.
Breakdown view: how the population splits across the segmentation dimensions.
Histogram: the target metric for a chosen cohort, with mean, p97, p99, and mean+4 standard deviations marked, plus a draggable threshold line showing how many entities would have breached last month.
Sensitivity curve: alert volume as a function of threshold value, to find an operationally workable cut point.
Entity-vs-cohort view: an entity's trajectory plotted against its cohort's percentile band over time.
Simulation: run a candidate rule against historical months before switching it on.
Natural-language questions: ask a distributional question in plain English and get numbers, tables, or a distribution back, with a "create rule from this" action.
Every view links directly into rule creation, with the explored population and threshold pre-filled.