How SolarPanelFinder ranks companies
Last updated By The SolarPanelFinder Rooftop Desk
One formula decides every position on this site, it is written out below in full, and no company can pay to change where it lands. Each company gets a single number out of 100, built from three things: what its customers say, what it says about itself on its own website, and how complete and reachable its public record is. If one solar company sits above another here, the arithmetic on this page is the whole reason.
What is the formula?
Every company gets one number out of 100. It is the sum of three pillars, each capped, and the calculation is deterministic: the same data always produces the same order, and anyone can reproduce a position on any of the 161 listings from the breakdown printed on its own profile page.
| Pillar | Worth | What it measures |
|---|---|---|
| Reviews and reputation | 40 | Google rating, adjusted for how many reviews stand behind it, plus review volume |
| What it states on its own website | 35 | Years going, licence and insurance sentences, trade bodies and installer programmes it names, online booking |
| Website and record | 25 | Whether the website answered, repeated review themes, photographs, phone, hours, stated service areas |
Across the current data the scores run from 16 to 88, with a median of 36. A low score is not an accusation. It usually means a company is young, has few reviews, or publishes very little about itself, and any of those can be true of a company that will do excellent work on your roof.
Pillar one: why adjust a star rating at all?
Because a raw average is nearly meaningless at low volume, and solar has a lot of young companies. A firm that installed its first array last spring can hold a flawless score on a handful of reviews. So every company is treated as though it began with 10 reviews sitting at the dataset mean of 4.61 stars. Thousands of real reviews swamp that prior and the score barely moves; four reviews do not, and the score is pulled toward the middle until more history exists.
adjusted_rating = (v / (v + 10)) × R + (10 / (v + 10)) × mean
where R = Google rating, v = review count, mean = 4.61
That adjusted rating is then mapped onto 26 points, from 3.5 stars at zero to 5.0 stars at the full 26. A further 14 points come from review volume on a log scale that reaches its ceiling at 200 reviews, because the difference between 3 reviews and 30 says far more than the difference between 300 and 3,000.
This is standard shrinkage, the same idea behind IMDb's Top 250. On a twenty-five year roof commitment it matters more than usual: a long, consistent review history is one of the few public signals that a company was around before your warranty started and may still be around when you need it.
Pillar two: what a company states on its own website
Every listed company that publishes a website had it fetched on August 29, 2026; 28 of the 161 companies list none, and all 161 records carry an entry either way. Where a page said something checkable about the company, that sentence was recorded verbatim alongside the finding. No sentence, no finding: nothing in this pillar is an inference, and nothing was awarded for a claim that could not be pointed at.
Read this pillar literally. It scores what a company WROTE ABOUT ITSELF and a crawler read. Nobody telephoned the Electrical Safety Authority, nobody pulled a certificate of insurance, and nobody requested a WSIB clearance. That is why every one of these lines is printed on a profile as “Says it is licensed” and never as “Licensed”. We do not check licences, insurance or WSIB coverage, and we do not visit or contact these businesses.
| What the company's own site says | Adds |
|---|---|
| Says it has been going 20 years or more | +10 |
| Says it has been going 10 to 19 years | +8 |
| Says it has been going 3 to 9 years | +5 |
| Says it has been going under 3 years | +3 |
| Says it is licensed | +4 |
| Says it is insured | +4 |
| Says it carries WSIB coverage | +3 |
| Says it is bonded | +2 |
| Each trade body or installer programme it names | +4 |
| Online booking on its own site | +3 |
Two things are deliberately NOT scored here, and both would have inflated the numbers. The first is any sentence that turns out to be advice to the reader rather than a claim by the company: a page headed “why hiring a licensed electrical contractor is important” is the company telling you to check, and scoring it would award points for the opposite of a claim. The second is a body named in passing rather than joined: a company quoting research by an industry association is citing it, not a member of it. The phrase “save on energy” was dropped entirely: in this trade it is ordinary English on almost every page, and no filter can reliably tell the two participants from the eleven mentions.
Pillar three: the website and the public record
Small additions for how complete and how reachable the public record is. Read them literally as well: each says a piece of information exists, and none says anything about the quality of an installation.
| Signal | Adds |
|---|---|
| Website answered when we fetched it | +10 |
| Website is there but turned our crawler away | +8 |
| Website did not answer, or the domain has lapsed | +2 |
| Themes its own reviewers keep repeating | +6 |
| 3 or more photographs | +3 |
| Phone number on file | +2 |
| Opening hours posted | +2 |
| Service areas stated on its own site | +2 |
What counts as a website that did not answer, and what does not.A domain that no longer resolves, refuses the connection, returns a server error or a 404, or that has lapsed and now serves somebody else's business, scores 2 instead of 10. A bot block, a timeout and a robots.txt refusal do NOT: a person with a browser is very likely served those pages normally, and one slow response is not evidence a host is gone. Those score 8, two under a site that answered, because the honest reading is that something is there and we could not see it. Calling them dead would publish a second false statement in order to correct a first one.
Review themes are worth at most 6, which is deliberately low: a company with more reviews has more themes, and pillar one has already paid for review volume. Themes that are complaints are shown on the profile but earn nothing. A company is not scored for a reviewer reporting that it stopped answering the phone, and it is not docked for it either.
What does that look like on two real-shaped companies?
Both companies below are invented, but pillar one runs through the same function the live ranking uses, on the August 2026 dataset mean of 4.61 stars. Bright Ridge is the new firm: a perfect score on 8 reviews, a young site saying little about itself. Harbourline holds 4.8 stars over 280 reviews, says it has been going a long time, names a trade body, and has a complete record. Follow what the adjustment does to each.
| Company | Rating | Reviews | Pillar 1 | Pillar 2 | Pillar 3 | Score |
|---|---|---|---|---|---|---|
| Bright Ridge Solar (example) | 5.0★ | 8 | 28 / 40 | 5 / 35 | 15 / 25 | 48 |
| Harbourline Energy (example) | 4.8★ | 280 | 36 / 40 | 22 / 35 | 25 / 25 | 83 |
Harbourline takes it, 83 against 48. The perfect five stars collapse toward the mean on 8 reviews, and the gap widens again on the two pillars Bright Ridge has not filled in yet. Note what that means in practice: a new company can close most of that distance without a single new review, by saying more about itself on its own website.
Which companies are dropped or held back?
None are dropped, and this page used to say otherwise. That matters in solar more than in most trades, because a company that has wound up cannot honour the workmanship warranty it wrote. The records behind this site were collected in August 2026and the export carries no closed-or-open field, so nothing has ever been dropped for being closed. Check the company's own Google record, and its standing with the Ontario corporate registry, before you sign. A company with few reviews keeps its profile and its place in every list: nothing is filtered out and there is no minimum rating. What thin review history does is shrink pillar one toward the dataset mean, so such a company usually scores lower and therefore sorts lower. It is an effect of the arithmetic, not a rule applied on top of it.
A company whose website did not answer is not removed either, and never will be. Being unreachable from a datacentre is not evidence that anyone stopped trading: the domain may have lapsed while the business carries on, or the block may simply be aimed at crawlers like ours. It costs points in pillar three and nothing else.
Every web address on this site was fetched on August 26, 2026. 19of them are not linked from their profile: the domain no longer answers, or it answers with a business that has nothing to do with the listing, because a lapsed domain gets rebought. A bot block, a slow response or a “coming soon” page is not counted, because none of those is evidence a site is gone. The company stays listed either way.
Where does the data come from?
Ratings, review counts and business details are read from public Google Maps profiles. Pillar two is read from each company's own website, fetched by our own crawler on August 29, 2026, respecting robots.txt. The review themes on a profile are counted out of the reviews ALREADY STORED on that record, the ones printed on the same page, against a fixed list of 31themes, with the reviewer's own sentence shown beside each one. Google is never crawled for reviews. Pricing for the 8 cost guides is researched separately, and every figure is quoted from a named Canadian contractor, supplier or authority next to the number itself. Nothing private is collected and no reviews are purchased.
Is any of this written by AI?
Yes, and it should be said plainly rather than buried. The listing data is collected by automated scraping of public sources and by matching those records against each company's own website. The score is arithmetic, with no model involved in the number. The review themes are the one place a language model reads free text, and it is constrained hard: it may only choose from a fixed list of themes, and every theme it assigns is thrown away automatically unless the quote it gives is found word for word in that company's own stored reviews. The editorial writing, meaning the category pages, the cost guide copy and pages like this one, is drafted with AI assistance and then reviewed by The SolarPanelFinder Rooftop Deskbefore it is published, with every price checked back against the source it is attributed to. No article, review or profile here is written under a person's name, and no reviewer or author is invented.
How often is the data refreshed?
The dataset in front of you is stamped August 2026, and the website findings were read on August 29, 2026. Review data is re-collected and the score re-run on a rolling basis, so a company that has gained or lost reviews since that stamp will not show the change until the next pass, and every page carries its own last-updated date rather than one site-wide claim. If a business has been sold, closed or listed wrongly, email the research desk and the record is updated between refreshes.
Report something that is out of dateWhere does this ranking stop being useful?
It builds a shortlist. It does not tell you who should put panels on your roof. The reviews are Google's and carry whatever bias Google's reviews carry, and a company's rating says nothing about whether it sized your array sensibly or wired it to code. Pillar two is worth 35 points for sentences a company wrote about itself, which means a company that writes well about itself scores above one that does the same work and says nothing. That is a real limitation of this method and not a hidden one. We do not check licences, insurance or WSIB coverage, and we do not visit or contact these businesses. Get at least three written quotes for the same system size, ask each installer for its ECRA/ESA licence number, insurance and WSIB clearance, and confirm them yourself. The shortlist is ours, the decision stays yours.
Read the editorial standards behind thisRead the ranking, then see the list it produces
This site does not take quote requests and passes nothing to anyone. Every profile shows the company's own phone number and website, so you contact whoever you want to, directly.