What is Open Trends?
A local browser app that turns Google Keyword Planner exports into theme-level trend analysis for any category. You provide the category searches and the keyword buckets (themes); it reports what is moving.
Is my data uploaded anywhere?
No. Everything runs in your browser. No data leaves your machine.
Is it free? Are there ads or tracking?
Yes, Open Trends is free and open source. There are no ads, no tracking and no accounts. You can inspect and self-host the code from GitHub.
Can I self-host it?
Yes. It is a fully static site. Run any static web server pointing at the folder, or use the included docker-compose.yml. See the README on GitHub for details.
What file formats are supported?
Google Keyword Planner exports as .xlsx, .xls or .csv, plus dictionary files as .json, .xlsx, .xls or .csv. The parser auto-detects the header row, so extra title rows are fine.
What columns does the export need?
A keyword column (Keyword, Query, Search term, ...), an AMS / average monthly searches column (optional - estimated from monthly values if missing), and monthly date columns (e.g. 2020-02-01, Feb-2020).
Can I analyse a category other than fragrance?
Yes. Open Trends is category-agnostic. Upload your own theme dictionary under Category definitions (see example-categories.xlsx / .json) and re-run. The bundled fragrance example is just a demo.
How do themes work?
Each theme is either a Boolean query (OR, AND, NOT, NEAR/n, parentheses, "phrases", * / ? wildcards, #hashtags) or a plain list of terms. Queries match against the words of each search term. Term lists use forgiving substring matching.
Why are most searches "unclassified"?
The example definitions classify a search only when it names a note. Most of a Keyword Planner export does not. That is a property of the definitions and the export, not a parsing failure. The Coverage card on the Overview tab and the unclassified CSV show what was left out and why.
Can themes overlap?
Yes. One keyword can match several themes and terms, so shares can sum above 100% and term-level volumes are not mutually exclusive. Only keyword-level tables are additive.
What do "short-term" and "long-term" growth mean?
Short-term growth compares the latest month with the start of the short window (default 12 months). Long-term growth does the same over the long window (default 48 months). Formula: (latest - window start) / window start.
What is the seasonality index?
Average volume for a calendar month divided by the average month for that theme, times 100. 100 = an average month.
How do I export results?
Use Export → Download full Excel workbook for a multi-sheet workbook, or the individual CSV/JSON buttons. The workbook includes Summary, Theme Growth, Term Growth, drivers, brands, product types, top searches, seasonality, monthly volumes and classification.
Which browsers are supported?
Modern Chrome or Edge. The app uses local file parsing and Chart.js; open index.html directly or self-host with any static server (docker-compose included).