How we get our numbers
Where each number comes from, how often we check it, the checks it passes before it goes up, and what happens when a source is late.
Last updated
Every number comes from the organisation that publishes it, is checked by a script and against the last reading, and goes up with the time we checked it. If something looks wrong, a person looks before it is shown. If a source is late, the page says so.
Where the numbers come from
We take each number from its primary source: the government agency or company that sets it or publishes it first. Interest rate benchmarks come from MAS. CPF rates come from CPF Board, tax rates from IRAS, COE results from LTA, prices and population from SingStat, and bank rates from each bank’s own rates page.
We do not copy numbers from other comparison sites, forums or news reports. When a news story is the first to report a number, we wait for the official release and use that.
The full list of sources, what we take from each and how often, is on Sources.
How often we check
Each number is checked on its publisher’s timetable, not on a fixed one. SORA is checked every working day. T-bill results are checked after each auction. COE results are checked after each bidding exercise. CPF interest rates are checked each quarter, and tax rates when IRAS changes them.
Every tracker page says when it is checked and shows the date and time of the last check, in Singapore Time (SGT, UTC+8). The exact times, the last read of each, and the facts we check by hand are on our Update schedule.
The checks before a number goes up
A scheduled job fetches each number. Before anything is published, the job checks that:
- the source answered, and the answer looks like the page we expect, not an error page or a redesign;
- the number falls within sensible limits for that series (a savings rate of 40% is a parsing error, not news);
- the change since the last reading is not larger than that series normally moves. A large move is held until a person has compared it with the source;
- the date on the reading is newer than the one we already have, so an old page can never overwrite a new number.
If a check fails, the last good number stays up with its original check time, and we are alerted.
When a source is late or wrong
We never fill a gap with an estimate. If a source has not updated when it should have, the page shows the last official number, with its date, and a note saying the source is late. If a source corrects its own figure, we update ours and say so on the page.
Estimates
A few numbers are worth knowing before the official one is out, such as next month’s Singapore Savings Bond rates. We show an estimate only when all of these hold:
- it is worked out with the agency’s own published method, from the agency’s own data;
- it is labelled “our estimate” wherever it appears, next to the date the official number is due;
- the same method, run on past months, has landed close to what the agency announced. If it stops doing so, the estimate is taken down automatically;
- every estimate we showed is kept and scored against the official number, in public, on the same page.
An estimate is never used to fill in for a late official number, and is replaced the moment the official one is out.
How the calculators work
Calculators use Singapore’s own rules: CPF age bands and wage ceilings, IRAS tax brackets and reliefs for the current year of assessment, and HDB and LTA rules where they apply. Rates that move, such as SORA, T-bill yields and CPF interest, come from the same trackers as the rest of the site.
Where an agency publishes worked examples (IRAS, CPF Board, HDB and LTA all do), our calculator must reproduce every one of them exactly. These examples are run as tests each time a calculator changes, and the page shows the working, step by step, so you can check it yourself.
What we keep by hand
Not everything can be read by a script. Some rules change only once a year, in a PDF or a press release: tax bands and reliefs, stamp duty tiers, CPF contribution rates and retirement sums, IPPT score tables. Some lenders and banks block automatic reads, or post their offers only as images. These we read ourselves, from the publisher’s own page, and type in.
Each one is held to the same standard as an automatic read:
- it is stored with the date we read it and a link to the page we read it from, and the page shows that date;
- it has a re-check booked: weekly for lenders’ and banks’ offers, after each Budget or announcement for rules. Right now that is 241 facts across 68 pages;
- a rule with a start date (a new tax year, a stamp duty change) is entered ahead, with that date, so the page switches on the day and not when we get round to it;
- a bank promotion read by hand stops showing 14 days after its last check, instead of staying up unchecked.
Every one of these, with its source, last check and next due date, is listed week by week under Checked by hand on our Update schedule.
History and downloads
Every reading is kept. That is what lets each tracker show a chart, a table and how today compares with the last year. Long series can be downloaded from Data downloads, with a note on how to cite them.
Mistakes
When we get a number wrong, we fix it as soon as we know, and we log it on Corrections: the date, what was wrong, and what it says now. Changes to pages are logged on What’s new. If you spot something, please tell us.
Independence
No bank, agency or product pays for a number, a ranking or a place on a page. The order of any table is set by the number itself (highest rate first, for example), never by a commercial deal. How the site pays for itself is on About.
Corrections to this page
How we get our numbers said calculator rates are never typed in by hand. Rules that change once a year, such as tax bands, stamp duty tiers and IPPT tables, are, and so are a few banks’ offers. A new section says which, how each is dated and re-checked, and counts them from the update schedule: 192 today.
Every correction to the site, with its date, is on Corrections.