Problems & solutions · Business Intelligence Dashboards

Crime Analysis Software Problems: The 7 That Keep Analysts in Spreadsheets, and How to Avoid Them

Crime Analysis Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure is not a wrong map, it is a late one. An analyst spends most of the week exporting from the records system, fixing the same few hundred addresses that never geocode, filtering reports unfounded since last week and hand matching two burglary series because the modus operandi field is free text. Monday's command staff meeting then sees an accurate picture of a pattern that has been running for ten days and an offender who has already moved, and the department has paid an analyst salary for a week of spreadsheet labour to get there.

Why does buying a mapping platform and calling it crime analysis fail so often?

The biggest scope failure in this category is treating the map as the product. A department licenses a capable spatial platform, sends an analyst on training, and expects the weekly product to appear. Two years later the analyst is still building it by hand, because the mapping was never the bottleneck.

The work that consumes the week sits either side of the map. Extraction from the records system, which is a saved query that times out if the date range is too wide. Cleanup, which is the same recurring set of address failures every time. Filtering out reports reclassified since the last run. Grouping incidents into series when the attributes that link them are recorded as free text by officers who describe the same forced entry three different ways. Then, after the map exists, rebuilding a bulletin in a document and emailing it.

Scope the extraction and normalisation layer first and the analysis products second. That layer encodes knowledge that is specific to your agency: the way your officers write intersections, the offence code that meant two different things until a policy change, the district whose addresses carry a systematic error because of how dispatch passes location. None of that can be bought, all of it has to be encoded, and it is why a first release covering automated extraction with cleanup rules, geocoding remediation, hot spot and series analysis and the weekly meeting products runs $50,000 to $120,000 over 8 to 14 weeks in our delivery experience. That release usually gives an analyst back most of the week, which is the whole business case.

What goes wrong with geocoding and historical records data?

Every crime analysis build is downstream of records data, and records data has known, specific defects in every agency. A product that assumes clean input produces confident output from dirty data, which is the worst outcome available because it is not obviously wrong.

Geocoding is the visible part. Intersections written in a departmental format the geocoder does not expect, commercial complexes with one address and forty units, apartment blocks recorded inconsistently, and rural addressing that changed when the county renumbered. The failure is not that some records do not geocode, it is that the same ones fail every week and nobody fixes them at source. A build needs a manual resolution queue that remembers its decisions, so an address resolved once stays resolved, plus a quality dashboard showing what failed and what looks miscoded, so data problems become visible and fixable instead of silently absorbed.

Historical loading brings a second class of problem. Series and repeat analysis want depth, so departments load several years, and those years span policy changes. An offence code used for two different things until a reclassification will merge two categories in any trend you build on it. Reports amended weeks after the fact change the picture retroactively, so a hot spot computed today does not match the one computed last month from the same period. Load history with the code mappings that applied at the time, record amendment dates, and let any analysis state whether it is using the original or current classification. Silent normalisation across a policy boundary produces trends that are wrong in a way nobody can see.

Why do the records and dispatch integrations break after launch?

Access to records data is the schedule risk in these projects, and it is also where they fail after go live.

The controlling factor is how you can read the data. A read replica or a documented interface supports hourly analysis. A scheduled screen level export caps what is possible and adds fragility, because the export is a saved query owned by nobody that breaks when a field is added or a form is redesigned. If your only option is an export, expect the feed to stop at least once a quarter, and build a reconciliation that compares record counts by day against the source so a stopped feed is caught in hours rather than at the next meeting.

Computer aided dispatch (CAD) integration breaks differently and matters more, because it is the part that makes the system worth having. Pulling patrol activity, self initiated activity and where units actually were is what lets a Monday meeting ask whether the directed patrol assigned two weeks ago happened and whether the incidents in that area changed afterwards. That join is the single most valuable thing to build and the most commonly missing, and it is fragile because dispatch data models change with agency practice: new unit designators, a new call type, a shift structure change. Treat the mapping from dispatch codes to your analysis categories as maintained data with an owner rather than a one time configuration.

