Method and limitations
Published in full alongside The State of WooCommerce, including the parts that limit what the numbers can support.
The cohort
Every figure comes from weekly snapshots of our storefront index, held as dated partitions. The cohort is every WooCommerce storefront present in the 2021-W02 snapshot that carried an index rank: 1,828,720 domains. It is fixed at that date and never added to.
That matters because the tracked population is not stable. It grew from 1.83M WooCommerce stores in 2021 to a peak of 4.71M in early 2025, then fell back to 4.45M. Reading survival off those totals would mostly measure how our coverage changed. A fixed cohort cannot be flattered by new stores entering the index or by coverage expanding.
What "still trading" means
A store counts as alive at a date if it appears in any snapshot at or after that date.
The obvious alternative - alive if present in that week's snapshot - is wrong, and provably so. Measured that way the curve rose at the end, from 31.0% to 32.4%. Survivors cannot increase. Stores drop out of an individual weekly snapshot and reappear later, so presence-in-week produces false deaths. Last-seen is monotonic by construction.
This is still a lower bound on trading activity. A storefront that leaves our index has not necessarily closed: it may have migrated platform, moved behind an interstitial, or become uncrawlable. We measure disappearance from a WooCommerce index, and say so.
Two snapshots are missing
2021-W41 and 2022-W28 do not exist upstream. They are absent from the series rather than
interpolated, and no figure depends on them.
Segmentation is always at baseline
Market and size are taken from the store's 2021 record, not its current one. Segmenting on a present-day value would describe only the survivors: a store that moved country, or grew, would be credited to wherever it ended up, and the stores that died would contribute nothing at all.
Findings we discarded
Three results looked publishable and were not. They are listed because the same traps apply to anyone working with this kind of index.
A catalogue decline that never happened. The cohort's median product count appeared to fall from 54 to 30 across 2022 - a tidy contrast with Shopify survivors widening over the same period. It was composition. Coverage of the product-count field went from 20.6% of stores in January 2022 to 81.2% a year later. While only a fifth of stores reported a count, those were the larger ones; extending coverage pulled the long tail into the denominator and dragged the median down. Nothing shrank. All product and sales figures in this report therefore start in 2023, once coverage is stable above 80%.
A page-builder league table. Do stores on one theme outlast stores on another? We cannot say. The technology field is empty in every historical snapshot, and theme is known only for stores that exist today - which means we know the builder used by survivors and not by the 1.24M stores that stopped trading. Any ranking built from that measures visibility, not durability.
Iran. Its cohort of 34,417 stores shows 6.5% survival, three times worse than any other market, and it had the best size composition in the dataset. A well-ranked cohort does not collapse by 93% for commercial reasons; the likeliest cause is loss of access to Western hosting, CDN and payment infrastructure over 2021-22. Excluding it is an editorial judgement, stated here rather than made silently.
The confound we tested for, and one we cannot
Larger stores survive better, so any market weighted toward small stores would show worse survival for that reason alone. We tested the geography finding against it by comparing markets within each tenth of the size distribution. The ordering is unchanged at every decile, and the American cohort is better-ranked at baseline (mean decile 5.0) than the Hungarian (6.7) or Polish (6.5) ones - so composition, if anything, flatters the US.
The confound we cannot rule out is differential coverage change by market. If our index thinned in the United States relative to Europe over five years, some American "deaths" are measurement rather than closure. We have no way to distinguish those with the data we hold, and the size control does not address it. It is the strongest available objection to the geography finding.
Size deciles
Rank is our index's cross-platform rank, so WooCommerce deciles interleave with stores on other platforms. The survival gradient across deciles is downward but not monotonic, so the report gives the top and bottom deciles and does not draw a ten-step curve the data does not support.
Reproducing this
The analysis is two scripts:
research/analysis/woo_cohort.py builds the cohort and every figure here;
research/analysis/woo_coverage.py prints field coverage per week and is what caught the
first two discarded findings. Run the coverage check before trusting any trend - a metric is
only comparable across two dates if its coverage is similar on both.