Two Tribes: 46% of DTC Brands Never Discount, 18% Never Stop
When you look at which Shopify competitors run sales, you might expect a spectrum: some brands discount heavily, some occasionally, some rarely. The data does not look like a spectrum. It looks like two distinct camps with a thin middle.
Across 489 Shopify competitors tracked by Beaconmon (with five or more products each), the distribution of sale behavior breaks down into two dominant groups with roughly equal size.
Key Takeaways
- →46.6% of tracked DTC brands never use compare_at_price at all. 17.8% have 30% or more of their catalog permanently marked as on sale. There is almost no middle ground.
- →Never-discount brands protect pricing integrity and avoid training customers to wait. They compete on quality signals, not price anchoring.
- →Permanent-sale brands use compare_at_price as a reference price anchor, not a promotional tool. The crossed-out price is psychological, not transactional.
- →The highest-signal event from a never-discount brand is their first use of compare_at_price. It almost always signals business pressure or a strategy shift.
- →For permanent-sale competitors, monitor actual price level changes, not compare_at_price changes. The compare_at_price is structural noise, not a signal.
The four segments of DTC discount behavior
Across 489 competitors with meaningful catalog sizes, sale behavior sorts into four clear segments, with two extremes accounting for almost two-thirds of all brands.
| Segment | Brands | Share | What to monitor | Key signal |
|---|---|---|---|---|
| Never discount | 228 | 46.6% | Actual price changes only | First compare_at_price ever appearing: signals strategy shift or pressure |
| Occasional sales | 85 | 17.4% | Instant alerts on compare_at_price appearing | Any sale is newsworthy: customers do not expect them |
| Frequent bounded sales | 89 | 18.2% | Sale coverage % and discount depth patterns | Rotation: which products cycle in and out of sale status |
| Permanent sale mode | 87 | 17.8% | Actual price changes; ignore compare_at_price noise | Compare_at_price disappearing from catalog: brand refresh or legal pressure |
Tribe 1: The never-discount brands (46.6%)
228 of the 489 competitors in our dataset have zero compare_at_price usage across their entire catalog. No flash sales, no sitewide promotions visible in the product feed, no clearance sections. This near-majority represents a deliberate and consistent pricing philosophy, not just an absence of activity.
These brands are not necessarily premium. Plenty of commodity-positioned brands also never discount: they simply compete on everyday low pricing without needing the psychological framing of a markdown. What they share is a deliberate choice not to train customers to wait for a better price.
What the never-discount brands are betting on
- Pricing integrity: A customer who buys at full price has no reason to feel like they overpaid. A customer who buys full price and then sees 30% off two weeks later feels exploited, and remembers.
- No training effect: Once customers learn that a brand runs sales frequently, rational buyers defer purchases until the next sale. The effective price collapses even though the nominal price stays high between sales.
- Margin preservation: A 30% discount requires roughly a 43% increase in unit volume to break even on gross margin. For most DTC brands, that volume lift does not happen reliably.
A never-discount brand running their first sale is one of the highest-signal events in competitor monitoring. It almost always indicates business pressure: slowing demand, excess inventory, or a retention problem requiring a promotional response.
Tribe 2: The permanent-sale brands (17.8%)
87 competitors in our dataset have 30% or more of their catalog with compare_at_price set at all times.These are not brands running a seasonal sale right now. The compare_at_price on their products never clears. The same items have been "discounted" for as long as the monitoring window covers.
This is a deliberate pricing strategy, sometimes called reference price manipulation. The original price functions not as a real historical price but as an anchor: a number that makes the actual price feel like a deal regardless of market context.
How to identify a permanent-sale competitor
The distinguishing feature is temporal stability. A real sale rotates: products go on sale, then come off. Permanent sale mode is static: the same products carry compare_at_price for weeks or months without change. Check the price history for a selection of their products. If compare_at_price has not changed in six weeks, it is structural rather than promotional.
When a permanent-sale brand suddenly removes compare_at_price from their catalog, pay attention. It usually signals a strategic shift: they are exiting the discount-framing game, often because a rebranding effort or move upmarket requires shedding the perception that they are always discounting.
The thin middle (35.6%)
The remaining third splits between occasional and frequent salers, and this is where monitoring produces the most immediately actionable signals.
- 89 brands (18.2%) run frequent bounded sales: 10-30% of their catalog on sale at any one time, rotating in and out. These are real promotions with a defined scope: a category clearance, a seasonal event, a product discontinuation.
- 85 brands (17.4%) run occasional limited sales: Less than 10% of catalog on sale at any time, and not continuously. Promotions are rare enough that customers do not anticipate them.
For occasional-sale brands, any compare_at_price appearing is worth an instant alert. Their sales are genuine events: customers do not expect them, which means the urgency is real and the response window is narrow. See the flash sale duration data for why that window is typically under 17 hours.
Configuring monitoring per segment
For never-discount competitors
The interesting signal is not compare_at_price, which never appears. Watch for actual price level changes: a catalog-wide 10% increase means they are passing through cost increases. A subset of SKUs dropping 8-12% means they are experimenting with price elasticity on specific products. Neither shows up in sale tracking, only in price change history.
For permanent-sale competitors
Filter out compare_at_price changes unless they represent a wholesale shift. A brand where 30% of the catalog is always on sale adding two more products to that set is not news. The event worth watching is when their sale coverage drops significantly, say from 35% to 10% of catalog, which indicates a pricing strategy change.
For the bouncing middle
These brands give you the most actionable signals. A competitor who occasionally runs sales starting one is worth knowing about immediately, because their sales are genuine promotions, not background noise. Set instant alerts for compare_at_price appearing on new products for brands you have classified as occasional salers. See the data on how long Shopify sales actually last for why the alert needs to be instant rather than via daily digest.
Frequently asked questions
Which approach is better: never discounting or running regular sales?
Neither is universally better: they represent different bets on customer psychology and unit economics. Never-discount brands bet that perceived quality and pricing integrity justify full-price purchases and create a customer base that does not wait for sales. Frequent-discount brands bet that the volume uplift from promotions exceeds the margin compression. The problem with frequent discounting is customer training: buyers learn to wait, and the effective full price becomes the sale price.
What does it mean when a competitor suddenly switches from never-discount to running sales?
It almost always signals a business pressure: slowing organic demand, excess inventory, or a competitive threat they need to respond to. A brand that has never used compare_at_price suddenly marking 20% of their catalog as discounted is a high-signal event worth tracking. It suggests their unit economics shifted or they are testing a new acquisition strategy.
How do I know if a competitor is in permanent sale mode?
Check their products.json over time. If compare_at_price is set on the same products week after week with no rotation, and the discount never actually expires, they are running a permanent reference price strategy. The tell is stability: a real sale rotates products and has an end date. Permanent sale mode is static: the same products stay 'on sale' indefinitely.
What percentage of Shopify DTC brands are in permanent sale mode?
In our dataset of 489 competitors with 5 or more products, 17.8% have 30% or more of their catalog with compare_at_price set at all times. An additional 18.2% run frequent but bounded sales (10-30% of catalog). Together, roughly 36% of DTC brands have meaningful portions of their catalog on sale at any given moment.
Haimanot built Beaconmon after watching Shopify merchants lose sales to competitors they never saw coming. He writes about competitive intelligence, ecommerce pricing strategy, and how merchants can turn competitor data into decisions that protect margin.