How to Identify Duplicate Applications Across Your Organisation

Several near-identical glass cubes on a dark reflective surface, lit blue

Direct answer: To identify duplicate applications, first separate the three kinds of duplicate, because each needs a different method. The same product under different names is fixed by consolidating variant names into one application family. The same product in many versions is found by counting versions in use per family. Different products doing the same job are found by grouping a clean, family-level inventory by purpose, then asking an owner to decide which tool stays.

Most organisations know they have duplicate applications. Very few can say how many, or which ones. The problem isn’t a lack of data. It’s that a raw inventory mixes three different kinds of duplication together, and buries all of them under noise.

Why Duplicate Applications Are Hard to See

Pull an application inventory from any device management platform and it looks precise. Every row has a name, a version and a device count. But the rows don’t line up with how people think about software.

A single product can appear as a dozen rows: one per edition, per language pack, per installer that left a slightly different display name. Meanwhile, the same row list is full of things nobody would call an application: runtimes, device drivers, redistributables, help files, installers and bundled components.

So when someone asks “how many PDF readers do we have?”, the inventory can’t answer. It might show twenty rows that are really one product, and miss that three genuinely different products are doing the same job.

That’s why the first step isn’t hunting for duplicates. It’s being clear about what kind of duplicate you’re looking for.

The Three Kinds of Duplicate Application

Each kind needs its own method. Treat them as one problem and you either overcount (calling editions of one product “duplicates”) or undercount (missing the tools that genuinely overlap).

Kind 1: The Same Product Under Different Names

This is the most common source of apparent duplication, and the easiest to get wrong.

Vendors rename editions. Language packs register as separate entries. An update can leave a display name that differs by a word, a year or a bracketed architecture tag. A 32-bit and 64-bit install can sit side by side under different names. None of these are duplicate applications in any business sense. They’re one product.

How to find them

  1. Normalise the names. Strip version numbers, architecture tags, edition labels and language suffixes from display names, then compare what’s left.
  2. Group the variants into one application family. A family is every version and variant of one product, held under one consistent name. From here on, count families, not rows.
  3. Check the publisher. Rows that normalise to the same name and share a publisher are usually the same product.
  4. Remove the noise first. Take out runtimes, drivers, redistributables, help files, installers and bundled components before you group. Otherwise they inflate the counts and hide the real applications.

The look-alike trap

The opposite mistake is just as costly. Some rows look like the same product but aren’t.

Add-ins are the classic case. An add-in for a collaboration or office tool often carries the parent product’s name in its own. Merge it into the parent family and two things go wrong. The add-in’s version numbers get mixed in with the product’s, so the version count is wrong. Worse, those version numbers get compared against the parent product’s vulnerability ranges, which they have nothing to do with.

So the rule is: consolidate variants, but keep look-alikes apart. An add-in, a plug-in or a companion utility is its own family, even when its name suggests otherwise.

Kind 2: The Same Product in Many Versions

Once variants are grouped into families, a second kind of duplication shows up: one product running at several versions across the estate.

This rarely looks like duplication in a raw inventory, because each version is a separate row and they’re scattered across the list. Grouped into a family, it becomes obvious. And it matters, because every extra version is another vulnerability range to check, another package to maintain and another exception to explain.

How to find them

For each application family, measure three things:

  • Version debt: the number of versions in use, minus one.
  • Devices not on the latest version: how many machines are behind the newest version you’ve deployed.
  • Fragmentation: the share of devices not on the most common version.

A family with high scores on all three has a real version duplication problem. A family with several versions where nearly every device sits on one of them has a few stragglers. We cover how to measure and prioritise this in more detail in Version Debt: How to Measure Application Sprawl.

The point for this article is simpler: version duplication only becomes countable once the naming problem in Kind 1 is solved. Get the families wrong and every version count after that is wrong too.

Kind 3: Different Products Doing the Same Job

This is the kind most people mean when they talk about duplicate applications, and the hardest to find mechanically. Several PDF readers. Two or three screen-capture tools. More than one file archiver, remote access client or diagram editor, each installed by a different team at a different time.

These are functional duplicates. The products have different names, different publishers and different version histories, so no amount of name matching will connect them. What connects them is purpose.

How to find them

  1. Start from a clean, family-level list. Functional overlap is far easier to spot across a few hundred application families than across thousands of raw rows.
  2. Tag each family with what it does. Use a short, fixed set of categories: document viewing, screen capture, compression, remote access, diagramming and so on. Keep the list short enough that two people would tag the same product the same way.
  3. Sort by category and look for clusters. Any category with more than one family is a candidate for consolidation.
  4. Check the reasons before you call it a duplicate. A second tool may exist for a good reason: a specialist feature, a regulated workflow, a team that has validated a particular build. Not every overlap is waste.
  5. Give each family an owner. Deciding which tool stays is a business decision, not an IT one. It needs someone who can speak for the people using each tool.

This is the step where judgement matters most. A tool can tell you that three products sit in the same category. Only the people who own them can tell you which one the organisation should standardise on.

How It's Usually Done Today

