Problems & solutions · Business Intelligence Dashboards

Risk Management Information System Problems: The 7 That Cost Real Money, and How to Avoid Them

Risk Management Information System Development architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in a risk management information system is a claim model that stores paid, reserve and incurred as fields on a row rather than as point-in-time valuations. It looks fine in a demo and it cannot produce a loss triangle, which means the system cannot show development, cannot detect a reserve moving from $40,000 to $310,000 in March, and cannot support the actuarial estimate that drives your collateral and your accrual. You discover this at renewal, when an analyst is already rebuilding the triangle in Excel from the same four loss runs the new system was supposed to replace, and the build has bought you nothing.

Why does the claim data model get scoped wrong so often?

Ask most development teams to model a claim and they will draw a table: claim number, claimant, date of loss, cause, paid, reserve, incurred, status. It is the obvious design and it is the single most common fatal error in this category, because it treats a claim as a thing with current values rather than as a thing with a history of values.

Everything a risk function needs is a comparison between two moments. A triangle is paid and incurred amounts by accident year at successive valuation dates. Adverse development is the difference between this month's reserve and last month's. A row that gets overwritten each month can answer none of that, and no amount of reporting work added later will recover history that was never stored.

The reason it happens is that the requirement gets written as reporting rather than as a model, so a team builds dashboards on whatever shape the loss run arrived in. The fix is to insist on the model before anything else: a claim, and separately, a valuation of that claim at a point in time carrying paid, reserve, incurred, recovery and expense, with every load creating a new valuation rather than replacing the last.

What goes wrong when you load ten years of legacy loss runs?

Triangles only mean something with history, so almost every one of these projects carries a conversion workstream. It is routinely the largest single line item and routinely the one omitted from the first estimate.

The problems are specific to insurance data. Older valuations arrive as PDF loss runs from an administrator you no longer use, so the data has to be extracted before it can be mapped. Cause of loss codes are proprietary to each administrator and were revised at some point, usually without a note. Claim numbers get reissued when a programme moves, so the same underlying claim appears twice under different identifiers and your frequency counts are wrong in a way that is very hard to see.

The fix is to treat conversion as its own workstream with its own timeline and its own acceptance test. Profile the historical extracts during discovery, not at cutover. Decide explicitly how many years you need at full detail and how many you can carry as summary triangles, because loading ten years at claim level when six would serve the actuary is expensive precision. Reconcile the converted totals back to the administrator's own year-end summaries and get your broker or actuary to sign off on the reconciliation before anyone builds a report on the data. And keep the source file exactly as received, because when a figure is challenged two years from now the only defensible answer is the original document.

Why do administrator feeds break after launch?

Every third party administrator sends a different loss run, and the mapping between their layout and your canonical claim model is the most business-critical logic in your risk function. After launch it is also the most fragile, because the people who change it do not work for you.

Administrator A calls a field Claimant State and administrator B calls it Jurisdiction. One reports incurred as paid plus reserve, another reports it net of recovery, a third folds allocated expense into incurred and a fourth reports expense separately. Then an administrator upgrades their claims system in the spring and reissues the export with two additional columns and a renamed status field. If your loader is tolerant, it accepts the file and quietly loads garbage. If your loader is strict but nobody owns the alert, the monthly load fails and gets noticed three weeks later.

The fix has three parts. Declare a schema per administrator and validate against it, so a structural change is a rejection with a readable reason rather than a silent misload. Make field mappings configuration your own team can edit, not code inside a change request queue, because the whole point of owning this is that you can respond in a day. And version every load so it is reversible, which matters more than it sounds: administrators reissue corrected files regularly, and being able to show exactly what changed between the original and the correction is how you challenge a reserving practice that looks inconsistent.

What happens when certificate compliance and incident capture are not covered?

These are the two gaps that turn a reporting system into a risk system, and they are the two most often deferred to a phase that never gets funded.

On certificates, a subcontractor's general liability policy lapses in April and they are still on site in July. There is an injury, their carrier denies, and your programme absorbs a loss that a contract said you would never carry. Tracking services answer whether a certificate exists and whether the date has passed. They do not answer whether the certificate satisfies the specific insurance requirements in the specific contract that vendor signed, and additional insured wording, waiver of subrogation, primary and non-contributory language and required limits all vary by contract type and project. The fix is to hold the requirement set on the contract, extract carrier, limits, dates and endorsement evidence from the certificate, and compare one against the other rather than checking dates. Escalation goes to the project manager who has the vendor relationship, before the expiry. Have counsel confirm wording sufficiency, because software can flag a short limit and should never give a legal opinion.

