Niche Scorer
Type a niche and a city and get a 0-100 score for whether that local market can make money — built from live Google Ads prices, search volumes, the organic top 10 and the map pack, with every number shown.
Last updated 2026-09-14
Summary#
The Niche Scorer answers one question: will this niche actually make money in this city? You type a niche ("roofing") and a city ("Philipsburg, Montana") and get a 0-100 score with a letter grade, built from four live Google signals — what advertisers pay per click, how many people search, how open the organic results are, and how weak the map pack is. Every number behind the score is shown in the report.
Purpose#
Picking a local market is usually done on gut feel. This tool replaces the guess with measured signals: a high-CPC niche means each customer is worth real money; a map pack full of two-review businesses without websites is a gap a new player can close; a top 5 full of directories like Yelp is soft. The score condenses those four signals into one number so markets can be compared quickly, and the raw data is attached so the number can be checked.
Overview#
One run pulls three live datasets for the niche and location: Google Ads search volume and cost per click for five core terms, the organic top 10 for the main local term, and the Google Maps results standing in for the map 3-pack. Four factors are scored 0-100 each — Ticket price, Local demand, Competition, Map pack opportunity — and the overall score is their average. A written verdict walks through the same numbers in plain language, followed by the raw tables: the exact keywords with volume and CPC, and the map pack businesses with rating, review count and whether they have a real website.
Two of the five core terms are the same words in a different order, such as "roofing austin" and "austin roofing". Google treats those as one search and usually reports identical numbers for both. When it does, the pair is counted once: the second term stays in the keyword table, tagged "Same search in a different word order, counted once", and is left out of the demand total and the average cost per click. If Google reports different numbers for the two orders, both count. Reports produced before 2026-09-13 counted the pair twice, and a saved copy keeps the numbers it was produced with.
Benefits#
- A comparable 0-100 score for any niche and city pair. A fresh look usually takes about a minute, because it waits on live Google data; a niche you have already scored comes back from the seven-day cache in a couple of seconds.
- Real prices, not opinion: the ticket signal is what advertisers actually pay per click today.
- The map pack table names the current players and shows exactly how weak the weakest one is.
- Small-town safe: when Google reports no volume for a tiny location, demand falls back to the wider area and the report says so; competition and the map pack stay exact-location.
- The verdict is assembled from the measured numbers, so it can never contradict the tables below it.
Use Cases#
- Choosing a niche and city for a lead-generation or rank-and-rent site.
- A local agency deciding whether a prospect's market is winnable before quoting.
- Comparing three candidate cities for the same service to pick the softest.
- Checking how defensible your own local market is against a new entrant.
Requirements#
- A niche (a service people search for locally, like "roofing" or "med spa").
- A city, picked from the dropdown. Type the name on its own ("Cape Coral") and the list appears; adding the state or the country ("Port St. Lucie, Florida") narrows it but is never required. Forty markets are covered, not only the English-speaking ones, and each entry names its country so two cities sharing a name are told apart.
Permissions#
Any signed-in user on a paid plan. Free-plan accounts are prompted to upgrade, the same as every credit-metered tool.
Cost#
3 credits per run, charged when the report is delivered.
Scoring a niche and city you have scored before does not quietly charge you again. Your own previous runs are kept for 90 days, and the tool offers the saved copy first:
- Open saved result returns the stored report and costs nothing.
- Run fresh (3 credits) pulls new data and charges the current rate.
This tool is not in the shared cross-customer data cache, so a "fresh" run is always a real set of provider calls rather than another account's stored copy. See Saving a result for how saved results work across the platform.
Navigation Path#
Dashboard → Local (sidebar group) → Niche Scorer.
Inputs#
| Field | Required | Example | Notes |
|---|---|---|---|
| Niche | Yes | roofing | Lowercased and used to build the five core terms |
| City, state | Yes | Philipsburg, Montana | A trailing country ("USA", "UK") is recognized; without one, United States is assumed |
Step-by-Step Guide#
- Open Local → Niche Scorer in the sidebar.
- Type the niche and the city, then press Score this niche. While it runs it names what it is fetching and counts the seconds. The search volume, the organic top 10 and the map pack are requested at once rather than one after another, so there is no step-by-step progress to show, and nothing on screen claims a percentage.
- Read the score and the four factor grades first, then the verdict.
- Open the raw tables at the bottom and sanity-check the keywords and the map pack businesses against what you expect.
- Before committing to the market, search the main term yourself. The live SERP is the final word, not the score.
- Scroll past the report to Niches you have scored to reopen anything you have run before. See below.
Reading the Results#
- Overall score and grade — the average of the four factor scores. A is 85+, B 70+, C 55+, D 40+, F below 40.
- Ticket price — graded from the average cost per click across the core terms, counting a word-order repeat once. High CPC means each customer is worth real money to the business.
- Local demand — total monthly searches across the core terms, counting a word-order repeat once. Low volume only dents the grade: a high-ticket service can pay well on a few leads a month.
- Competition — how many of the top 5 organic spots are held by directories (Yelp, Angi, Thumbtack and similar). Directories are far easier to outrank than strong local sites, so more directories means a softer market.
- Who ranks organically right now — in the raw Google data at the bottom, the organic results for the main local term: position, domain, page title and a Directory tag on each directory. These are the results the Competition grade counts, tagged by the same directory list, so the tags in the top 5 always match the count. A domain opens its page in a new tab. Google often shows fewer than ten, because the map pack and the question box take places on the same first page. A score saved before this list existed shows "Run the score again to see who ranks organically for this search." in its place.
- Map pack opportunity — no map pack at all is the best case (score 95): the organic results can be owned outright. A weak pack (few reviews, missing websites) also scores high because it is beatable.
- The verdict — the same numbers in sentences, ending with an overall read.
- Reality check note — third-party Google data is never perfect; the report says so on every run.
Niche down from here#
Below the signals, Find the sub-niches inside "<niche>" opens up to eight deeper services under the one you scored, each with its monthly searches, cost per click and competition. Copy puts a term on the clipboard. Score it runs this report on that term for the same city, which is a new 3-credit run. The terms come from Google's related keyword ideas and are listed most expensive click first, because a high click price is where a customer is worth the most.
A term is listed when it contains the distinctive word of your niche and adds something to it: "tree trimming" and "emergency tree removal" sit under tree service, "roof repair" under roofing. Trade words in the niche itself (service, contractor, company, cost, quotes) do not have to appear, so "concrete contractor" lists terms like "concrete repair companies" and "concrete foundation contractors". Terms with very little search volume are left out, with the cut scaled to the niche's own volume, which keeps local firm names off the list. When your town is too small for Google to report enough ideas, the list is built from country-wide ideas instead. Several phrasings of one idea show as one row.
- "Google did not report any deeper terms under this one" means Google answered and nothing qualified. The niche is usually already specific.
- "Could not load the deeper terms from Google this time" means the request to Google failed. The rest of the report is unaffected, and running the score again retries the list.
Exporting a score#
The export row above the report downloads the score as PDF, Excel, CSV or JSON. Exporting does not cost credits. The file carries what the report shows: the niche and city, the score and grade, local demand, the average cost per click, the lead value, the verdict, each signal with its grade and the sentence under it, what the niche pays, the map pack signals, the keyword table, the organic results with their positions, domains, page titles, directory tags and links, and the map pack businesses with their ratings and review counts. The file name carries the niche, the city and the date.
- The keyword table has a Note column. A word-order variant is marked there and counted once, as it is on screen.
- The map pack signals include how many of the top 5 organic results are directories, as a count. The organic results block names them: its Type column says Directory for each one, and its URL column carries the page link.
- A report opened with View cached result includes the date it was run. A score from an ordinary run leaves the run date out, because the run may have been answered with your saved copy; the export date is always in the file.
- A value the report shows as "-", such as a missing rating, is an empty cell in the file.
- In a CSV, a business name that starts with =, +, - or @ is written with a leading apostrophe, so a spreadsheet shows it as text instead of running it as a formula.
- The sub-niche list is not part of the export.
Niches you have scored#
Under the tool is a list of your own previous scores, newest first, one line per niche and city. Each line carries the score out of 100, the grade and how long ago it ran, and offers two actions:
- View cached result reopens the stored report in the results window, the same place a new score opens. No provider call is made and no credit is charged. The report is labelled as a saved copy, with the date it was produced. It keeps working after a page refresh or when you come back to the tool later, because the list and the report are read from your saved work.
- Run fresh data re-runs that exact niche and city with new provider data and charges 3 credits. The result is labelled as a fresh pull and becomes the saved copy from then on.
Scoring the same niche and city more than once shows one line, the most recent. Every individual run is still in the Library under Saved Work, which is the full archive; this list is the shortlist of markets you have looked at.
The list is not scoped to the website you have selected, unlike the rest of your saved work. A niche is a market you are considering rather than a property you own, so scoping it to a website would hide your own research.
A run saved before the tool recorded its city cannot be re-run from this list, because the city is half the question. Those rows say so and ask you to type the niche and pick the city above instead.
Examples#
Scoring "roofing" in a small Montana town: clicks are cheap (Ticket F), volume is near zero city-wide so demand is measured wider (D), but directories hold the organic top 5 (Competition A) and the weakest map pack business has 2 reviews with none of the three having a real website (Map pack A). Overall lands mid-50s — Grade C, a mixed picture the verdict spells out.
Screenshots#
The report shows the score dial with the grade, four factor cards with bars, the verdict paragraph, the "what this niche pays" tiles when CPC supports them, the map pack signals, and the raw tables: the keywords, who ranks organically and who owns the map pack.
Tips#
- Run the same niche across three or four nearby cities; the spread is usually bigger than expected.
- A C score with an A map pack is often more winnable than a B score with an A-grade pack of 500-review businesses — read the factors, not just the overall.
- The money tiles are estimates derived from CPC; treat them as order-of-magnitude, not quotes.
Best Practices#
- Use the plain service name as the niche ("roofing", not "best roofing company").
- Include the state or region with the city so the location resolves to the right place.
- Re-run after 7 days if you are tracking a market; the underlying data refreshes weekly. Use Run fresh data on the saved line rather than retyping the niche and city.
Common Mistakes#
- Typing a keyword phrase instead of a niche — "roofing philipsburg" as the niche doubles the city into the terms.
- Reading a country-wide demand number as city demand — when the report says demand was measured wider, it was.
- Treating the score as a decision. It is a filter; the live SERP is the decision.
Limitations#
- The map 3-pack is approximated by the top 3 Google Maps results; the true pack can differ slightly by device and time of day.
- Volumes for very small towns are not reported by Google at all; the tool falls back to the wider area and labels it.
- The directory list is curated; a niche-specific directory not on it counts as a normal competitor.
- The sub-niche list only includes terms that share the niche's distinctive word. A related service worded differently, such as stump grinding under tree service, is not listed.
- One niche and one location per run; there is no batch mode yet.
Troubleshooting#
- "Google Ads did not answer just now" — Google Ads refused the live search volume request for both the city and the country-wide fallback, so there is no demand and no click price to score. Google allows only a few live requests a minute, shared across the platform. Wait a minute and score it again. Nothing is charged for a run that ends this way.
- "Could not pull live data for that niche and location" — the location did not resolve. Add the state or region ("Austin, Texas" rather than "Austin") and check the spelling.
- A keyword row shows "No data" for monthly searches — Google returned no volume for that term. It is left out of the demand total rather than counted as zero.
- Every volume shows 0 with no fallback note — the niche itself may have no search demand anywhere; try the broader service name.
- The demand total is lower than the keyword table adds up to. One row is tagged as the same search in a different word order. Google reported identical numbers for it, so it is counted once.
- "Niche down from here" says the deeper terms could not be loaded. The request to Google failed on that run. The rest of the report is unaffected; run the score again to retry the list.
- The map pack table says nothing showed — no Maps results exist for the term in that location, which the Map pack factor treats as the best case.
- "Could not load the organic results this time" — the request for the organic results failed on that run, so the Competition grade had no directories to count. Run the score again.
- Fewer than ten organic results — that is how many Google showed on the first page. The map pack and the question box take the other places.
FAQs#
Where do the numbers come from? Live Google Ads pricing and search volume, the live organic top 10, and live Google Maps results, all pulled at run time through the same data provider as the rest of the platform.
Why does demand say it was measured country-wide? Google does not report ad volumes for very small locations. Competition and the map pack still reflect the exact city because those queries carry the city in the search term.
Is the verdict written by AI? No. It is assembled from the measured numbers with fixed wording, so it always matches the tables below it.
Does reopening a saved score cost credits? No. View cached result returns the report that was already produced and charges nothing. Only Run fresh data spends credits, because only that pulls new data.
Why does the same niche appear twice in my saved scores? Because it was scored in two different cities, which are two different markets with different prices, competition and answers. The city is shown on every line.
See also
Was this article helpful?
Thanks — feedback noted for the docs team.