Records vendor upgrades are the third breakage. A major version change can alter table structures without warning to a downstream consumer, so put the vendor's upgrade calendar in your own planning and test against a staging copy before the upgrade lands, not after.

What happens when intelligence retention rules are not covered?

This is the gap that turns a software problem into a policy problem, and it is the one teams new to police work miss most often.

Criminal intelligence, meaning information about suspected criminal activity that is not tied to a reported incident, is governed differently from records. Multi jurisdictional criminal intelligence systems operating with federal funding are subject to 28 CFR Part 23, which sets requirements around submission criteria, retention review and dissemination. How the rules apply to your specific system depends on funding and scope, and that is a conversation for your agency counsel and your state fusion centre rather than a developer.

What is not negotiable is the design consequence. Intelligence records need their own store with their own retention clocks, review dates, source reliability grading and a dissemination log, and they must not be casually merged into incident analysis. Build one database holding both and you have a data model that cannot express the difference between an arrest record and an uncorroborated tip, which is a distinction that matters legally and operationally.

Retrofitting the separation means unpicking a data model that other things already depend on, so design for it from day one even if intelligence is out of scope for release one. Reserve the boundary, keep the stores distinct, and add the retention and dissemination machinery when the phase arrives. A developer who has not encountered this before will build you one table for everything, and the resulting problem will not be fixable with a permission setting.

Should you build custom or configure what you already own?

Plenty of departments should not build, and we would say so.

If you have one analyst, moderate volume and a records vendor mapping module that answers the questions command actually asks, adding a system to maintain will not help. Push the module harder first: most of them do more than the department has configured, and an afternoon with the vendor costs nothing.

If your analyst already works confidently in Esri ArcGIS, the honest position is that it is a genuinely powerful spatial platform and the analysis quality is not the problem. What it is not is a crime analysis application, because somebody still has to build the extraction, the cleanup, the recurring products and the workflow. Before commissioning a build, look at whether that automation can be scripted around the platform you already own, because sometimes it can.

Buy regional search access regardless of what you build. CrimeTracer and similar platforms reach across agencies to find a person or a vehicle, and Accurint and comparable services answer questions about people using data your agency does not hold. Both are genuinely useful and neither is a substitute for understanding your own incidents. Building that capability yourself makes no sense.

Build when analysts spend most of the week on extraction and cleanup, which is the most common situation and the easiest case to make. Build when your records data has specific known defects a generic product cannot compensate for. Build when command wants patterns connected to deployment and nothing does that today. Build when several agencies in a county want a shared picture and their records systems differ.

How do hidden costs get into the quote?

Quotes in this category are usually wrong about access rather than about analysis.

  • Records access assumed. A read replica, a documented interface and a scheduled export are three different projects with three different ceilings. Settle this with your records vendor before the project starts, not during it.
  • Address data quality. Whether the jurisdiction has authoritative address points changes the geocoding work substantially, and building a resolution queue that learns is real scope.
  • Years of history. Series and repeat analysis want depth, and depth crosses policy changes that need code mappings and amendment handling.
  • Multi agency scope. Different records schemas plus a data sharing agreement that will take longer than the code, and access controls respecting each agency's ownership of its own data.
  • Intelligence handling. Retention review, source grading and dissemination logging are engineering scope, not policy documents.

The full platform adding repeat offender and association views, deployment comparison from dispatch, bulletin generation and distribution, the intelligence store with retention review and command dashboards runs $150,000 to $350,000 over 5 to 10 months.

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

The first difference is that the weekly product generates itself. Ask a prospective developer what they would build for the accountability meeting specifically. The right answer is a product that assembles from the live data, includes what was assigned at the last meeting, and shows what happened in those areas since. If they describe a dashboard with filters, they have built business intelligence (BI) and your analyst will keep making the real product by hand every Friday afternoon, which is the situation you are paying to escape.

The second is that the loop closes. Incidents next to deployment, so the question becomes whether the response changed anything rather than what happened last week. Bulletins that generate from the analysis and reach officers on a mobile terminal, with a record of what was issued so it can be reviewed later. Series identification that groups incidents by the attributes your agency's crimes actually share rather than by a vendor's assumed taxonomy.