On incidents, near misses and first aid cases live in an operations system and claims live with the administrator, so the two never join. That is why most risk functions cannot demonstrate that prevention works, and it is why safety spending is argued on faith at budget time. The fix is that a supervisor's incident report becomes the parent record a claim attaches to when the administrator later reports it, which finally lets you compare near miss reporting against claim frequency at site level.

Should you build custom or configure what you already own?

If you are fully insured under a guaranteed cost programme with a single carrier and modest retentions, do not build. Ask your broker for their analytics and spend the money on safety. Origami Risk, Riskonnect and Ventiv are also the right answer if you need broad functional coverage quickly, have the budget for a proper implementation, and your programme structure is fairly conventional.

The honest test is whether the ingestion and normalisation of your specific feeds is where the value sits. If your loss data arrives from three or more administrators with inconsistent layouts, if your allocation formula is contested internally, if you run a captive or a group pool with members joining and leaving, or if you have already implemented a platform and your team is still rebuilding the same spreadsheet afterwards, that mapping logic is the asset and it should belong to you. That last case is the most common story we hear in this sector, and it is not a criticism of the platform. It is a signal about where your particular complexity lives.

How do hidden costs get into the quote?

A first release covering claim feed ingestion and normalisation, reserve change detection with alerting, and loss triangles and renewal reporting runs $70,000 to $150,000 across 12 to 18 weeks in our delivery experience. A full system adding incident intake, certificate and vendor compliance, cost of risk allocation and safety analytics runs $170,000 to $420,000 phased over 6 to 12 months. Four things push a quote past its estimate.

Feed count is the first and the most predictable, because each administrator is its own mapping project measured in weeks rather than days, and a quote written for two feeds does not scale linearly to six. Historical conversion is the second, and it is often larger than the feature work. International programmes are the third, since currency, jurisdiction and differing coverage structures multiply the model rather than adding to it. The fourth is taxonomy, which costs your time rather than the developer's: deciding one cause of loss structure, one coverage hierarchy and one location model needs your risk manager in the room for considerably more hours than they expect, and the project stalls without those decisions. Start with the two largest lines and the two administrators carrying most of the exposure, and leave certificates and incident intake to a second phase.

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

The builds that work produce something an analyst uses at the next renewal. That means a triangle they trust enough to hand to an actuary, and a reserve movement alert that reaches a named risk owner the day the file lands rather than at the quarterly valuation. Everything else is secondary, and programmes that try to launch certificates, incidents, allocation and analytics simultaneously usually arrive at renewal with none of it finished.

An effective-dated location hierarchy is the other thing that separates the two outcomes, and it is invisible until it matters. You acquire eight sites, close two and restructure into new regions, and every historical allocation is now against a structure that no longer exists. Build the hierarchy so a site can be reported under whichever structure was in force at the time or restated under the current one, and version the allocation formulas so a prior year's charge can be reproduced exactly as issued. The first time an operating executive disputes a six figure allocation, reconstructing the calculation from memory is not a defence.

When you interview a developer, ask them to model a claim on a whiteboard, ask what happens when an administrator reissues a corrected loss run, and ask which insurance artefacts they have actually handled by name, since loss runs, ACORD certificate forms and actuarial extracts are all specific. Then settle ownership of the code, the cloud accounts and the historical claim data in writing before kickoff. At Digital Heroes the client owns all of it from the first commit. Your loss history prices your programme for the next decade, so test the full export during the build rather than during a dispute.

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. An independent Forrester Total Economic Impact study of OutSystems found a 363% three-year ROI with payback in under 6 months, illustrating that faster, lower-labor build approaches can materially shift the payback math. Source: Forrester Consulting (commissioned by OutSystems) (2024) →
  3. 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) →
  4. In an RCT, the no-show rate was 23.5% for patients receiving a text-message reminder versus 38.1% for the control group - a 14.6 percentage-point reduction (p = 0.04). Source: Clinical Pediatrics / PubMed Central (Lin et al.) (2016) →
Anushka S. · Android Lead · Delhi

Anushka leads Android development at Digital Heroes, where the work spans a wide range of devices, OS versions and manufacturer quirks. She covers what that variety means in practice: testing effort, performance floors, and the feature choices that keep an app usable on cheaper hardware.

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

FAQ

Frequently asked questions

