How we collect vet prices

Every figure on this site is a price a practice published itself, on its own website, on the date shown. Here is where the practices come from, how their price lists are read, how the typical prices are worked out, and what happens when something is wrong.

1. Finding every practice

The list of practices is built from three places: the big groups' own "find a practice" pages, Google Maps, and OpenStreetMap's record of veterinary premises. Each practice is placed by its postcode using the ONS postcode directory, which gives its council area, county, region and nation. The town is the one in its own address. Who owns it comes from the group that lists it or from the ownership statement on its website.

Not everything that calls itself veterinary is a vet practice. Veterinary physiotherapists, laboratories, vet schools, recruitment agencies and several football teams called "Vets FC" all turned up in the list at one point. They are filtered out by name, because the map category turned out to be less reliable than the name: it filed one of the country's biggest referral hospitals under "Education Centre".

2. Reading each price list

For each practice we fetch the home page and look for a link that says "prices", "pricing" or "fees", which is the wording the rules require. We fetch that page, whether it is a web page or a PDF. Some practices, Vets4Pets and Medivet among them, only draw their prices on the page with JavaScript, so for those we load the page in a real browser first.

The page's text is then read into the 36 standard lines by a language model that is given the standard list's own wording, the weight band definitions and strict rules: one price per line and per size of pet, a "from" price kept as "from", a range kept as a range, plan-member discounts ignored, nothing invented. Each line is stored with the exact text it came from, a confidence score and the date. Lines the model is unsure about are held back rather than shown. Where a group publishes its fees in a structured form, as CVS does, we read that directly and no model is involved.

Every practice is re-read at least monthly, the big chains weekly, and daily around the two deadlines. A page that has not changed is not re-processed. A price that has changed is recorded with the old and new figures, which is how the change log is built.

3. Typical prices, towns and the index

Town, county, regional and national figures are medians: the middle price among the practices that publish that line for that size of pet. Half charge less, half charge more. A median needs at least three prices before we show it, because fewer than that tells you nothing. The monthly Vet Price Index is the national median per line and size on the first of each month, split between practices owned by a business with 15 or more practices and everyone else.

4. Ratings

The rating on each practice page is Google's, shown with the number of reviews behind it, and it is labelled as Google's wherever it appears. We do not copy the reviews. Our own reviews, where a practice has any, are shown separately and follow published rules.

5. Who has published

The tracker records, for each practice, whether its website has a price page, whether that page is one click from the home page, whether the link uses the required words, how many of the 36 lines it carries, and whether it also has a flea and worm list, care plan information and an ownership statement. We report what we found on the date we looked, in neutral words: "no price page found" is a fact about our reading, not a finding that a practice is breaking the rules.

6. When a price is wrong

Reading thousands of differently laid-out web pages will produce mistakes. Every page has a link to report one. Reports from practice staff are checked first, and the source is re-read within two working days. A price far outside the national range for its line is held for a person to look at before it appears. If you spot something, tell us.

7. What we do not do

We do not rate practices, take payment for placement, or change a practice's figures at its request without re-reading the source. Practices can verify their listing free of charge for a verified mark and faster corrections.