Why the substrate matters

Most behavioural models are built on what people say

Surveys, interviews and panels all record a person describing a decision after the fact, under observation, with an incentive to look reasonable. That gap between what people report and what they do is not noise you can correct for. It is the reason the model has to start somewhere else.

0

Million data points

0

Thousand signals a day

0

People observed

0

Live communities

Where that behaviour comes from, and what we weigh it against, is the next section.

CAPTURED INSIDE, NOT SCRAPED FROM OUTSIDE. GENERATED IN EUROPE, HELD IN EUROPE.

The substrate

Three layers, none of them used alone

A model is only as good as what sits underneath it, and most behavioural models sit on a single source. Ours has three, and they are weighted against each other rather than stacked. Where two layers agree, the signal gets stronger. Where they disagree, it gets flagged rather than averaged away.

THREE INPUTS, WEIGHTED. ONE SUBSTRATE.

01

Observed behaviour, first-party

Our own products run inside live communities, which is where the substrate comes from. The model trains on derived insights from those communities, gathered by a product the community is already using. Nobody was recruited, nobody was surveyed, and nobody was performing for a researcher. This is the layer that makes the rest work, and it is the one nobody else can license.

730,000 SIGNALS PER DAY · 32 COMMUNITIES · CONTINUOUS

02

Your own data, where it exists

Churn exports, purchase histories, support tickets, past research, campaign results. This layer is optional and it is yours: it is processed under a signed agreement, it is never used to train anything for another client, and you can withdraw it. What it buys you is a population calibrated to your actual customers rather than to a population that resembles them.

OPTIONAL · CLIENT-GOVERNED · NEVER CROSS-TRAINED

03

Public context

Prices, macro conditions, platform changes, the news the population would have seen. People do not make decisions in a vacuum and a model that ignores the week it is running in will get the week wrong. This layer is the thinnest of the three and it is the one we treat with the most caution, because public data is the easiest to over-fit to.

PUBLIC SOURCES · REFRESHED WEEKLY · WEIGHTED LOWEST

NO LAYER IS USED RAW. WHERE THEY DISAGREE, CONFIDENCE DROPS AND THE REPORT SAYS WHY.

Why histories, not labels

A population is not a spreadsheet of independent columns

Age and employment are not independent. Neither are spending and tenure, or lapse risk and who someone plays with. Model each trait on its own and you can match every headline total in your data and still build a population that does not exist: retirees in the student segment, whales with no purchase history, churn concentrated on exactly the wrong people.

The number of traits is not the problem. The relationships between them are. With any real number of traits, the number of possible combinations to test grows faster than the population you are modelling, so you cannot simply keep all of them. Altiera tests which relationships actually change the fitted population, keeps those, and discards the rest as noise.

The result is not a stored table of agents. It is a learned network of the relationships the data supports, which is then sampled to produce complete, internally consistent people. That is why the same network can produce a population of five thousand or fifty thousand without duplicating rows, and why two people with identical demographics who behaved differently come out as different agents. Their histories are the thing being modelled. The labels were never load-bearing.

Dimensionality

Every total is correct

Age, spend and tenure are each matched on their own. Every one-way total in your data is reproduced exactly. There is no structure in the population because none was modelled.

A relationship appears

Cross two traits and the population develops a shape. Spend rises with tenure. Most models stop at this level, and this is the level at which most of them are already wrong.

The cohort resolves

A third trait separates a group that was invisible in every pairwise table. High lifetime spend, long tenure, collapsing session frequency. They respond to a price rise in the opposite direction to both the loyal cohort and the churned one.

And it keeps going

Add a fourth and the remaining population divides again. Each step costs more to fit and most of what it adds is noise, so the model keeps only the relationships that measurably change the result.

The lapsed-returner trap

Take spend, tenure and session frequency. Each looks ordinary alone. Crossed in pairs they still look ordinary. It is only in the three-way relationship that the pattern appears: a cohort with high lifetime spend, long tenure and collapsing session frequency behaves nothing like either the loyal cohort or the churned cohort, and it responds to a price rise in the opposite direction to both. A model that matches every two-way table will spread those people across the wrong segments and tell you the price rise is safe.

RELATIONSHIPS THAT CHANGE THE FIT ARE KEPT. THE REST ARE NOISE AND ARE DISCARDED.

Evaluation and validation

Two different questions, and most vendors answer neither

These get used interchangeably and they are not the same thing. Keeping them separate is the difference between a number and a reason to trust it.

Evaluation — does it perform?

A defined question, evidence held back from training, and a comparison between what the model said and what actually happened. It produces a number. That number is only meaningful for the conditions it was measured under.

Validation — does that performance apply to you?

Whether the evidence, the data coverage, the assumptions and the uncertainty support the decision you are about to make. A model can evaluate well in general and still be the wrong instrument for your question, and the honest answer in that case is to say so before the engagement starts, not after.

We set the criteria before the results are interpreted, not after. Where your population sits far from anything we have observed, that gap stays in the report as a limit rather than being folded into a general claim of accuracy.

The substrate does not go stale

Most behavioural data has a release schedule. Census data lands annually. Panels run quarterly. Survey waves are commissioned, fielded, cleaned and published, and by the time you read one it describes a world that has already moved.

Ours is a live feed. The communities the substrate comes from are running right now, and the behaviour arriving today is in the model this week. When a platform changes its rules, when a price moves, when something happens that changes how a population behaves, we do not wait for the next wave. We already have it.

SUBSTRATE REFRESHED CONTINUOUSLY. NOT A WAVE, NOT A PANEL, NOT AN ANNUAL RELEASE.

Strong

  • Relative comparisons. Which of three options lands better is far more reliable than the absolute number attached to any one of them.
  • Group dynamics: contagion, pile-ons, silent disengagement, tipping points.
  • Populations close to the behaviour we observe, and digitally native populations generally.
  • Directional early warning, days or weeks before it appears in your metrics.

Weak, and we will say so

  • Precise absolute forecasts. We give you a range because the range is the honest answer.
  • Populations far outside anything we have observed. Confidence drops and the report says so.
  • Genuine discontinuities nobody could anticipate. The guard refuses to extrapolate rather than pretending.
  • Anything requiring physical or embodied context that never appears in behavioural data.

One thing this is not

This does not predict what any one person will do next. Individual behaviour contains chance, and circumstances no profile can see. What it estimates is how a population's responses shift under stated conditions, which is the thing your decision actually depends on.