The third is that data quality is surfaced rather than absorbed. A dashboard showing what failed to geocode and what looks miscoded turns invisible degradation into a work item somebody in records can fix, which improves every analysis afterwards. Analysts who have spent years quietly compensating for these defects tend to find this the most useful screen in the system.

Settle ownership of the code, the pipelines and the extracted data in writing before kickoff. At Digital Heroes it is yours from the first commit. The cleanup rules encoding your agency's specific data quirks are the most valuable asset the project produces, and they must not sit inside a vendor platform. Before spending anything, have your analyst log two weeks of hours split between extracting, cleaning and analysing. Whatever the first two columns total is the return, and it is usually larger than the department expects.

Research & sources

The evidence behind this guide

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

  1. SaaS spend averaged $4,830 per employee (up 21.9% year over year), with large enterprises (10,000+ employees) spending roughly $284M annually and running about 660 apps, while organizations wasted an average of $21M annually on unused licenses. Source: Zylo (2025) →
  2. In a survey of 113 supply chain leaders (conducted late March to mid-April 2022), 67% had implemented digital dashboards for end-to-end visibility, and those companies were about twice as likely as others to avoid supply chain problems during the disruptions of early 2022; 71% expected to revise inventory policies going forward. Source: McKinsey & Company (2022) →
  3. The median annual wage for U.S. software developers was $133,080 in May 2024, and employment is projected to grow 15% from 2024 to 2034 - a core input to any in-house build-vs-buy TCO model. Source: U.S. Bureau of Labor Statistics (2024) →
  4. In the Flexera 2025 State of ITAM report, respondents reported roughly 33% of SaaS spend is wasted, underscoring how paying for off-the-shelf seats and tiers that go unused erodes the supposed cost advantage of generic SaaS. Source: Flexera (2025) →
James M. · Senior Strategist · Fintech · London

James covers financial services work, where a feature request usually arrives attached to a compliance requirement. He is worth reading if you are scoping payments, lending or account software and need to know which decisions are technical, which are regulatory and which are simply expensive.

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

FAQ

Frequently asked questions

Why does the same set of addresses fail to geocode every week?

Because nothing fixes them at source. Departmental intersection formats, commercial complexes with one address and many units, inconsistent apartment recording and rural renumbering all produce repeat failures. The build needs a manual resolution queue that remembers its decisions so an address resolved once stays resolved, plus a quality dashboard showing what failed and what looks miscoded, which turns silent degradation into a work item records staff can actually close.

What goes wrong when we load several years of history?

Policy changes cross the period. An offence code used for two different things until a reclassification will merge two categories in any trend built on it, and reports amended weeks later change the picture retroactively, so a hot spot computed today will not match the one computed last month from the same dates. Load history with the code mappings that applied at the time, record amendment dates, and let each analysis state which classification it used.

What limits how often our analysis can run?

How you can read records data. A read replica or documented interface supports hourly analysis, while a scheduled screen level export caps what is achievable and adds fragility, because the export is a saved query owned by nobody that breaks when a field is added or a form changes. Settle this with your records vendor before the project starts, and build a daily record count reconciliation so a stopped feed is caught in hours.

Why does the dispatch integration keep breaking?

Because dispatch data models change with agency practice: new unit designators, a new call type, a shift structure change. The mapping from dispatch codes to your analysis categories has to be maintained data with a named owner rather than a one time configuration. It is worth the maintenance, because pulling patrol and self initiated activity is what lets the meeting ask whether an assigned directed patrol happened and whether incidents in that area changed.

How should criminal intelligence be handled differently from incident data?

As a separate store with its own retention clocks, review dates, source reliability grading and dissemination log. Multi jurisdictional criminal intelligence systems operating with federal funding are subject to 28 CFR Part 23 covering submission criteria, retention review and dissemination, and how it applies to your system is a question for agency counsel and your state fusion centre. Design the separation from day one, because retrofitting it means unpicking a data model.

