Track record

How early do we publish?

When we publish that a brand has announced a launch at a retailer, we count the days from the day it appeared on our site to the first evidence that the brand is on sale there. We also count how long news reports take to reach our data. The rules were registered before the calculation code was merged. Every announcement is counted, including the ones that did not come true; announcements about brands outside our public data are counted as anonymous figures.

The record is small and starts now. 3 launch announcements so far. It grows as we publish more. The rules will not be changed to make it look better; any change gets a new, dated version (see pre-registration).

Figures as of 2026-11-02

Announcement lead
n = 3Sample n=3, not enough to draw a conclusion. 0 fulfilled. A conclusion needs at least 10 announcements that are no longer pending.
Detection lag
  • 3 daysDaily review: median, n=5, not enough to draw a conclusion; 90th percentile 6 days.
  • 216 daysOne-off batches: median, n=85; 90th percentile 738 days.
From news report to our data. One-off batches collect older reports on purpose. All 90 events together: median 183.5 days. This measures how fast we find reports, not how early we are.
Announcements by result
  • Fulfilled: 0
  • Already listed: 0
  • Pending: 2 (incl. 2 not listed by name)
  • Unfulfilled: 1
  • Withdrawn: 0

"Entered our data" is the day an event reached the main branch of our data repository. The site is rebuilt from it each morning, so the public could read an event on our site from the next day, and not before the site went live on 2026-10-26. Announcement lead counts from that first public day. "Early" here means only that this day comes before the date of the first on-sale evidence; it is not a forecast.

Backfilled: 90 events that entered our data from 2026-10-19 to 2026-10-30, on or before the day the rules were registered (2026-10-31), were calculated with the same rules. They are not an out-of-sample test: the rules were written while those events could already be seen. See the known biases.

Launch announcements

Results: Fulfilled: the first on-sale evidence is dated after the day the announcement appeared on our site, and confirms a listing on or before the deadline; Already listed: the brand was already on sale there on or before the day it appeared on our site (and on or before the deadline), so no lead is counted; Pending: the deadline has not passed, or there is on-sale evidence without a start date (a check record dated on or before the deadline) and we are waiting for a dated source; Unfulfilled: no on-sale evidence in our data that confirms a listing on or before the deadline: the last day of the announced month plus 90 days, or the report date plus 90 days when no month was announced. Evidence that does not confirm a listing by the deadline (dated after it, or a month or year that ends after it) is shown but never counts as fulfilled. This does not mean the brand is not on sale; Withdrawn: a correction removed the announcement itself (same source link), or a verified delisting in the same scope, dated between the day it appeared on our site and the deadline, came on or before the first on-sale evidence.

Also counted above but not listed by name: 2 announcements about brands that are not in our public data (2 pending). Brands known only from news reports are published once a store listing is reported, so leaving these out would hide the announcements that did not come true. Their anonymous figures are in the data file.

Launch announcements and their results
BrandRetailerCountryOn our site fromFirst on-sale evidenceLeadResultSource
medicubeWalmart · planned Jun 2026USon site 2026-10-26 · entered data 2026-10-19 · backfilledno evidence by the deadline, 2026-09-28 · the deadline had already passed when it appeared on our siteno leadUnfulfilledcosinkorea.com reported 2026-05-20

Detection lag: from report to our data

Days from the date of the news report (or source) to the day the event entered our data. The daily review handles new reports; one-off batches collect older reports on purpose, so their lag is long by construction. Events about brands outside our public data are included in these figures without names.

By how the event entered our data

  • Daily review: 5 events, median 3 days, 90th percentile 6 days · not enough to draw a conclusion
  • One-off batches: 85 events, median 216 days, 90th percentile 738 days

By month the events entered our data

  • Oct 2026: 90 events, median 183.5 days, 90th percentile 731 days