Why can our new risk system not produce a loss triangle?
Almost always because paid, reserve and incurred were modelled as columns on the claim rather than as a dated valuation of the claim. A triangle is a comparison of the same accident year at successive valuation dates, so if each monthly load overwrote the last, the history simply is not there and no reporting layer can recover it. This is the single most common fatal design error in the category and it is worth checking on a whiteboard before you sign anything.
How much work is it to add a new third party administrator feed?
Roughly a week or two per feed, and that is the honest number regardless of who builds it. Each administrator uses its own field names, its own cause of loss codes and its own convention for whether incurred is net of recovery and whether allocated expense is included. The saving from a custom build is not that the mapping disappears, it is that the mapping becomes configuration your own team can change in a day rather than a request in a vendor queue.
How do we catch adverse reserve development before renewal?
Diff every load against the prior valuation and alert on reserve movements above a threshold you set, routed to a named risk owner the day the file lands rather than at quarterly valuation. A claim moving from $40,000 to $310,000 because an adjuster received a medical report may matter more to your programme than everything else that month, and it currently sits unread inside eleven thousand rows. This is technically simple and it changes what your risk function is for.
What goes wrong when loading historical loss runs?
Older valuations often exist only as PDFs from administrators you no longer use, coverage structures and retentions changed between years, cause codes were revised without notice, and claim numbers get reissued when a programme moves so the same claim appears twice. Profile the extracts during discovery, decide how many years genuinely need claim level detail rather than summary triangles, and reconcile converted totals back to the administrator's own year-end summaries with actuarial sign-off before building reports on them.
Is certificate tracking enough, or do we need contract requirement checking?
Date tracking alone leaves the exposure open. The question that matters is whether the certificate satisfies the insurance requirements in the specific contract that vendor signed, and additional insured wording, waiver of subrogation, primary and non-contributory language and limits all vary by contract type and project. Hold the requirement set on the contract, extract the evidence from the certificate and compare the two, and have counsel confirm wording sufficiency rather than treating software output as a legal opinion.
Why does our cost of risk allocation stop making sense after an acquisition?
Because the location hierarchy changed and the historical allocations were recorded against a structure that no longer exists, so trend analysis by site quietly breaks. Use an effective-dated hierarchy where any site can be reported under the structure in force at the time or restated under the current one, and version the allocation formulas so a prior year's charge can be reproduced exactly as issued. Public entity pools have the same problem with members joining and leaving mid-year.
We already implemented Origami or Riskonnect and still use spreadsheets. What now?
That is the most common story in this sector and it is a signal rather than a failure of the platform. It usually means the feed mapping and the reporting your team actually relies on were never fully expressed in the tool, so the spreadsheet became the real system. Look at what the spreadsheet does that the platform does not, because that list is a specification, and the layer worth building is often narrow enough to sit alongside the platform rather than replace it.
Should incident reporting live in the same system as claims?
Yes, and separating them is why most risk functions cannot show that prevention works. When a supervisor's incident report becomes the parent record that a claim attaches to when the administrator reports it, you can finally compare near miss reporting against claim frequency at site level, which is the most useful question in the discipline. It also puts recordability determination and the OSHA log on the same record instead of in a parallel workbook.
Will a custom dashboard stay fast once our data hits millions of rows?
Yes, if it aggregates before it displays; no dashboard should scan millions of raw rows on every page load. The standard techniques are pre-aggregated summary tables, incremental refresh, and caching, which keep typical page loads under 2 seconds even on datasets in the hundreds of millions of rows. Ask your vendor how the dashboard behaves at 10 times your current data volume; a good one gives a specific answer about aggregation, not just a bigger server.
If we move off Power BI or Tableau later, do we lose our historical data and reports?
Your raw data is safe because it lives in your source systems or warehouse, not inside Power BI or Tableau. What you lose is the logic layered on top: DAX measures, calculated fields, and report layouts all have to be rebuilt, and that rebuild is the real switching cost. Protect yourself now by keeping transformations in dbt or in warehouse views instead of inside the BI tool, so a future migration only replaces the screens.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
We already pay for Microsoft 365. When does building custom actually beat Power BI?
Keep Power BI for internal reporting; at $14 per user per month for Pro it is hard to beat for employee-facing analytics. Custom wins in three cases: you are showing dashboards to customers, since embedded Power BI is priced on capacity and gets expensive fast, you need a fully white-labeled experience inside your own product, or your team keeps fighting the tool to support a specific workflow. Most companies we build for keep Power BI internally even after launching a custom customer-facing dashboard.
When does Looker make more sense than a custom dashboard?
Looker earns its place when multiple teams keep producing conflicting numbers and you need one governed definition of every metric, because LookML enforces definitions centrally. Its pricing is quote-based, and the quotes clients bring to Digital Heroes typically start in the tens of thousands of dollars per year. Under roughly 50 users with straightforward reporting needs, that spend is hard to justify against Power BI or a scoped custom build.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
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?