A Singapore Government Agency Website
Official website links end with .gov.sg
Government agencies communicate via .gov.sg websites (e.g. go.gov.sg/open). Trusted websites

Secure websites use HTTPS

Look for a lock () or https:// as an added precaution. Share sensitive information only on official, secure websites.

Scam alert

Government officers will never ask you to send money or share your details over the phone. When unsure, hang up and call Scamshield at 1799.

Sign up here for higher rate limits, priority support and maintenance notifications.

 

Primary Enrolment by Level and Stream

Data from Jan 1980 to Jan 2025

Last updated: 02 Jan 2026, 15:50 SGT

MOE (Ministry of Education)

(1) The channelling of Primary 3 students into Primary 4 Normal, Extended and Monolingual streams was replaced in 1992 by channelling at Primary 4 into Primary 5 EM1, EM2 and EM3 streams.

(2) Total primary enrolment includes Primary 7 and Primary 8 students from the Extended and Monolingual streams.

(3) Since 2004, the distinction between the EM1 and EM2 streams have been removed and schools were given the autonomy to decide on how best to band their students by ability, in ways that added the most educational value. Since 2008, Subject-based Banding was introduced for the Primary 5 cohort and streaming was removed. With Subject-based Banding, students are able to offer a mix of Standard- or Foundation-level subjects depending on their aptitude in each subject.

Data explorer

PrimaryEnrolmentbyLevelandStream.csv (882 rows, 24.7 KB)

Year
Year (YYYY)
Sex
Text
Stream
Text
LEVEL
Text
ENROLMENT
Text
(Null)0.0%
19843.6%
19853.6%
19863.6%
19873.6%
(Null)0.0%
F50.0%
MF50.0%
(Null)47.8%
Extended12.7%
Monolingual12.2%
Normal7.5%
EM37.3%
(Null)0.0%
Primary 521.8%
Primary 621.1%
Primary 415.4%
Primary 110.4%
(Null)0.0%
1980MFPrimary 146377
1980FPrimary 122460
1980MFPrimary 249655
1980FPrimary 223800
1980MFPrimary 347495
1980FPrimary 322595
1980MFExtendedPrimary 44670
1980FExtendedPrimary 41657
1980MFMonolingualPrimary 42189
1980FMonolingualPrimary 4650

Column legend

Title
Column name
Data type
Unit of measure
Description
YearyearYear (YYYY)--
SexsexText--
StreamstreamText--
LEVELLEVELText--
ENROLMENTENROLMENTText--
Google colab link
Analyse this dataset with Colab Notebook
  1. 1. Copy this dataset ID: d_8f8256f8af68bfbb63ae449c6546c34f
  2. 2. Click on the button below

Sample OpenAPI query

This code can be used to test a sample API query. It retrieves the data catalogue of this dataset. For a complete guide on query parameters and syntax, please refer to the API documentation. Try it out on your browser to see the response schema.

import requests
          
dataset_id = "d_8f8256f8af68bfbb63ae449c6546c34f"
url = "https://data.gov.sg/api/action/datastore_search?resource_id="  + dataset_id 
        
response = requests.get(url)
print(response.json())

Citation

This dataset can be reused and cited in research publications.

Ministry of Education. (2026). Primary Enrolment by Level and Stream (2026) [Dataset]. data.gov.sg. Retrieved May 9, 2026 from https://data.gov.sg/datasets/d_8f8256f8af68bfbb63ae449c6546c34f/view

About this dataset

Licence

Free forever for personal or commercial use, under the Open Data Licence.

Agency

MOE (Ministry of Education)