All 86 events about brands in our public data (plus 4 counted without names)
Published events with their detection lag
BrandRetailerCountryReportedEntered our dataLagSource
AesturaSephoraCanadareported 2025-07-25entered data 2026-10-19 · backfilled451 dayscosinkorea.com
AesturaSephoraUSreported 2025-07-25entered data 2026-10-19 · backfilled451 dayscosinkorea.com
AMUSENordstromUSreported 2026-08-31entered data 2026-10-19 · backfilled49 daysjangup.com
AMUSETargetUSreported 2026-08-31entered data 2026-10-19 · backfilled49 daysjangup.com
AnuaUlta BeautyUSreported 2025-02-20entered data 2026-10-19 · backfilled606 dayscosinkorea.com
ArenciaTargetUSreported 2025-08-26entered data 2026-10-19 · backfilled419 daysjangup.com
BiodanceSephoraUSreported 2025-03-10entered data 2026-10-19 · backfilled588 dayscosmorning.com
Cell Fusion CSephoraUSreported 2026-08-21entered data 2026-10-19 · backfilled59 dayscosmorning.com
Centellian24Ulta BeautyUSreported 2026-05-06entered data 2026-10-19 · backfilled166 daysjangup.com
CosnoriUlta BeautyUSreported 2026-04-20entered data 2026-10-19 · backfilled182 dayscosmorning.com
Dr.FORHAIRCostcoUSreported 2023-10-12entered data 2026-10-19 · backfilled1,103 dayscosmorning.com
Dr.FORHAIRCostcoUSreported 2024-06-17entered data 2026-10-19 · backfilled854 dayscosmorning.com
Dr.FORHAIRSephoraUSreported 2026-07-29entered data 2026-10-19 · backfilled82 daysjangup.com
fweeUlta BeautyUSreported 2025-08-11entered data 2026-10-19 · backfilled434 dayscosmorning.com
GoodalTargetUSreported 2023-02-16entered data 2026-10-19 · backfilled1,341 dayscosmorning.com
HanyulSephoraUSreported 2025-05-13entered data 2026-10-19 · backfilled524 daysjangup.com
Healing BirdUlta BeautyUSreported 2026-05-08entered data 2026-10-19 · backfilled164 dayscosinkorea.com
HuxleyCostcoUSreported 2024-10-18entered data 2026-10-19 · backfilled731 daysjangup.com
IlsoNordstromUSreported 2026-07-23entered data 2026-10-19 · backfilled88 dayscosinkorea.com
IlsoUlta BeautyUSreported 2026-04-20entered data 2026-10-19 · backfilled182 dayscosmorning.com
Jung Saem MoolSephoraUSreported 2026-08-11entered data 2026-10-19 · backfilled69 daysjangup.com
KundalTargetUSreported 2026-02-01entered data 2026-10-19 · backfilled260 dayscosmorning.com
ma:nyoCostcoUSreported 2024-07-31entered data 2026-10-19 · backfilled810 dayscosinkorea.com
ma:nyoTargetUSreported 2025-02-20entered data 2026-10-19 · backfilled606 dayscosmorning.com
ma:nyoUlta BeautyUSreported 2024-04-24entered data 2026-10-19 · backfilled908 dayscosinkorea.com
medicubeCostcoUSreported 2026-10-19entered data 2026-10-19 · backfilled0 dayscosinkorea.com
medicubeTargetUSreported 2026-05-20entered data 2026-10-19 · backfilled152 dayscosinkorea.com
medicubeUlta BeautyUSreported 2025-11-20entered data 2026-10-19 · backfilled333 dayscosinkorea.com
medicubeWalmart · announcedUSreported 2026-05-20entered data 2026-10-19 · backfilled152 dayscosinkorea.com
MenokinUlta BeautyUSreported 2026-04-20entered data 2026-10-19 · backfilled182 dayscosmorning.com
mixsoonCostcoUSreported 2025-02-20entered data 2026-10-19 · backfilled606 dayscosinkorea.com
NumbuzinTargetUSreported 2025-08-26entered data 2026-10-19 · backfilled419 daysjangup.com
PeriperaTargetUSreported 2023-02-16entered data 2026-10-19 · backfilled1,341 dayscosmorning.com
RaelCVSUSreported 2024-10-28entered data 2026-10-19 · backfilled721 daysjangup.com
RaelTargetUSreported 2024-10-28entered data 2026-10-19 · backfilled721 daysjangup.com
RaelUlta BeautyUSreported 2024-10-28entered data 2026-10-19 · backfilled721 daysjangup.com
RaelWalgreensUSreported 2024-10-28entered data 2026-10-19 · backfilled721 daysjangup.com
RaelWalmartUSreported 2024-10-28entered data 2026-10-19 · backfilled721 daysjangup.com
Re:NKCostcoUSreported 2026-10-08entered data 2026-10-19 · backfilled11 daysyna.co.kr
RejuranSephoraUSreported 2026-03-17entered data 2026-10-19 · backfilled216 daysjangup.com
S.NatureNordstromUSreported 2024-11-13entered data 2026-10-19 · backfilled705 dayscosmorning.com
SKIN1004CostcoUSreported 2024-12-26entered data 2026-10-19 · backfilled662 dayscosmorning.com
SKIN1004Ulta BeautyUSreported 2024-09-21entered data 2026-10-19 · backfilled758 dayscncnews.co.kr
TIRTIRUlta BeautyUSreported 2025-08-11entered data 2026-10-19 · backfilled434 dayscosmorning.com
TorridenCostcoUSreported 2026-05-26entered data 2026-10-19 · backfilled146 dayscosmorning.com
UnoveSephoraUSreported 2026-01-26entered data 2026-10-19 · backfilled266 daysjangup.com
VT CosmeticsTargetUSreported 2025-08-26entered data 2026-10-19 · backfilled419 daysjangup.com
VT CosmeticsUlta BeautyUSreported 2025-08-11entered data 2026-10-19 · backfilled434 dayscosmorning.com
medicubeCostcoUSreported 2026-10-20entered data 2026-10-26 · backfilled6 dayscosmorning.com
RefilldUlta BeautyUSreported 2026-10-22entered data 2026-10-26 · backfilled4 dayscosmorning.com
RejuranCostcoUSreported 2026-10-23entered data 2026-10-26 · backfilled3 dayscosmorning.com
RejuranCostcoUSreported 2026-10-23entered data 2026-10-26 · backfilled3 daysjangup.com
Centellian24Shoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
Dr. MelaxinShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
Dr.AltheaShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
haruharu wonderShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
ma:nyoShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
medicubeShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
MedihealShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
MenokinShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
NumbuzinShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
rom&ndShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
Round LabShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
SKIN1004Shoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
TIRTIRShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
TorridenShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
VT CosmeticsShoppers Drug MartCanadareported 2026-10-28entered data 2026-10-28 · backfilled0 daysshoppersdrugmart.ca
belifUlta BeautyUSreported 2026-03-23entered data 2026-10-30 · backfilled221 daysgeconomy.co.kr
CNPUlta BeautyUSreported 2026-02-12entered data 2026-10-30 · backfilled260 dayscncnews.co.kr
Dr.GrootSephoraUSreported 2026-08-19entered data 2026-10-30 · backfilled72 daysddaily.co.kr
EQQUALBERRYTargetUSreported 2026-10-19entered data 2026-10-30 · backfilled11 dayseconomist.co.kr
HanskinUlta BeautyUSreported 2026-03-19entered data 2026-10-30 · backfilled225 daysmannpublications.com
I DEW CAREWalgreensUSreported 2024-10-22entered data 2026-10-30 · backfilled738 dayschaindrugreview.com
I'M MEMEWalgreensUSreported 2026-05-10entered data 2026-10-30 · backfilled173 dayslifestyle.kbew98country.com
IOPESephoraCanadareported 2026-03-16entered data 2026-10-30 · backfilled228 daysretail-insider.com
KAJATargetUSreported 2026-09-21entered data 2026-10-30 · backfilled39 daysmodernretail.co
LakaSephoraUSreported 2026-02-24entered data 2026-10-30 · backfilled248 daysretailboss.co
Milk TouchTargetUSreported 2026-10-30entered data 2026-10-30 · backfilled0 dayscosinkorea.com
MISSHACostcoCanadareported 2026-04-28entered data 2026-10-30 · backfilled185 dayscosinkorea.com
MISSHACostcoUSreported 2026-04-28entered data 2026-10-30 · backfilled185 dayscosinkorea.com
Nature RepublicCostcoUSreported 2025-05-14entered data 2026-10-30 · backfilled534 dayscosinkorea.com
NooniTargetUSreported 2026-09-18entered data 2026-10-30 · backfilled42 daysventuresquare.net
ohoraTargetUSreported 2024-02-26entered data 2026-10-30 · backfilled977 daysventuresquare.net
SulwhasooSephoraUSreported 2025-04-17entered data 2026-10-30 · backfilled561 daysapgroup.com
TOCOBOWalgreensUSreported 2026-03-23entered data 2026-10-30 · backfilled221 dayssmarttoday.co.kr
TONYMOLYWalmartUSreported 2026-05-08entered data 2026-10-30 · backfilled175 dayshankyung.com

Download the track record (JSON) every row, the anonymous figures and every date used, CC BY 4.0

Pre-registration

The rules were written down and committed before the calculation code was merged. Once on our main branch the file is frozen: each calculation reads it from the main branch and refuses to run if any commit ever changed, deleted or re-added it, and our checks refuse any edit. A change of rules can only be made by adding a new version, listed here with its date. A new version applies only to announcements published after it was registered; earlier rows keep the version that was in force.

  • Version in force: v1, read the full rules.
  • SHA-256: 65d454cbaaeafa1d041a2eff63bdb1d34c5635712c40412cbf42295efcd76dcc
  • Registered: on our main branch on 2026-10-31.

Method in short

  • Events. Every verified retail event that has ever been in our data, as first published: later edits do not change the calculation, removed lines stay counted, and event files can only be appended to. Rows are listed for brands in our public data; events about other brands are counted with the same rules and published as anonymous figures.
  • Dates. "Entered our data" is the first day the event is on the main branch of our repository (Toronto time), taken from its version history, never from file dates. "On our site from" is the next day, and not before 2026-10-26.
  • On-sale evidence. A verified report that the brand is on sale at that retailer in that country, or a listing in our data with a recorded check and a start month. A month counts from its first day. A check record without a start month only shows the latest check, so it can show the brand was already on sale but never makes an announcement fulfilled. Online-only evidence does not count for an in-store launch.
  • Lead = evidence date minus the first day on our site, in days, for fulfilled announcements only. The headline is the median.
  • Detection lag = the day the event entered our data minus the report date, for every event, always shown split by daily review and one-off batches. Median and 90th percentile (nearest rank).
  • Withdrawn only when a correction voids the announcement itself (same source, or issued after we published it). A correction that a listing is online only is not a withdrawal.

