Methodology
How we read the USPTO record.
Every chart, ranking, and tool on TrademarkMind is built from the same underlying dataset: USPTO's public bulk trademark feed, ingested daily, normalized, and queried directly. This page documents that pipeline so you can verify our work, and so you know exactly what we are and aren't claiming.
Source feed
USPTO publishes daily bulk XML files describing every change to every U.S. trademark application and registration (the "TRTDXFAP" feed). These files are the canonical source of truth: what trademark attorneys actually work with internally. Our pipeline downloads each daily file, parses it, and upserts the changes into our database keyed on trademark serial number.
Refresh cadence: daily, typically within a few hours of USPTO's evening publish. Last successful sync: .
International (Madrid) feed
International registrations come from WIPO's Madrid Monitor daily ST.96 files, applied in date order into a separate table keyed on international registration number.
For each registration we read the current designated countries and the chronological event history from each designated office. A designation is counted as refused only when a total refusal stands. A provisional refusal that is later followed by a grant of protection or a reversing decision is recorded as overcome, not as a refusal, because most offices issue provisional refusals routinely.
Outcome rates are measured on a resolved cohort, registrations registered 2019–2022, because younger designations still sit in examination (a provisional refusal can take a year or more to be recorded as overcome) and older ones are increasingly dominated by post-grant cancellations such as the U.S. §71 lapse; invalidations are excluded from refusal counts for the same reason.
Volume figures (registrations on record, top classes, origins) are corpus-wide. The registration itself is treated as live until its expiry date passes. Refresh cadence: daily, 30 minutes after WIPO publishes the day's file.
Normalization decisions you should know about
Owner deduplication
USPTO records are filed by humans, and they're inconsistent: the same company can appear as "Apple Inc.", "Apple Inc", "APPLE INC.", or "Apple, Inc." across different filings. Without normalization, a single company looks like four separate owners. We resolve duplicates with a canonical-slug redirect table: each variant maps to a single canonical owner record. This is conservative: when we're not confident two records are the same entity, we keep them separate. The deduplication is incomplete by design.
Trademark counts
When we count "trademarks owned by X," we count each unique serial number, not each application event. A single mark with multiple amendments still counts as one. Counts include both registered and pending applications unless explicitly stated otherwise on the page.
Status mix calculations
We map USPTO's 96 status codes into four categories: Live (registered & in force), Pending (still in examination or opposition), Abandoned (applicant gave up or didn't respond), Cancelled (registration ended after issue). The mapping is opinionated: borderline statuses go where their practical effect falls, not where USPTO's own categorization puts them. Full mapping is in our status code guide.
Time-series filtering
Charts that show filings-over-time exclude trademark records with null filing dates. These are typically backfile records, older registrations migrated from paper. Including them would skew earlier years. This means our pre-2005 numbers undercount actual activity by an unknown but small amount.
Hidden records
A small number of records are flagged as "hidden" in our database, typically administrative deletions or duplicates from USPTO's own data hygiene. We exclude these from public counts. If a number on the site differs slightly from USPTO's own published total, this is usually why.
Computing trends
Trend percentages are computed against the same-month-previous-year figure when seasonality matters (e.g. monthly filing volume), against the previous calendar year for annual comparisons, and as rolling 90-day averages when smoothing out reporting noise. We don't smooth without saying so.
Approval rate
Approval rate is the share of decided applications that reached registration: marks still registered plus marks that registered and were later cancelled or not renewed, divided by those two plus abandoned applications. A registration that has since lapsed still counts, because the application itself succeeded.
Pending applications are left out because they haven't been decided. The same definition is used on every page, from one shared calculation. A "5-year-cohort approval rate" measured 5 years out is the most stable number; that's our default.
Known limitations
- We do not have access to USPTO's internal correspondence or examiner communications, only what's in the public XML feed.
- Our owner deduplication has both false positives and false negatives. We err toward false negatives (treating duplicates as separate) because it's harder to detect and correct false merges than false splits.
- Backfile records (very old paper filings migrated into the system) often have incomplete fields. Where we report "unknown" or exclude them, that's why.
- Industries are not in the USPTO data. We infer them from Nice class which is approximate. Class 9 is "technology" only loosely.
- The narrative claims on each page are our own interpretation of the data, not USPTO's. We sign every interpretation.
Corrections policy
If you find an error (in a number, a chart, a narrative claim), write to hello@trademarkmind.com. We correct in place and add a note at the bottom of the page describing what changed and when. Major corrections also go to the email subscriber list.