Is our records vendor's mapping module enough?

For a department with one analyst, moderate volume and questions the module answers, quite possibly, and it is worth configuring it properly before commissioning anything. What those modules generally do not do is series identification, connecting a pattern to the response, or compensating for your records data defects. If your analyst spends most of the week extracting and cleaning rather than analysing, that is the gap and no configuration closes it.

What is usually underestimated in a crime analysis quote?

Records access, which is three different projects depending on whether you get a replica, an interface or an export. Address data quality, since a resolution queue that learns is real scope and authoritative address points change the effort substantially. Years of history, because depth crosses policy changes. Multi agency scope, where the data sharing agreement takes longer than the code. And intelligence handling, which is engineering work rather than a policy document.

How do we know the build is worth it before we spend anything?

Have your analyst log two weeks of hours split between extracting, cleaning and analysing. Whatever the first two columns total is what the project returns, and in most departments it is larger than command expects because the labour is invisible. Then ask a prospective developer what they would build for the accountability meeting specifically. A product that generates itself and shows what was assigned last week is the right answer, a dashboard with filters is not.

Why do agencies charge for a discovery phase instead of quoting for free?
Because an accurate quote requires real work: mapping your workflows, finding the edge cases, and writing a specification, which typically takes 1 to 3 weeks and costs $2,000 to $10,000 at Digital Heroes depending on system complexity. You leave discovery owning a written spec and a fixed price you can take to any vendor, so the money is not locked into one agency. Free estimates are guesses, and the guess usually becomes your budget overrun six months later.
Is Tableau worth $75 per user per month, or should we build our own dashboard?
If you have analysts who explore data visually all day, Tableau Creator at $75 per user per month earns its price, and Viewer seats at $15 keep the total reasonable for a small team. The math flips once you have hundreds of viewers or need dashboards inside a customer-facing product, because per-seat pricing scales with your audience while a custom build does not. Run the 3-year seat cost before deciding; that horizon usually makes the answer obvious.
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.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
How do I vet a software development agency before signing a contract?
Ask to speak with two past clients whose projects resemble yours in size and industry, and ask exactly who will write your code, since some agencies sell senior faces and deliver junior or subcontracted hands. Demand a written specification with acceptance criteria before any fixed price, and check that their portfolio links to products that are actually live. An instant quote given without questions about your workflows is the clearest warning sign there is.
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.
When is it time to move from Excel reports to an actual dashboard?
The reliable signal is when someone spends more than a few hours a week copying data between spreadsheets, or when two teams arrive at a meeting with different numbers for the same metric. At that point the spreadsheet is acting as an unversioned, single-person database, and a costly error is a matter of time. A first dashboard that automates those recurring reports typically pays for itself in recovered hours within the first year.
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.
What do I need to prepare before contacting an agency about a dashboard project?
Bring three things: a list of your data sources with who controls access to each, the 5 to 10 recurring decisions the dashboard should support, and examples of the reports or spreadsheets it will replace. That package lets an agency quote in days instead of weeks, and in our discovery work it cuts the audit phase roughly in half. You do not need wireframes or a technical spec; a good agency produces those with you.
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Yes, and connecting your existing tools is one of the main reasons to build custom: mainstream platforms like QuickBooks, Stripe, Shopify, and Google Workspace all publish documented APIs. Budget 1 to 3 weeks of work per integration depending on API quality and how much data flows in both directions. Ask any vendor whether they have integrated with your specific tools before, because quirks like QuickBooks' OAuth token handling and API rate limits get learned on someone's project, and it should not be yours.
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.
What usually breaks after a dashboard launches, and who fixes it?
Upstream changes break dashboards, not the dashboard code itself: a source system renames a field, an API version gets retired, or someone edits a spreadsheet column a pipeline depends on. Budget 15 to 25 percent of the build cost per year for maintenance and monitoring, and agree on response times for broken data before launch. A build quote with no maintenance plan attached is a warning sign, because every connected source will change eventually.
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?