In most organisations, finding duplicate applications is a project rather than a process. It tends to look like this:

  • An inventory export into a spreadsheet. Someone pulls the discovered apps list, then spends days filtering, de-duplicating names by hand and building pivot tables.
  • Scripts to normalise names. Regular expressions strip version numbers and edition labels. They work until a vendor changes its naming convention, then quietly stop working.
  • Interviews and surveys. Teams are asked which tools they use and why. The answers are useful, but they’re slow to gather and hard to keep current.
  • A one-off audit. The result is a well-researched report that is accurate on the day it’s finished and starts going stale the next morning, as new installs, updates and renames arrive.

The deeper problem is that the decisions don’t persist. Someone works out that six rows are one product, or that a utility is really a driver, and that knowledge lives in a spreadsheet. The next export arrives without it, and the work starts again.

For a worked example of what a fuller rationalisation looks like in practice, see our enterprise application rationalisation case study.

A Worked Example

The figures below are illustrative, not drawn from a customer estate.

The raw list suggests the PDF problem is the biggest. After grouping, it turns out to be a choice between three products, which is a conversation for the owners. The browser looked like one product, which it is, but at five versions it’s a standardisation job. And the office suite, which looked like six duplicates, is really one product that was never a problem at all.

How ALICE Helps You Identify Duplicate Applications

ALICE does the inventory side of this work for Microsoft Intune estates, and for SCCM estates before they move to Intune, and keeps it current with every sync.

  • Discover the estate. ALICE reads which applications are installed on which devices, at which versions, from your own Intune tenant through Microsoft Graph, with access granted by your own administrator. For SCCM, it imports three exports and reconciles them against SCCM’s own install counts.
  • Remove the noise. Every discovered row is checked against a central applications database maintained by Camwood across eight flags: system component, device driver, redistributable, help files, deprecated, installation files, bundle and non-business. Flagged rows drop out of the rationalised views. Web shortcuts and PWA entries are filtered out automatically.
  • Consolidate variant names into families. Variant names of the same product are grouped into one application family, and that family name is used everywhere in ALICE. This is Kind 1, handled as part of every sync rather than by hand.
  • Keep look-alikes apart. Products that only look related stay separate. Teams add-ins, for example, are kept apart from Teams, so their versions aren’t confused with Teams’ vulnerability ranges.
  • See every variant in one place. The Families view shows every version and variant of each product under one name, so you can see what was consolidated and check it.
  • Measure version spread per family. For Kind 2, every family is measured for version debt, devices not on the latest version and fragmentation, and placed in one of four quadrants (standardise, quick win, long tail, healthy) split on your estate’s own medians.
  • Make functional overlap visible. ALICE does not decide which products do the same job. What it gives you is a clean, family-grouped inventory that your team can review by purpose to spot the Kind 3 overlaps.
  • Record who decides. Each family has a governance page recording its owner in the business, any versions to leave alone and its dependencies. When two tools overlap, the owners are named and the decision has somewhere to live.
  • Keep the decisions. Where your view differs, your team adjusts the flags. Manual decisions are preserved when rationalisation runs again, and they carry over across syncs, so the next inventory starts from where the last one finished.

Once a decision is made, the same platform carries it through: the chosen product and version can be packaged and rolled out through your own Intune in phases, starting with named testers. Retiring the tools you no longer need, and any licence savings that follow, are actions your team takes on a picture it can trust. If you need to put that in front of a board, our article on the hidden cost of application sprawl covers the case.

A Practical Checklist

You can start finding duplicate applications this week:

  1. Export your discovered applications, with versions and device counts.
  2. Remove runtimes, drivers, redistributables, help files, installers and bundled components.
  3. Normalise names and group variants into application families. Keep add-ins and plug-ins as their own families.
  4. For each family, count versions in use and the devices not on the latest version.
  5. Tag each family with what it does, using a short, fixed list of categories.
  6. List every category with more than one family. That’s your functional duplicate shortlist.
  7. Name an owner for each family on the shortlist, and ask them which tool should stay and why.
  8. Write the decisions down where the next inventory will find them.

Frequently Asked Questions

There are three kinds: the same product under different names (editions, language packs, renamed releases), the same product installed at many versions, and different products that do the same job, such as several PDF readers or screen-capture tools. Each needs a different method.

See Your Own Duplicates

Duplicate applications aren’t one problem. They’re three, and most inventories can’t tell them apart. Clean the list, group it into families, and the naming duplicates disappear, the version sprawl becomes countable and the overlapping tools become visible for the people who own them.

Start a 14-day ALICE trial, connect your Microsoft environment and see every application family in your estate.

Start your free trial · Or book a demo

ALICE is Camwood‘s platform for Autonomous Application Lifecycle Management: discover, rationalise, package, deploy and patch through your own Intune, with every decision kept on one record.

Latest Posts

Rows of dark server racks in a data hall, one rack open and lit blue
An application inventory records every app, version, device, owner, dependency and vulnerability. Here’s how to build one and keep it……
A board reviewing a security shield on a large display in a dark boardroom
Six questions a risk committee should ask any platform that connects to your Microsoft tenant, what good answers look like,……
A single line of light running through a row of glass panels, connecting each stage
The hidden cost of an application estate is re-work between tools. Here’s where decisions get lost, and what a single……