How we count

Where the numbers on a dtcmvp brand page come from, what the grades mean, and what a page never shows. The rules below are the same for every brand.

Which brands have a page

dtcmvp tracks Shopify storefronts that we have verified are live and that were found at an estimated $5M or more in annual storefront sales. That set is about 14,800 brands and it is the denominator behind every rank on the site. A brand stays tracked when a later estimate moves it under the line, so a rank is against the whole set, not a moving one.

A brand gets a public page when we have enough that is ours to say about it. A page with three or more facts we can stand behind is one we ask search engines to index; a thinner page still renders and can be shared by link, but carries a request not to index it. Whether a brand has ever worked with dtcmvp plays no part in either decision, and a page reads the same to everyone.

Revenue

A page can show two figures. Total revenue is the whole business, every channel. Online storefront sales is what goes through the brand's Shopify store. The second is never larger than the first.

When a brand publishes its own number, the page shows it exactly and links to where it came from: an audited annual filing, or a figure the brand has put out itself. That is the only case a page shows an exact figure, and the year it covers is stated when the source states one.

Everything else is an estimate, and an estimate shows as a band one step wide: $50M steps between $100M and $1B, $5M steps between $10M and $100M, $1M steps below that. A brand we estimate at $520M reads “$500M to $550M”. We build the estimate from several independent readings of the storefront: commerce data on the store itself, its traffic and typical order size, and our own check that the store is live and selling. Each reading is a witness, none is the answer on its own, and the figure we keep is the one they agree on.

Every estimate carries a grade. A: two or more independent readings agree. B: one strong reading with nothing contradicting it. C: a single weak reading, or readings that disagree. Only an A appears on a public page. A B or a C is left off rather than shown with a caveat, because an absent figure costs a reader nothing and a wrong one costs us the page.

Rank

“#9 of 14,788” is the brand's position among every brand we track, ordered by estimated online storefront sales. It is a rank within our set, not a claim about the whole of Shopify. The denominator is printed next to it so the rank can be read for what it is.

Apps

The apps a brand runs are counted from what its storefront installs from the Shopify App Store, and the list is re-checked every week; the date it was last checked is on the page. The public page shows how many apps and which categories they fall in. It names an app only where a second source, not the install list, confirms it is in use, or to a signed-in dtcmvp member.

That second source is our own visit. Once a week a browser we run opens the brand's storefront and its help page, the way a shopper would, and records which app tags load, which cookies are set and which widgets are on the page. An app is named on the public page only when the install list says it is there and our visit saw it running. An app that loads only after a purchase, or only on a page we did not open, is counted but not named. A storefront that blocks automated browsers names nothing until a person has looked.

Categories are ours: email and SMS marketing, product reviews, loyalty, helpdesk, shipping and returns, search and upsell, advertising and analytics, and so on. An app that fits none of them counts under “other”.

Where a brand sells

“Direct” is the Shopify store itself. Retail, wholesale and Amazon are read from the brand's own site: a store locator, a wholesale page, a link to a marketplace listing. A page says a brand is on a channel when its site shows it. A page says a brand is not on a channel only when a second, closer reading of the site reached that conclusion with high confidence and recorded why. Not seeing something is not the same as its absence, and the page does not pretend otherwise.

Headcount and location

Headcount comes from company data and is shown as a band (51 to 200, 501 to 1,000) rather than a count. Headquarters is the city the company itself gives. Neither is something a brand tells us; both are things a brand can correct by claiming its page.

Other brands on a page

The brands listed beside a profile are in the same sector, ordered by estimated storefront sales, and only those whose estimate holds an A grade. A name becomes a link once that brand has a page of its own.

What a page never shows

People: no names, titles or contact details of anyone who works at the brand. Exact estimates: only bands, unless the figure is the brand's own published one. Traffic, order size and product counts. Anything said on a call with dtcmvp, whether the brand has ever taken one, and whether the brand is a dtcmvp member or a customer of any dtcmvp partner. Signing in to dtcmvp does not change what a page shows; it adds what a member is entitled to see.

Corrections

Every figure has a date beside it and every page has a changelog. If a figure is wrong, someone at the brand can claim the page and correct it, add what the numbers miss, or ask for a figure to be hidden; anyone can report one. A correction lands on the page with the date it was made.

Brand pages: an example. Questions about the method: sean@dtcmvp.com.