Problems & solutions · Business Intelligence Dashboards

Telecom Revenue Assurance Software Problems: The 5 That Hide Real Leakage, and How to Avoid Them

Telecom Revenue Assurance Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure mode is a circuit that is lit, carrying customer traffic, and has never appeared on an invoice. A wholesale operator found a 10 gigabit wave running unbilled for fourteen months, and it was found by an account manager reading a contract file before a renewal, not by any system. Fourteen months of monthly recurring charge is gone and unrecoverable, and the cause was mundane: engineering lit the circuit early, the order was closed manually to clear a queue, and the billing start step, which is a person clicking a button, never happened. A two-way reconciliation between inventory and billing will never catch it, because the service is missing from both.

Why does a revenue assurance project become a dashboard project?

The brief that reaches a developer is usually give us visibility into leakage, and the natural response is a dashboard. Somebody builds charts of billed revenue against expected revenue, a leakage percentage, a trend line, and a monthly export. It looks like progress and recovers nothing, because a number on a screen is not a finding and a finding with no owner is not a recovery.

Revenue assurance is a set of reconciliations between systems that were never designed to agree, run continuously, with a case workflow attached so that each discrepancy becomes somebody's job with a due date. The output is a queue, not a chart. Everything else is decoration.

The second half of the same scope failure is looking in one direction only. Most programmes hunt for revenue never billed and ignore the other two. Revenue billed wrong covers rating errors, promotional prices coded as permanent adjustments and contract pricing that should have stepped at renewal and did not. Cost overpaid covers disconnected services whose underlying off-net circuit, cross connect or port is still being invoiced to you every month.

Scope the first release around switch to bill reconciliation on your largest product family, supplier cost reconciliation and case management. That is $80,000 to $180,000 over 12 to 18 weeks in our delivery experience, and first findings typically appear during the first reconciliation run around week eight to ten, well before the release ships.

What goes wrong when the same circuit has four different names?

Identifier resolution is the actual asset you are building and it is the part most quotes treat as a join. The same circuit is a service identifier in inventory, a different string in provisioning, an element name in mediation, a product code on an invoice line and a carrier facility identifier on a supplier bill. After an acquisition there are two naming conventions, a period where nobody enforced either, and a migration that appended a suffix to some records and not others.

Two failures follow. The first is silent under-matching: the reconciliation runs, matches sixty percent, and reports the rest as exceptions, so the team spends its time clearing false discrepancies rather than real ones and concludes the tool does not work. The second is worse. Over-eager fuzzy matching links a circuit to the wrong subscription, the control reports clean, and a genuinely unbilled service is hidden by a mapping that looks correct.

What works: a resolution layer with confidence scoring and a human review queue for ambiguous cases, treated as a first class part of the system with its own screens and its own owner. Mappings are persisted and reviewable, so a match confirmed once stays confirmed and a match rejected once does not reappear. Track match coverage per source as an operating metric, because a falling coverage rate is the earliest signal that a source system has changed underneath you. Nobody enjoys building this, and it is the difference between a control library that finds money and one that produces noise.

Why do the source feeds break after launch?

The feeds break in three ways, and the dangerous one is not an outage.

An outright failure is fine, because it is visible. A replica falls behind, an extract does not arrive, somebody notices. The second mode is access: a vendor hosted billing platform is upgraded or credentials rotate, and the control silently stops running rather than failing loudly.

The third mode is the one that costs money. A mediation feed from one switch or one probe stops delivering. Volume dips. Nobody notices, because volume dips for ordinary reasons and nobody holds a per source baseline. Two months later a customer disputes an invoice and you discover a portion of their usage was never rated at all, and the reprocessing window has closed.

Completeness control is the answer and it is the least interesting thing you will build. Expected file arrival per source per interval. Sequence number continuity, so a gap is detectable rather than invisible. Record counts compared against the same weekday in prior weeks. A rated to raw ratio per source. When any of those breaks, an alarm fires naming the feed. This is plumbing with alarms on it rather than analytics. Build it into the first phase rather than the third, because the losses it prevents are the ones with no remedy.

What happens when cases and the recovered value ledger are not covered?

Two gaps kill programmes that were technically successful. The first is that findings have no owner. A discrepancy list emailed weekly becomes a file nobody opens, and on the cost side it is worse than inaction, because supplier claims usually have a dispute window in the interconnection or master services agreement. A finding that sits for six weeks can pass out of remedy entirely. Every discrepancy needs a case with an owner, a due date, a state and the evidence query that produced it stored alongside it, so the case can be re-run rather than screenshotted.

The second gap is the recovered value ledger, and its absence is why revenue assurance programmes get cancelled at the second budget cycle. Confirmed recoveries have to be tied back to the general ledger, separated into revenue recovered, revenue protected going forward and cost avoided, and reported against the programme's cost. Without it, finance sees a licence and a team with no evidence of return.

