
A store database can count candidates for your offer. It cannot establish how many businesses need it, can afford it, or will buy it.
Our March 9, 2026 analysis retained 240,121 store records with traffic-tier fields. Five historical filter recipes returned 2,535 to 20,161 candidates. Those counts are useful for planning discovery, provided you preserve the actual filters and validate each account.
Some links in this article are affiliate links. We may earn a commission if you purchase through them, at no extra cost to you.
What the study measured
The retained evidence is the March 9 ICP framework research output. Store-level fields included estimated traffic tiers, detected app counts, theme classification, stored contact counts and lead scores. App-category queries used the latest available snapshot per store, without a successful-scan restriction or a maximum snapshot age. Some recipes used fields stored on each store record instead.
This is a historical database cohort, not a census of active Shopify businesses. A storefront domain is also not necessarily one independent customer: several domains can belong to one company.
Public signatures miss native, backend, custom and undiscovered tools. A category without a match is a detection gap, not confirmed unmet demand. These limits do not make the resulting candidate count a conservative estimate of TAM: incomplete coverage can reduce a count while false negatives can inflate the apparent gap.
Traffic tiers are estimates. Lead scores partly incorporate the same traffic and technology signals used to build these segments, so higher scores do not independently prove budget or purchase intent. A positive contact count does not establish deliverability, consent or decision-making authority.
Start with the actual denominator
| Stored traffic tier | Records | Average detected apps | Average lead score |
|---|---|---|---|
| Under 50K | 202,851 | 1.5 | 58.2 |
| 50K–200K | 35,493 | 3.1 | 89.9 |
| 200K–1M | 1,731 | 4.8 | 95.5 |
| 1M–5M | 39 | 5.8 | 97.4 |
| 5M–20M | 7 | 7.0 | 97.9 |
The four higher tiers sum to 37,270 records. The 50K–200K tier alone has 35,493. Keep those denominators separate.
The very small upper tiers do not support broad conclusions about enterprise stores. Nor does a traffic threshold establish a minimum viable customer: a specialist merchant can have high order values with few visits, while a high-traffic store can have poor margins.
Choose a traffic band because it helps test your offer, then confirm sales volume, operational needs and purchasing constraints in discovery. Do not convert the tier directly into revenue or an agency budget.
App gaps by two specific traffic tiers
The category query used its own latest-snapshot denominator: 202,850 under-50K records and 35,493 records in the 50K–200K tier. These percentages are not whole-database or combined-50K+ rates.
| Category without a detected match | Under 50K | 50K–200K |
|---|---|---|
| Email marketing | 68.4% | 28.5% |
| Reviews | 81.2% | 52.9% |
| Upsell/cross-sell | 99.4% | 94.0% |
| Customer support | 97.1% | 84.3% |
| Specialist analytics/attribution | 99.5% | 93.9% |
| Loyalty | 95.0% | 84.0% |
| Popup/email capture | 94.8% | 92.7% |
| Personalization | 98.9% | 93.2% |
The retained percentages are rounded; multiplying them by the denominator produces approximations, not exact query counts. For example, 35,493 × 28.5% is about 10,115 records. It does not establish how many of those records also belong to Beauty or have usable contacts.
Each category needs a different follow-up. A support gap calls for checking help channels and service volume. An analytics gap calls for checking native Shopify reports, GA4 and server-side measurement. A personalization gap calls for checking native recommendations and custom merchandising. Existing competitors can be replacement prospects, so subtracting all existing adoption can also exclude relevant customers.
Use vertical and theme fields to narrow a question
The study's category table included Fashion at 57,995 records, Home at 34,024, Food at 21,794 and Beauty at 17,463. Beauty averaged 2.3 detected apps, compared with Hobby's 1.6. These differences describe the sampled technology footprint; they do not establish service budgets or category growth.
Stored contact coverage ranged from 69.9% in Travel to 74.9% in Electronics, the highest of the listed categories. Outdoor was 74.1%. Those marginal rates cannot be applied to a jointly filtered email-gap segment without checking that intersection.
A separately executed theme query returned 240,122 records: 109,448 free, 84,801 paid and 45,873 custom. Preserve that independent denominator. Theme classification does not tell you what the business paid, whether a free theme meets its needs, or whether “custom” means bespoke development.
A separate Plus-flag query returned 37,055 flagged records and 203,067 unflagged records. The flagged group averaged 3.7 detected apps versus 1.4. This is an association with a stored detection flag, not a verified billing-plan census or an enterprise spending budget. Use the Plus identification guide to assess the evidence behind a flag.
Contact coverage is another filter
| Stored traffic tier | Records with at least one contact | Share of tier |
|---|---|---|
| Under 50K | 143,094 | 70.5% |
| 50K–200K | 29,079 | 81.9% |
| 200K–1M | 1,580 | 91.3% |
| 1M–5M | 39 | 100.0% |
| 5M–20M | 7 | 100.0% |
The counts sum to 173,799, or 72.4% of the traffic-tier cohort. The 100% values concern only 39 and seven records.
For an outreach plan, inspect the actual contact type, role, verification status and lawful channel. Generic support addresses and unrelated employees may not reach the buyer. See contact research and client-list building.
Five retained candidate recipes
The March 9 research directly counted these intersections. It did not publish every intermediate funnel count.
| Recipe | Retained count | Important filter |
|---|---|---|
| Email service | 8,142 | No email-category match; positive contact count |
| CRO/upsell service | 20,161 | Email match; no upsell or personalization match; positive contact count |
| Reviews app | 19,995 | No reviews-category match; no contact requirement |
| Design/development | 2,535 | Free-theme classification; positive contact count |
| Operations/full service | 11,211 | Zero to two detected apps; positive contact count |
All five used the historical traffic condition: a stored traffic tier other than <10k or <50K. That is a literal legacy exclusion rule, not a verified numeric 50K floor: other legacy labels can pass it. The first three recipes used latest available app snapshots; the last two relied on fields stored on each store record.
These pools overlap. Do not add them together. They are neither qualified buyers nor validated unmet-demand counts.
The next task differs by recipe:
- Email: check consent capture, existing campaigns, native tools and whether help is wanted.
- CRO: review merchandising, funnel measurement and native recommendations before proposing a tool.
- Reviews: inspect actual review coverage and collection practices.
- Design: identify a concrete accessibility, usability or maintenance problem.
- Operations: ask which workflow is constrained; few public app matches do not imply the store needs every service.
The original research also returned 581 higher-traffic records with zero to three detected apps. “Underinvested” was an analyst label. No sales outcomes, close rates or reasons for their technology choices were measured.
Calculate a joint segment, then validate it
- Define the buyer and problem. Include supported regions, category, technical requirements and a clear exclusion rule.
- Choose an observation window and successful-scan requirement. Record any records excluded for missing or stale fields.
- Apply all conditions to the same account set. Do not multiply global category share by a tier-specific gap rate and then by a marginal contact rate.
- Deduplicate storefronts to purchasing organizations where possible.
- Inspect a sample for native/custom alternatives, contact relevance and the claimed problem.
- Record how many inspected candidates become qualified accounts and why others fail.
For example, an email agency targeting Beauty needs a direct intersection of category, traffic condition, email detection and contact rules. The earlier marginal calculation of roughly 604 “reachable Beauty stores” cannot establish that intersection; no such joint count was retained.
StoreInspect can help explore these filters. As checked October 14, 2026, Free includes 10 contact reveals, basic filters and up to 50 search results, with no CSV export. Advanced filtering and exports require a paid plan. Pro is $99/month with 1,000 reveals and a 10,000-row monthly export allowance. Verify role and suitability after revealing a contact.
Separate TAM, SAM and SOM
TAM describes the full potential demand for an offer under defined assumptions. A public detection cohort is evidence for one part of that estimate.
SAM narrows demand to customers you can serve with the product, geography, integrations and delivery model available.
SOM estimates what you can win over a specified period, given acquisition capacity, observed conversion, competition, retention and delivery constraints. There is no universal 5–10% win rate or 5–20% SAM ratio.
You can model a scenario while keeping it separate from measured research. Suppose an agency qualifies 100 accounts, assumes 20 wins over a year and assumes a $24,000 annual contract. That is $480,000 in hypothetical annual contract bookings. The win rate and contract value are assumptions, and bookings differ from recognized revenue and cash collections.
Similarly, applying an assumed $29/month app price to all 19,995 historical reviews candidates gives 19,995 × $348 = $6,958,260 a year. That assumes every candidate buys and remains subscribed for a full year. It is a scenario ceiling, not an ARR forecast or measured market demand. A $15,000 design project is a one-time sale and should not be described as recurring revenue.
Questions to resolve before using a count
Does this establish Shopify's total store count?
No. The 240,121 records are a dated StoreInspect cohort. The difference between it and another provider's count cannot be assigned to dormant or small stores without reconciling coverage, dates and definitions. See the store-count analysis.
Do detection gaps prove an unsaturated market?
No. They can reflect native features, custom implementations, false negatives or a lack of need. Evaluate competing products and willingness to pay through direct research.
How do I choose a niche?
Compare the number of relevant accounts with your expertise and the problem you can solve. Use the niche guide for scoped research, then validate a sample rather than treating average app count as buying intent.
Can I reproduce the historical counts with today's dashboard?
Current records and filters can differ from the March 9 queries, including their legacy traffic labels and snapshot handling. Save the date, filter and denominator of your own search. Begin with the ICP framework, inspect the intersection, and keep candidate, qualified and won-account counts separate.
Find Shopify Clients Worth Your Time
Search by niche, traffic, and tech stack. Export with verified founder contacts.Search stores by niche, traffic, and tech stack. Export with verified founder contacts so you can skip the research.
![How Accurate Is Shopify App Detection? [50-Store Test]](/_next/image?url=%2Fimages%2Fblog%2Fshopify-app-detection-accuracy.webp&w=3840&q=75&dpl=dpl_2xLjWaFYT85u2uH3gSJbWekEe5AY)
![Shopify Gift Wrap Apps [144,253-Store Study]](/_next/image?url=%2Fimages%2Fblog%2Fshopify-gift-wrap-apps.webp&w=3840&q=75&dpl=dpl_2xLjWaFYT85u2uH3gSJbWekEe5AY)
![Shopify Currency Converter Apps [144,232-Store Study]](/_next/image?url=%2Fimages%2Fblog%2Fshopify-currency-converter-apps.webp&w=3840&q=75&dpl=dpl_2xLjWaFYT85u2uH3gSJbWekEe5AY)