Audience segmentation has historically been a batch-oriented problem. You run a query against your warehouse at 3am, export a CSV, and upload it to your ad platform before the business day starts. By the time your campaign launches, your audience is already hours stale.
The Architecture
The MarTech Pulse segmentation engine is built on a streaming event log. Every profile mutation — a new event ingested, an attribute updated, an identity resolved — emits a change event. Segment definitions are compiled into predicate functions that subscribe to the change stream. When a mutation arrives, all relevant predicates are evaluated in-process, and segment membership is updated atomically.
Why Not a Database?
Traditional approaches evaluate segments by querying a profile store on a schedule. This is simple but introduces latency proportional to your query interval. Our approach inverts the model: instead of pulling profiles into segments, we push segment membership updates whenever profiles change. The result is sub-50ms latency from event ingestion to segment activation.
Benchmarks
In our load tests across 50 concurrent segment definitions and 10,000 events per second, p99 segment evaluation latency is 42ms. Profile throughput scales horizontally — add capacity nodes and throughput scales linearly.