Skip to content

General principles

Well-structured data is the foundation of an effective Decisioning Studio agent. Before diving into specific asset requirements, it helps to understand the four core principles that apply across all data you send to Decisioning Studio. Violations of any of these principles are among the most common causes of degraded model performance.

One consistent customer identifier across all assets

Every data asset (customer profiles, activations, engagements, conversions) must reference the same customer identifier. There should be exactly one primary identifier that uniquely and consistently identifies each customer across all assets.

See Use Braze external ID for guidance on which identifier to use.

Event data must be passed as an incremental stream, not as a snapshot

Events, such as conversions, engagements, and activations, represent discrete things that happened at a specific point in time. They must be delivered to Decisioning Studio as an incremental (append-only) stream of individual records, not as an aggregated snapshot.

See Snapshots versus event streams for a full explanation of the distinction and examples of correct and incorrect patterns.

Snapshot data must be updated on a regular, time-driven schedule

Snapshot data (such as customer profiles and features) represents the current state of a customer at a given point in time. Updates to snapshot data should be driven by a regular schedule (for example, daily), not by event triggers.

All assets must meet minimum data quality and integrity requirements

Beyond structure, the data itself must be internally consistent and complete enough to be useful.

For event stream data specifically, each record must include at minimum:

Required fields:

  • Customer identifier
  • Timestamp of when the event occurred (not when the record was created in your system; these are different; see Snapshots versus event streams for why this matters)
  • Timestamp of when the record was created in your system (used for reliably slicing incremental exports)
  • Event type
  • Fields sufficient to filter down to the specific events you care about

Recommended fields:

  • Additional event metadata that allows reliable matching between event types (for example, linking a conversion event back to the specific activation that preceded it)
New Stuff!