Known biases and limits

  • Backfilled rows are not an out-of-sample test: the rules were written while those events could already be seen.
  • The initial reviewed set has the date 2026-10-19 by rule, not from history, and was first shown on the site on 2026-10-26.
  • One-off batches, including the initial set, collect reports that are months or years old, so they dominate the detection lag at the start. The figures are always shown split by batch type for this reason.
  • An unfulfilled announcement means only that our data has no on-sale evidence by the deadline. The brand may be on sale without a source we have found.
  • The version history behind the dates is in our data repository, which is not public, so the dates cannot be checked independently from the repository. The data file is republished every day at the same address, so anyone can archive copies with a web archive and use them as outside timestamps.
  • If a brand leaves our public data, its rows stop being listed by name but stay counted.

Recompute the figures yourself

Download the data file and the rules file, then run this Python 3 snippet:

import json, math, statistics, hashlib
from datetime import date
d = json.load(open("data.json"))            # /track-record/data.json
v = d["prereg"]["active"]
assert hashlib.sha256(open("prereg-v%d.md" % v["version"], "rb").read()).hexdigest() == v["sha256"]
day = date.fromisoformat
a = d["announcement_lead"]
for r in a["rows"]:
    if r["status"] in ("fulfilled", "already_listed"):
        assert r["lead_days"] == (day(r["evidence_date"]) - day(r["visible_on"])).days
every = a["rows"] + a["hidden"]["rows"]     # hidden announcements count too
lead = [r["lead_days"] for r in every if r["status"] == "fulfilled"]
print("A: n", len(every), "fulfilled", len(lead), "median lead", statistics.median(lead) if lead else None)
b = d["detection_lag"]
rows = [dict(r, lag_days=(day(r["published_at"]) - day(r["reported"])).days) for r in b["rows"]] + b["hidden"]["rows"]
for kind in ("daily review", "one-off batch"):
    lags = sorted(r["lag_days"] for r in rows if r["batch"] == kind)
    if lags:
        print("B:", kind, "n", len(lags), "median", statistics.median(lags), "p90", lags[math.ceil(0.9 * len(lags)) - 1])
  • The monthly audit measures whether our listings are right. The track record measures how early we publish announcements. They are separate checks.
  • An announcement voided through the corrections process is shown as withdrawn. It stays in the table.
  • The track record does not enter any ranking and does not change any score or rank. Rankings follow only the published formula.