How HeatPumpIndex ranks companies
Last updated: By HeatPumpIndex Evidence Desk
Every company on HeatPumpIndex carries one published number out of 100, and the order of every list on this site is that number. No company can pay to move up. This page prints the whole calculation, row by row, and every figure below is read out of the code that does the ranking rather than typed into the prose.
How does HeatPumpIndex rank companies?
Each company gets one score out of 100, built from three pillars. The score is deterministic: the same data always produces the same number, and the same order. It replaced an older formula on 30 August 2026 that could only see a Google rating and how completely a Google listing had been filled in - which meant this site had read all 618 companies’ own websites and showed a reader none of it.
| Pillar | Out of 100 |
|---|---|
| Reviews and reputation | 45 |
| What it states on its own website | 30 |
| Website and record | 25 |
Reviews carry the most weight because they are the only part of the score that does not come from the company itself, and because this dataset is unusually thick with them: 4,562 stored reviews across 618 companies. What a company states on its own website comes second - heat pump work in Ontario needs a TSSA-registered contractor on the gas side and an ECRA/ESA licence holder on the electrical side, and those sentences are the closest a crawler can get to that - but it sits below reviews because it is a claim, not a check.
What is in each pillar?
Every row that can earn a point is below. Each company’s profile page prints the same rows again with the points it actually earned, so the number on a card can be taken apart against this table.
| What it reads | Points |
|---|---|
| Google star rating, blended toward the dataset average until enough reviews stand behind it (a prior of 10 votes). Scored from 3.5 stars upward. | up to 30 |
| How many Google reviews there are, on a curve that is full at 200. The two hundredth review counts for far less than the tenth. | up to 15 |
| What it reads | Points |
|---|---|
| Says it is on a named regulator's books: the TSSA, or ECRA/ESA | 12 |
| Says it holds a trade licence, without naming the registrar | 7 |
| Each trade body or manufacturer programme it says it belongs to (HRAI, the Better Business Bureau, Carrier, Lennox, Trane, NATE, Skilled Trades Ontario) | 4 each, up to 8 |
| Says it is insured | 4 |
| Says it carries WSIB coverage | 2 |
| Says it is bonded | 2 |
| How long it says it has been in the trade, full at 20 years | up to 4 |
| What it reads | Points |
|---|---|
| Its website answered when this site fetched it | up to 8 |
| It appears on Ontario's Home Renovation Savings contractor register | 8 |
| Its own website mentions heat pump work | 4 |
| It has an online booking link | 2 |
| It posts its opening hours | 2 |
| It has three or more photos | 1 |
The insurance rows together are capped at 6, and the trade body rows at 8, so a company cannot climb by listing the same kind of thing several times. The star rating is blended toward the dataset average of 4.82 stars using a prior of 10 votes: one five-star review is not a better record than two hundred reviews averaging 4.8, and the prior is what stops it looking like one.
What happens when a company’s website does not answer?
Not answering a robot is not the same as being gone, and this site scores the difference rather than flattening it. A bot block, a browser challenge, a robots.txt rule and a timeout all mean the website is working and simply declined to talk to a crawler - a person with a browser is very likely served the page normally. What loses most of the award is a domain that does not answer at all, or one that answers perfectly well with somebody else’s business, because a lapsed domain gets rebought.
| What the fetch found | Points |
|---|---|
| The website answered, and the address is one this site will publish | 8 |
| The website refused an automated fetch - a bot block, a browser challenge, a robots.txt rule or a timeout | 6 |
| The website did not answer at all, returned a not-found page, or now answers as a different business | 2 |
| There is no web address on the record | 0 |
No company is ever removed, hidden or filtered out of a list because of any of this. A company whose domain lapsed is a company with a lapsed domain, and being unreachable from a data centre is not evidence that anybody stopped trading.
What does “Says it…” mean on a listing?
It means exactly what it says and nothing more: a crawler read that sentence on that company’s own website. Nobody here rang the TSSA, asked to see an insurance certificate, or checked a register. That is why every one of those lines is worded as a report of a claim rather than as the claim itself, on the cards and on the profiles alike, and why none of them is ever set as a badge.
The sentence behind each line is not reprinted on the page, because a claim in quotation marks and a claim asserted look identical to the automated check this site runs over its own published HTML, and the right answer to a check stricter than you would like is not to loosen it. Every sentence is kept, verbatim, in the public data file the site is built from, so any line here can be traced back to the page it came from.
Two filters run before any of it counts. A sentence is only read as a company’s claim about itself when it reads that way: a blog heading telling a reader how to pick a contractor, a footer telling them to confirm a trade licence themselves, and a credential belonging to somebody else are all rejected rather than scored, because scoring them would award points for a sentence saying the opposite. And several patterns the crawler matches were dropped from scoring altogether after every hit was read - a review platform is not a body anyone joins, and a rebate programme being described to a customer is not a company saying it is on the register.
Where do the review themes on a profile come from?
Only from the Google reviews already stored against that listing. Nothing is fetched from Google to build them. Each theme comes from a fixed list of 35 plain-language themes, and each one carries the reviewer’s own sentence underneath it, printed as they wrote it. A theme with no sentence behind it is never published, and a listing with fewer than three stored reviews gets no themes at all: 38 of the 618 companies here are in that position.
The list deliberately includes themes nobody would want on their profile - work left unfinished, a disputed bill, calls that went unreturned, a mess left behind - and they are applied on the same evidence rule as the rest. A directory that only carries praise is an advertisement, not a record. Themes are a description of what reviewers kept raising, not a judgement HeatPumpIndex is making, and they earn no points in the score.
Which companies does HeatPumpIndex exclude or rank last?
HeatPumpIndex does not know which of these businesses have closed, and this page used to say it dropped them. The records behind this site were collected in August 2026 and the export carries no closed-or-open field, so nothing has ever been dropped for being closed. Check the company's own Google record before you rely on it. Companies with fewer than 3 reviews or a rating below 4.0 still get a profile page for completeness, and they still appear in their area and category lists, but they are kept out of the top-rated and best-of modules until they build a credible track record: they are never named as a top pick on an area hub and never appear in the front page's ranked eight. They are not pushed artificially to the bottom either. The rating prior above does the work on its own. With only one or two votes, a company sits close to the dataset average whatever its stars say, which is why the 41 companies below the floor currently occupy ranks 295 to 618 of 618, with nothing typed in to put them there.
Every web address on this site was fetched on August 26, 2026. 8 of 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: a lapsed domain is not evidence anyone stopped trading.
We also remove businesses in another trade that a keyword search drags in: duct cleaning companies, appliance and fridge repair shops, wholesalers who only sell to electrical contractors, solar installers and industrial equipment firms. Every removal is recorded with the rule that caused it, so any of them can be put back if we got it wrong. Email us if that is your company.
What does “heat pump work confirmed” mean on a profile?
It means one narrow thing: we read that company's own website and it says it does heat pump work. It is not a licence check, an inspection, or a sign that anyone has vouched for the company, and no company can ask for it. Of the 618 businesses listed here, 343 carry that evidence today.
A second, separate badge reads “Registered for Ontario’s Home Renovation Savings heat pump rebate”, and it means something different again: 187 of the businesses here appear on the programme's own public contractor directory. That is a membership fact, not a judgement. The programme states plainly that Enbridge Gas and the IESO do not endorse any of the contractors on it, and neither do we. It matters because a homeowner generally needs a registered contractor to claim the rebate at all. Counting both kinds of evidence together, 387 of 618 businesses have at least one; the two sources overlap on 143 of them.
The remaining 231 are heating and cooling companies in the Greater Toronto Area whose websites do not mention heat pumps either way. Plenty of them fit heat pumps; the website simply does not say so, or there is no website to read. Their profiles carry no badge at all, because an empty space is honest and a “not confirmed” label would be an accusation we cannot support. A customer mentioning a heat pump in a review never counts here: that is one homeowner's account of one job, not the company telling you what it sells. Either way, ask the company directly before you book.
Where a profile shows a quote, that text is scraped from the company's own website and is not written here. It is a window of their page around the term we matched on, left exactly as found, ragged edges and all, with the field it came from named underneath. A tidied quote would be our writing presented as theirs. Seeing the phrase we matched on lets you judge whether it means what it looks like before you call.
What are the six marks under each company name?
Every listing row shows the same six slots in the same order, one per service category this directory tracks. A filled green slot means that service is on file for that company; a faint grey slot means it is not. The order never changes, so a column of companies can be compared at a glance without reading a word.
- Slot 1: Heat Pump Installation
- Slot 2: Ductless Mini Splits
- Slot 3: Heat Pump Repair
- Slot 4: Geothermal Heat Pumps
- Slot 5: Heat Pump Water Heaters
- Slot 6: Air Conditioning
A service is on file when the company's own website names it, or when Ontario's Home Renovation Savings register records that heat pump type against the company. It is not a claim that we have seen the work. Where a company's own copy names no service at all, the row says so in words instead of showing six empty slots, because six empty slots would assert that the company does none of these things and nothing in the data supports that.
Where does HeatPumpIndex's data come from?
HeatPumpIndex pulls ratings, review counts and business details from public Google Maps profiles, then enriches each record from the company's own website for services, photos and contact details. Market pricing across 6 categories is researched separately and every figure cites a named Canadian contractor, supplier or authority, so you can trace it. We do not scrape private data or buy reviews.
How often does HeatPumpIndex refresh its data?
The current HeatPumpIndex dataset is stamped August 2026. We refresh review data and re-run the ranking on a rolling basis so positions track current reputation, and every page shows a visible last-updated date. If a business is sold, closed or corrects its details, email us and we update the record between scheduled refreshes.
What are the limits of HeatPumpIndex's rankings?
A ranking is a strong starting point, not a guarantee. The reviews are Google's, not ours, so they carry Google's own biases. HeatPumpIndex does not verify a company's licensing, insurance, or TSSA and Electrical Safety Authority credentials, and a high rank does not vouch for any single job. Always get 3 written, itemized quotes, confirm the trade licences directly, and read recent reviews before you hire. HeatPumpIndex helps you build the shortlist; the due diligence is still yours.
What the work itself requires: electrical work must be done by a licensed electrical contractor and notified to the Electrical Safety Authority, and any work on gas appliances requires a TSSA-certified gas technician. Whether a municipal building permit applies depends on the scope, so ask the contractor to confirm it and to state in writing which approvals are included. None of that is something HeatPumpIndex has checked for any company listed here.
Read about HeatPumpIndex's editorial standards