The third thing that quietly kills a programme is false positives. A control with a false positive rate above a few percent trains the team to ignore the queue within a month, and a revenue assurance system that is ignored is worse than none, because it provides false comfort while the leakage continues. Every control should run in observation mode against historic data before anyone is asked to work its output, and controls that cannot be tuned below the threshold should be switched off rather than tolerated.

Should you build custom or configure what you already own?

Before you spend anything, do this yourself in a week. Export active services from inventory, export active subscriptions from billing, and join them on whatever identifier you have. The unmatched rows on both sides are your first estimate of leakage. It will be wrong in detail and right in order of magnitude. If the number does not justify a project, you have saved yourself a project. If it has a comma in it, you now have a business case built on your own data rather than someone's benchmark.

Then look at what you already own. Your provisioning system probably has an orders-not-completed view that surfaces the manually closed orders causing unbilled services. Making the billing start step automatic on service activation, rather than a button a person clicks, removes a whole class of leakage without any assurance system at all. Do that first regardless of what you build.

Buy a suite if you are a large operator with a formal revenue assurance function, tier one usage volumes and the appetite to run a long onboarding. Subex and TEOCO carry deep control libraries built for that scale. Mobileum's strength is roaming and fraud, so if your leakage profile is retail mobile it fits, and if your leakage is enterprise circuits and off-net cost it is aimed elsewhere. Araxxe generates real test transactions and verifies them on the bill, which is a strong independent check for retail voice and data and cannot tell you about a lit wave with no subscription behind it.

Build if you are a regional carrier, a wholesale or fibre operator, a mobile virtual network operator or a utility telecom arm, where the estate is idiosyncratic and the controls that matter encode your own product catalogue and your own acquisition history.

How do hidden costs get into the quote?

Four items account for most of the overrun.

  • Access lead time. If obtaining a read replica of a vendor hosted billing platform requires a change request with a long lead time, that lead time is your project timeline. Start it before design work, not after kickoff.
  • Source system count. Each system is its own extraction, its own quirks and its own identifier conventions. Five sources is not five times one source, but it is not one either, and quotes routinely price it as one plus a bit.
  • Acquisition legacy. A merged estate carries two or three naming conventions and a period where nobody enforced any. This is the single largest multiplier on the resolution layer.
  • Usage volume. Completeness controls over billions of records a month are an engineering problem rather than a query, with real infrastructure cost attached.

The unpriced cost on your side is subject matter time. Somebody who understands why the estate looks the way it does has to sit with the build team while controls are written.

What separates a build that works from one that fails here?

Ask how they will resolve the same circuit across four systems that name it differently. If the answer is a join on a common key, they have not seen a real carrier estate. The correct answer involves a resolution layer with confidence scoring and a human review queue, and they should raise it before you do.

Ask how they will guarantee the controls never write to production operational systems. Reading from replicas or change data capture feeds keeps the assurance layer from becoming an operational risk of its own, and it should be an architectural commitment rather than a convention.

Ask how a control is tested before it is trusted. Observation mode against historic data, with a measured false positive rate, is the answer. Anyone who puts a new control straight into an analyst's queue will destroy confidence in the tool.

Ask for the recovered value ledger by name. A developer who has done this will bring it up unprompted, because they know the programme is cancelled at the second budget cycle unless it can prove what it returned. Then settle ownership before kickoff: the repository, the infrastructure accounts and the unrestricted right to hire another firm. At Digital Heroes the client owns the code from the first commit, which matters here because the identifier mapping encodes years of knowledge about your own estate.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. The performance gap between digital and AI leaders and laggards is widening: McKinsey reports leaders pull ahead on shareholder returns, and the average maturity spread between top and bottom performers jumped ~60% (from 10 points in 2016-19 to 16 points in 2020-22), reinforcing that the returns to transformation concentrate among top performers. Source: McKinsey & Company (2023) →
  2. Flexera's 2025 State of the Cloud Report (survey of 750+ technical and executive leaders) found that 84% of respondents believe managing cloud spend is the top cloud challenge for organizations today, with cloud budgets already exceeding limits by 17%. Source: Flexera (2025) →
  3. McKinsey argues software developer productivity can be measured by combining system-level metrics (DORA and SPACE) with its own outcome-oriented approach, which it reports deploying across nearly 20 tech, finance, and pharmaceutical companies - a claim that sparked significant debate in the engineering community. Source: McKinsey & Company (2023) →
  4. In an RCT, text-message reminders (11.7% missed) were non-inferior to telephone reminders (10.2% missed; difference not significant, within the 2% non-inferiority margin) but far cheaper - total cost EUR 230 for SMS versus EUR 8,910 for telephone over 6 months - making SMS more cost-effective. Source: BMC Health Services Research / PubMed Central (Junod Perron et al.) (2013) →
Ahaan M. · Senior Android Engineer · Delhi

