Where usage records actually go missing
Record loss is rarely one visible failure. A network element rotates a file and the collector never notices that a sequence number was skipped. A mediation node rejects records it cannot parse into a suspense directory that nobody has opened in months. A duplicate check keyed on a field that is not genuinely unique discards good traffic along with the repeats. Each of these is small, none of them raises an alarm, and together they explain most of what an operator eventually finds during a revenue assurance review.
Time is the other reliable source of loss. Elements stamp records in local time, in network time or in a mix of both, and a record that crosses midnight can be assigned to the wrong day and then to the wrong bill cycle. Roaming adds its own layer, because records exchanged under the GSMA TAP 3 specification arrive on a partner clock with their own rejection route through returned account files. Records that arrive after a rating cut off need a defined home rather than a decision made by whoever notices them.
The remedy starts with file level accounting rather than with analysis. Every file that should exist is expected, received, parsed and counted, and the counts are carried forward at each hop so a gap has a location rather than a suspicion. Suspense stops being a directory and becomes an ageing work queue with an owner, a target and a visible backlog. It is unexciting engineering, and it finds more money than most reporting projects do.
- File sequence continuity checked per network element rather than per feed
- Suspense treated as an ageing work queue with a named owner
- Duplicate detection keyed on a genuinely unique record identifier
- Time zone and boundary handling resolved once, at ingestion
- Late arriving and roaming records given a defined home instead of being dropped