How GLP Index checks prices
The method behind every number on GLP Index, in plain steps.
Where the prices come from
The price team records the price shown on each pharmacy website for each dose, customer type and plan.
A pharmacy appears on GLP Index only when at least one of its prices is live. A price which is not live is left out.
Which price we show
- First order: the total a new customer pays for a one month supply, delivery included, after any automatic first order discount.
- Ongoing: the total a returning customer pays per month.
- Retail: the list price before any discount, without postage.
- Retail delivered: retail plus the pharmacy's standard postage. A blank postage value counts as free.
Every term has a plain definition in the glossary.
How we work out the lowest, median and highest
For each dose we take every live first order price and report the lowest, the median and the highest. The median is the middle price once all prices are sorted. With an even count, the median is the mean of the two middle prices. We only count pharmacies which list the treatment as offered.
How we rank pharmacies
Rank uses the first order price at one dose. Equal prices share a rank. Partnerships never change a rank. The league table averages each pharmacy's position across every dose the pharmacy prices.
How we add up three and twelve months
Cost plans use one pharmacy from start to finish. Month one is the Step 1 first order price. Each later month moves up one step and uses the ongoing price, or the first order price where the pharmacy lists no ongoing price. After the top dose the plan holds the top dose. A pharmacy missing a dose in the plan is left out of the total.
How the GLP Index figure works
The GLP Index figure tracks the whole market in one number. For each dose we divide today's median first order price by the median on the base day, the first day we tracked prices. The figure is the average of those ratios, multiplied by 100. A figure of 100 matches the base day. A figure of 97 means the typical median sits three per cent lower.
Quality checks
- An ongoing or retail price under half the first order price is treated as a keying error. We hide the value and fix the record at source.
- The build compares each export with the one before and flags a sharp fall in row counts before anything is published.
- The build stops when a page breaks a house rule, for example a treatment name on a code page or a broken internal link.
- Every page, file and API response carries the export time and a dataset ID, so any figure can be traced to one export.
What the data cannot tell you
- A price is a snapshot. A pharmacy can change a price between two exports.
- Checkout totals can differ when a pharmacy adds a fee or ends a deal. Confirm the total before you pay.
- Trustpilot scores and delivery options come from our database and can lag the live source.
- We record the registration number a pharmacy publishes. We do not inspect pharmacies or judge clinical care.
- Price says nothing about whether a treatment suits you. A UK prescriber decides.
How codes work here
Codes sit on a separate page for each pharmacy. Each code gets a letter card. The pharmacy prices page tells you which card fits each treatment. We copy each code from a live partner page and check the exact spelling.
Update schedule
We export fresh data at 07:00 and 19:00 UK time, every day, and rebuild the whole site on each export. The time at the top of each page shows the export time, never the time of a later rebuild. This export: .
Corrections
When a price is wrong we fix the record at source and the next export carries the fix to every page and file.
Sources and checks
- General Pharmaceutical Council registers: check any pharmacy by registration number.
- General Pharmaceutical Council: buying medicines safely online.
- NHS England: weight management injections.
- GLP Index methodology: how each price is recorded, checked and ranked.