Ahaan is an Android engineer at Digital Heroes, working in Kotlin on client apps and the background services, permissions and storage behavior that decide whether they feel reliable. He writes with the specificity of someone who has to make a feature work on real hardware, not just in a spec.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Why does two-way reconciliation between inventory and billing miss the worst leakage?
Because the worst case is a service that exists in the network and appears in neither system. After acquisitions and manual order closures, inventory is not a reliable record of what is lit, so comparing it to billing only finds services both systems half know about. The reconciliation has to be three-way at minimum: what the network reports through discovery, what inventory holds, and what billing has as an active subscription, then checked against the contract record for the rate that should be applied.
What should we do in a week before commissioning a revenue assurance build?
Export active services from inventory and active subscriptions from billing and join them on whatever identifier exists. The unmatched rows on both sides give you an order of magnitude estimate of leakage from your own data. If the number does not justify a project you have saved one, and if it does you have a business case no vendor benchmark can dispute. Also check whether your provisioning system has an orders-not-completed view, since manually closed orders are the usual source of unbilled services.
How do identifier mismatches hide leakage rather than just create noise?
Over-eager fuzzy matching links a circuit to the wrong subscription, the control reports clean, and a genuinely unbilled service is concealed behind a mapping that looks correct. Under-matching is the visible failure, where the team spends its time clearing false discrepancies and concludes the tool does not work. Both are fixed the same way: a resolution layer with confidence scoring, persisted decisions, a human review queue, and match coverage per source tracked as an operating metric.
Why is usage completeness control more important than analytics?
Because it prevents the class of loss with no remedy. When a mediation feed stops, volume dips for reasons that look ordinary and nobody notices until a customer disputes an invoice months later, by which time the reprocessing window has closed and the revenue is gone. Expected file arrival per source, sequence continuity, record counts against comparable prior periods and a rated to raw ratio, each with an alarm naming the feed, is unglamorous plumbing that pays for itself once.
How do false positives kill a revenue assurance programme?
A control with a false positive rate above a few percent trains analysts to ignore the queue within a month, and an ignored assurance system is worse than none because it provides false comfort while leakage continues. Run every control in observation mode against historic data first, measure the false positive rate, tune it, and switch off any control that cannot be brought under the threshold. Adding controls faster than they can be tuned is the most common way a technically sound build fails.
Is supplier cost leakage really larger than unbilled revenue?
For operators with off-net footprint it frequently is, and it is routinely excluded from scope. Tail circuits, colocation cross connects and transit ports keep invoicing after the customer service is disconnected, because your disconnect and the disconnect request to the supplier are separate actions. The control joins supplier invoice lines to your record of active off-net components, and anything with no live component behind it becomes a claim, which is why speed matters given dispute windows in the agreements.
What is the biggest scheduling risk in this kind of project?
Access, not engineering. If a read replica of a vendor hosted billing platform requires a change request with a long lead time, that lead time becomes your project timeline. Start the access conversations before design work begins rather than after kickoff. The second risk is subject matter availability, since the person who understands why the estate looks the way it does has to sit with the build team while controls are written, and that person is usually the busiest in the operation.
Why do successful revenue assurance programmes still get cancelled?
Because they cannot prove what they returned. Build a recovered value ledger from the start that ties confirmed recoveries back to the general ledger and separates revenue recovered, revenue protected going forward and cost avoided, reported against the programme's own cost. Without it, the finance director sees a licence and a team at the second budget cycle and no evidence of return. A developer who has delivered in this category will raise the ledger before you do.
How much does a custom BI dashboard cost for a small business?
For a small business, a focused first dashboard typically runs $25,000 to $60,000 when it covers 2 or 3 data sources, daily refresh, and 5 to 7 core metrics. Across 2,000+ Digital Heroes projects, budgets climb past that only when real-time data, complex permissions, or customer-facing access enters the scope. If a quote for a simple internal dashboard exceeds $75,000, ask exactly which of those three is pushing it there.
How do I make sure each client sees only their own data in a shared dashboard?
That is row-level security, and it must be enforced in the database or API layer, never by hiding filters in the interface. Each query carries the logged-in client's identity, and the data layer refuses to return rows outside their account, so a crafted URL or modified request cannot leak another client's numbers. Make any vendor show you exactly where that filter lives, because interface-level filtering is the most common security mistake we find when auditing dashboards built elsewhere.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
What should the first version of a dashboard include, and what can wait?
Version one should answer 5 to 7 questions your team already asks every week, pull from your 2 or 3 most important data sources, and refresh daily. Real-time data, custom report builders, scheduled email exports, and write-back features can all wait for version two. Across our projects, teams that launch a narrow version one reach a dashboard people actually use roughly twice as fast as teams that try to cover every department at once.
Who owns the code, data models, and pipelines when an agency builds my dashboard?
You should own all of it, and the contract should say so explicitly: source code, data models, pipeline configurations, and infrastructure accounts in your name, with IP transferring on final payment. The trap to avoid is an agency hosting your dashboard on their proprietary platform, which quietly turns a custom build back into vendor lock-in. Digital Heroes delivers into the client's own cloud accounts and repositories by default, and any agency should agree to the same in writing.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
Who can build a custom business intelligence dashboards system?

Digital Heroes builds custom business intelligence dashboards systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other business intelligence dashboards companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?