Back to Tools

Product Title Gap Analyser

Use cases

Product title optimisation Competitive content gap analysis Identifying missing product attributes Bulk title improvement suggestions

Matches products across datasets using normalised MPN (lowercase, stripped whitespace).

Uses NLTK stopwords corpus with multi-language support (EN, DE, FR, ES, IT, NL, PT).

Text preprocessing: lowercase, punctuation removal, minimum word length filter, custom stopword exclusion.

Collections.Counter calculates word frequency differences.

Streamlit App

Platform

Browser-based (no installation required)

Input

Your crawl CSV with url, h1/title, mpn columns

Competitor crawls CSV with same columns

UTF-8 or Latin-1 encoding

Output

CSV with content gaps and missing words

Launch App View Source

Features

  • MPN/SKU matching (normalised lowercase)
  • NLTK stopwords: English, German, French, Spanish, Italian, Dutch, Portuguese
  • Custom stopwords input
  • Minimum word length filter (1-10 characters)
  • Collections.Counter word frequency analysis
  • Title length gap calculation

How to use

  1. 1 Crawl your site and competitors with MPN extraction
  2. 2 Upload your crawl and competitor files
  3. 3 Map URL, H1, and MPN columns
  4. 4 Select stopwords language and add custom exclusions
  5. 5 Set minimum word length
  6. 6 Download gap analysis results

Frequently asked questions

Why do so few of my products match against competitors?
MPN matching is exact after lowercasing and trimming outer whitespace only. Formatting differences inside the value, such as dashes, internal spaces or leading zeros ('AB-123' vs 'AB123', '0451' vs '451'), are not normalised and will not match. Products with no MPN match in any competitor file are dropped from the results entirely, so a small output usually means the identifiers are formatted differently across crawls, not that the tool failed.
How does the tool find my crawl's columns?
It auto-detects columns by substring: any column containing 'url' or 'address' for the URL, 'h1', 'title 1', 'title' or 'heading' for the title, and 'mpn', 'sku', 'product_id' or 'part_number' for the identifier. If your export uses different names, or the wrong column is picked up, override the selection in the Column Mapping expander before running.
How is the Length Gap calculated?
Both your title and each matched competitor title are first stripped of punctuation, stopwords and words shorter than the minimum word length (default 2 characters). The Length Gap is the median competitor word count minus your word count on that cleaned text, and results are sorted by it descending. It can therefore differ from a raw word count comparison of the visible titles.
Why do hyphenated terms appear as one merged word in Missing Words?
Preprocessing removes all punctuation without inserting spaces, so 'heavy-duty' becomes 'heavyduty' before comparison. If competitors hyphenate a term you write as two words, it can be flagged as missing even though you effectively have it. Adding the merged form as a custom stopword suppresses the noise.
What happens when a competitor lists the same MPN more than once?
Only the first matching row from each competitor file is used for the comparison; any further products with the same MPN in that file are ignored. Deduplicate competitor crawls by MPN first if you want control over which version is compared.

Need something built for your business?

This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.

Tell Me What You Need