How We Check Prices, Renewals and Limits
We separate three things: what a provider publishes, what we observe, and what we calculate from those observations. Reading a price from a pricing page is an observation of the published offer, not a test purchase. A TLS result describes the connection we tested, not every connection to that website. A robots.txt result describes the rule a website publishes, not whether crawlers obey it.
Every answer states its date, its source and the conditions of the check; every price also states its currency and billing period. Calculations show their inputs and formula.
The publisher pays for every check. No provider pays us, approves our results or sees them before publication.
On this page
Four data statuses
- Observed. We read or tested the value ourselves on the date shown. A price read from a provider's public pricing page is observed: it shows what the page displayed on that date.
- Published by the source. The value comes from the provider's own words, for example where a company says it is based. We quote it with a link; we did not test it.
- Calculated. The value is derived from observed values by a stated formula, for example an annual price divided by 12, a total over three years, or an approximate US dollar equivalent. Each input keeps its own status.
- Unknown. A value we have not recorded is shown as Unknown, never as zero; the reason is shown next to it.
What one check records
date, country, value, status, source and quote
Each check produces one record. It keeps:
- the question it answers, in plain words;
- the date of the check and the country in which the value was shown;
- the value and its unit, with one of four data statuses;
- the source address and, where the source is text, a short verbatim quote;
- which edition of the section method was used.
These records are in the JSON and CSV files of each record page; the data downloads page describes the fields.
Other labels on comparison rows
Published price, Tested, our USD conversion
Comparison rows on record pages use a few more labels. Published price or Stated by the source is what the provider's page says. Tested is the result of our own technical test, such as a TLS handshake. In USD (our conversion) is a price we converted from the currency the page showed. A real price of zero is shown as free.
Claims and observations
a provider's claim and our result side by side
Some checks can test a claim directly. A TLS handshake shows which key exchange a website actually negotiated; a robots.txt file shows which rule applies to a named crawler. Where a provider has made a claim about the same thing, we show the claim and our result side by side.
Most prices have a single source: the provider's own pricing page. There, the claim and the observation come from the same page, so agreement between them proves nothing by itself. We show what the page said and when we read it, and we do not present this as a separate check of the claim.
Sources and quotes
a link for every value, quotes of up to 200 characters
Each value links to the page it came from. Where the source is a page of text, the record includes a short verbatim quote, up to 200 characters, showing where the number or rule appears.
If a value is disputed, we can show what the page said on that date. That shows what the provider published, not that the provider's statement is true.
What a plan includes. Where a card or comparison lists what a plan includes — websites, storage, a bundled domain, mailboxes, the renewal term; vCPU, memory, disk and transfer for a VPS; the billing unit, minimum seats, seat steps and included users for software plans — every line is the provider's own wording from the same pricing page we read for the price, quoted verbatim (up to 200 characters) with the date of that reading. We do not take these from reviews or other sites and do not fill gaps: what the page does not say is shown as "not stated on the pricing page"; a plan we have not read for this is shown as "not recorded". Plan contents are published as stated, not measured.
Prices by country
country and date on every price, tax as the page states it
Providers can show different prices, currencies, taxes and offers depending on where a visitor is. Every price on this site therefore says in which country it was shown and on which date, and a record is compared only with earlier readings from the same country, so a difference between countries is never counted as a price change. A reader in another country may see a different amount or currency.
We record each price in the currency the page showed: often US dollars, sometimes euros or Swiss francs. Where a page shows only a "$" sign, we use the currency the page itself names, such as US, Canadian or Australian dollars; if the page does not say, no value is recorded. Where we add an approximate US dollar figure, it is marked as our conversion and uses the European Central Bank reference rate for the stated date. A movement in exchange rates on its own is not a price change.
We do not add or remove taxes. Each price says whether tax is included, as the page states it: included, before tax, or not said on the page; where the page does not say, we do not assume tax is excluded. Each value is the one the page showed for the stated country on the stated date: without logging in, without a shopping cart and without coupons.
How often we check, and what counts as a change
once a day; a change needs a second day
Each plan or website is checked once a day.
A change is counted only after a later check, on another day, shows the same new value. A price move of less than 1%, or a value that goes back to its earlier level within 7 days, is kept in the record's data file but does not appear as a change.
A price that moves more than 50% away from the value shown, up or down, is held back until checks on two different days return the same price. Until then the page keeps the earlier value with its date, and the move is shown only once it is confirmed.
A plan added after a section started appears as "Added to tracking" with its date; that is not a price change.
How we choose what to track
fixed lists, no paid inclusion
Caliper Press chose every list when each section was set up. No provider asked to be included, and none paid to be included. We started from well-known providers in each category and kept the plans whose public pricing pages can be read without logging in. Pages that do not show a price as text were left out or kept with an Unknown result and its reason.
- Web hosting and VPS: shared, managed WordPress, cloud and VPS plans from well-known providers, as listed on their pricing pages on September 28, 2026.
- Domain names: standard, non-premium names in a fixed set of extensions (.com, .net, .org, .io, .ai, .dev, .app, .co, .fi, .de) at a fixed set of registrars.
- Software subscriptions: paid plans of widely used services in categories such as notes, team chat, design, email marketing, website builders, project management, password managers and backup. Monthly and annual billing are tracked separately. Free plans are not included.
- AI crawler rules: a fixed editorial list of well-known websites, including news sites, reference sites, shops, forums and online services. It is not a random sample or a traffic ranking.
- Post-quantum TLS: a fixed editorial list of hosts, including well-known websites, banks, EU and Finnish public bodies, CDN providers and webmail services. It is not a random sample.
Other sections describe how their lists were chosen on their own methodology pages, linked at the end of this page.
How a plan joins or leaves a panel
past records are kept
A plan joins when its price can be read reliably from the provider's public page. It appears with the date it was added. A plan added after a section started counts in comparisons over time, such as indices and lists of price changes, from the calendar month after its first check, so a newly added lower-priced plan does not look like a fall in market prices.
A plan leaves when the provider stops selling it, when its price can no longer be read reliably from the page, or when the source's terms do not allow its pages to be read this way. Its past records are kept, not deleted. A provider's request does not add or remove a plan; reported errors go through corrections.
Calculations and indices
formula, inputs, sample size and range
Every calculated value shows its formula and inputs. The payment at purchase is calculated from the published price and the billing term, for example a monthly price multiplied by the number of months billed upfront. How the term is billed is read from the provider page: billed at once for the term, billed monthly with a minimum term (then the payment at purchase is the first month), or billed monthly with no minimum term. If the page does not say, we show no payment at purchase, only the monthly price. It is not a checkout total: fees and coupons are not counted, and tax is counted only as the page shows it. The average per month is shown separately. If a provider does not publish a renewal price or term, we say so and either state the assumption we used or leave the total Unknown.
An index or summary figure states its sample size (N), the observed range and the date. The range is the lowest and highest value in that sample, not a statistical confidence interval. Indices and counts of price changes are calculated on a fixed panel of plans, as described above.
How the checking is done
reading rules, checks before publication, corrections
We check every page once a day and keep each reading with its date and source. Totals and comparisons are calculated from those readings.
These are the control points:
- Strict reading rules. Each value is read by a rule tied to a named plan and billing term on a specific page. If the page changes so that the rule no longer matches, or the page shows conflicting prices, the result is Unknown with a reason, not a guess. Earlier readings stay in the history with their dates.
- Checks before publication. Every number on a page is checked against its record before publication, together with its date, method link and source link.
- Corrections. Readers and providers can report errors. Confirmed errors are fixed and logged on the corrections page.
What we do not measure
no purchases, speed, uptime or quality scores
We do not buy plans, use accounts, or test product quality, speed, uptime, support or security. A post-quantum TLS result is not a security rating, and a robots.txt result does not show how crawlers behave. We do not publish quality scores. If we ever do, the page will describe the procedure in advance: who chose the tasks, how results were scored, and every attempt, including unsuccessful ones.
Versions and limits
method versions and limits across the site
Each section's method has a version number, and each record carries the version used. When a provider redesigns a page, we update the reading rule; if that changes what the reading means, the method's version number changes too. Each section's method lists its instruments, exclusions and known limits.
Limits that apply across the site:
- each price is the price shown in the stated country on the stated date;
- public pages, without login, shopping cart or coupons;
- a value that a page does not show as text stays Unknown, with its reason;
- coverage is a selected sample, not the whole market;
- history begins on September 27, 2026, later for some sections.
Corrections
a public record of every fix
To report an error, see corrections. Corrected values keep a public record of what changed and why.