Signal over unfiltered data
More data is not the same as more signal. Why models that evaluate and rank the raw stream separate a usable product from another stream to parse.
It is easy to collect a lot of data and hard to collect a lot of useful data. Raw global event data is overwhelmingly noise: duplicates, near-duplicates, irrelevant activity, and low-quality sources. Delivering that stream without evaluation simply transfers the most expensive processing work to the customer.
The word noise is doing specific work here and it is worth unpacking, because it is not a synonym for uninteresting. A near-duplicate of an event you already received is noise even though it is perfectly accurate. A well-formed record from a source imitating a credible one is noise regardless of how clean the payload is. And a genuine, well-sourced, correctly resolved record about something that will not move anything is noise to a desk and useful training data to a model - which is the first hint that the judgment cannot be a single number.
The relevant measure for a data provider is not volume but ratio: how much true signal reaches the consumer per unit of noise. Our machine learning models clean, deduplicate, and evaluate the raw stream for urgency, authenticity, and data quality, ranking records by how much information they carry for a desk or a model.
The arithmetic behind that is unforgiving in a useful way. If a source produces a hundred thousand records a day and one in five hundred carries information a desk would act on, the work of finding those two hundred is the product - and it is work that scales with the volume the vendor ships rather than with the value it delivers. A provider that competes on volume is describing its own cost structure as a feature, and inverting the signal-to-noise ratio that actually decides value, and quietly moving the expensive half onto the customer's payroll.
Evaluating in flight also changes what delivery can look like. Because every record arrives already evaluated and carrying its provenance, you can subscribe to a high-urgency slice, backfill history, or take everything - and always trace a value back to the observation behind it.
Two consequences follow that are easy to miss. The first is that evaluation has to happen before storage, not after, because a value computed in a downstream job cannot be attached to the record a live subscriber already received - research and production would then be reading different numbers, which is the seam one dataset with two readers exists to remove. The second is that the evaluation itself becomes part of the contract: a number a client sets a threshold against has to keep meaning the same thing, which makes model drift a versioning problem rather than a modeling detail.
There is a limit to this argument that we would rather state than have pointed out. Evaluation in flight is a judgment made with the information available at that instant, and some events only reveal what they were worth once something else happens. A record judged unremarkable at 14:02 can be the first sign of something at 14:40, and no inline model gets that right in every case. That is precisely why the evaluation is a value attached to a record rather than a decision made about it, and why the whole stream remains readable rather than pruned to what we happened to believe at the time.
The result is meant to be consumed directly, not parsed and cleaned again on your side. That is the bar we hold: decision-grade, the moment it happens - and the reason we label the noise rather than delete it is that deciding what counts as noise is the customer's call, not ours.
Further reading