// Adds dimensions UUID, Author and Topic into GA4
Thursday, September 24, 2026
29.6 C
Singapore

Foreign & new citizens’ population increased 7 times more than “real” citizens?

By: Leong Sze Hian

I refer to the article “Singapore’s population hits 5.61 million in June, with more births, maids, long-term visit passes” (Straits Times, Sep 27). It stated that “On the whole, the citizen population grew by 1 per cent from June 2015 to June 2016. The non-resident population grew by 2.5 per cent over the same period, to 1.67 million people. The bulk of this growth came from foreign domestic workers and dependents on long-term visit passes, said the report.”

Citizen population grew by 33,900, but 20,815 new citizens granted? 

The citizen population grew last year by 33,900 (3,408,900 – 3,375,000). However, 20,815 new citizens were granted in 2015.

“Real” citizens increased 13,085?

So, does this mean that the net increase in “real” (non-new) citizens was only about 13,085 (33,900 – 20,815) (citizen births – citizen deaths – increase in Singaporeans overseas) for the year?

New citizens outstripping “real” citizens?

If so, then the annual increase in new citizens may be outstripping that of “real” (non-new) citizens by about 7,730 (20,815 – 13,085) a year. Does it mean that “the citizen population (which) grew by 1 per cent” comprised about 0.61 and 0.39 per cent for new citizens and “real” (non-new) citizens, respectively?

Foreigners increased 41,400? 

The foreign population increased last year by 41,400 (1,673,700 – 1,632,300) and the PR population decreased by 3,100 (527,700 – 524,600). So, the net increase in the non-citizen population was 38,300 (41,400 – 3,100). Foreigners increased 3 times more than “real” citizens?

Foreigners + new citizens increased 4.5 times more than “real” citizens?

Does this mean that the non-citizen plus new citizen population growth of 59,115 (20,815 + 38,300) may be outstripping the “real” (non-new) citizens’ growth by 46,030 (59,115 – 13,085)?

In other words, both the new citizens (20,815) and non-citizens’ population (38,300) growth may be increasing at a much faster rate than “real” (non-new) citizens (13,085).

Citizen population increased 301,000, but new citizens increased 174,738?

From 2006 to 2016 – the citizen population increased by 301,000 (3,408,900 – 3,107,900). However, 174,738 new citizens were granted from 2007 to 2015.

New citizens outstripping “real” citizens?

So, does it mean than the average increase in “real” (non-new) citizens per year was only about 126,262 (301,000 – 174,738 divided by 9 years)? In other words, does it mean that new citizens granted (174,738) was at a much higher rate and quantum than “real” (non-new) citizens (126,262)?

378,609 new PRs were granted?

From 2007 to 2015 – 378,609 new PRs were granted.

PR population increased by 106,600?

Foreign population increased by 798,300?

From 2006 to 2016 – the PR population increased by 106,600 (524,600 – 418,000) and the foreign population by 798,300 (1,673,700 – 875,400).

Non-citizen population increased by 904,900 – 7 times more than “real” citizens?

In other words, the non-citizen population increased by 904,900 (798,300 + 106,600) against citizens’ (including new citizens) increase of 301,000 or “real” (non-new) citizens’ increase estimated at 126,262.


*Note: As some of the figures given in the report are from January to December and some from June to June, and some are from 2006 to 2016 and 2007 to 2015 – the above are estimates.

Hot this week

Indonesian woman makes second appeal to fund S$82K SMU MBA after first drew backlash

From a Threads post.A woman who was accepted at SMU's MBA programme but does not have enough money to attend is asking others for support

10 months’ jail for technician in Singapore who stole red envelopes with NTUC vouchers, almost S$2K in cash

A building technician was jailed for 10 months after returning to OCBC Centre to steal more red packets eight days after his first theft.

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks