Rules engine
Program criteria, point tables, cutoffs and stream status are defined in an editable configuration.
Config version
2026.10.r228
Streams defined
22
Last updated
2026-10-05
Admin architecture. Simplified but realistic PNP assessment rules. Points, thresholds and stream status are editable here without touching application code. All values on this page are read from backend/rules/config.json. Updating that file changes points, thresholds and which streams are active — no application code changes required.
Point grids
Stream definitions
ONOntario Workforce Priority Streamactive
Scoring modelgrid
Cutoff / target60
Gridowp
Eligibility rules5 conditions
View eligibility conditions
- Job offer from an eligible Ontario employer (job_offer_in_province = "ON")hard
- Work experience for your TEER category (job_offer_experience = {"skilled_months":6,"skilled_alt_years":2,"other_months":9})hard
- Language level for your TEER category (teer_based_min_clb = {"skilled":6,"other":4})hard
- Education for your TEER category (teer_based_min_edu_rank = {"skilled":2,"other":1})hard
- Competitive EOI score (min_score = 60)soft
BCSkilled Worker streamactive
Scoring modelgrid
Cutoff / target131
Gridsirs
Eligibility rules6 conditions
View eligibility conditions
- Full-time indeterminate job offer from an eligible B.C. employer (job_offer_in_province = "BC")hard
- Job offer in a TEER 0, 1, 2 or 3 occupation (job_offer_teer_in = [0,1,2,3])hard
- At least 2 years of full-time equivalent work experience (min_total_exp = 2)hard
- CLB 4 in English or French (min_best_clb = 4)hard
- Minimum education credential required for the occupation (min_edu_rank = 1)soft
- Competitive SIRS registration score (min_score = 131)soft
BCHealth Authority streamactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules4 conditions
View eligibility conditions
- Job offer from a B.C. health authority employer (job_offer_in_province = "BC")hard
- Health Authority-eligible occupation (occupation_in_demand)hard
- CLB 4 in English or French (min_best_clb = 4)hard
- Meets employer's experience and credential requirements (min_total_exp = 1)soft
ABAlberta Opportunity Streamactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- Full-time job offer from an Alberta employer in your current occupation (job_offer_in_province = "AB")hard
- Valid work permit (LMIA-based, LMIA-exempt or Alberta PGWP) (legal_status_in = ["work_permit"])hard
- Work experience in your current occupation (job_offer_experience = {"skilled_months":12,"skilled_alt_years":2,"other_months":12,"other_alt_years":2})hard
- Language by TEER category (teer_based_min_clb = {"skilled":5,"other":4})hard
- Canadian high school equivalent or higher (min_edu_rank = 1)hard
- Living and working in Alberta (provincial_connection = "AB")soft
ABAlberta Express Entry Streamactive
Scoring modelcrs_based
Cutoff / target300
Grid—
Eligibility rules4 conditions
View eligibility conditions
- Valid Express Entry profile (CLB 7+) (min_clb = 7)hard
- At least 1 year of skilled work experience (min_total_exp = 1)hard
- Ties to Alberta (family, study, work, job offer) (provincial_connection = "AB")soft
- CRS at or above Alberta's minimum (min_crs = 300)soft
ABTourism and Hospitality Streamactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- Full-time job offer from an Alberta tourism & hospitality employer (job_offer_in_province = "AB")hard
- Valid work permit (legal_status_in = ["work_permit"])hard
- Eligible tourism and hospitality occupation (occupation_in_demand)hard
- 6 months full-time with your current Alberta employer (min_job_offer_months = 6)hard
- Language by TEER category (teer_based_min_clb = {"skilled":5,"other":4})hard
- Canadian high school equivalent or higher (min_edu_rank = 1)hard
ABRural Renewal Streamactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- Full-time job offer from an employer in a designated rural community (job_offer_in_province = "AB")hard
- Residing in Alberta with a valid work permit (legal_status_in = ["work_permit"])hard
- Living in the designated rural community (provincial_connection = "AB")hard
- At least 1 year of work experience in the occupation (min_total_exp = 1)hard
- Language by TEER category (teer_based_min_clb = {"skilled":5,"other":4})hard
- Canadian high school equivalent or higher (min_edu_rank = 1)hard
SKInternational Skilled Worker: Employment Offeractive
Scoring modelgrid
Cutoff / target60
Gridsinp
Eligibility rules5 conditions
View eligibility conditions
- Job offer with a SINP Job Approval Letter (job_offer_in_province = "SK")hard
- At least 1 year of experience related to the job (min_total_exp = 1)hard
- CLB 4 in English or French (min_best_clb = 4)hard
- Post-secondary education or trade certification (min_edu_rank = 2)hard
- At least 60 of 110 SINP points (min_score = 60)hard
SKInternational Skilled Worker: Saskatchewan Express Entryactive
Scoring modelgrid
Cutoff / target60
Gridsinp
Eligibility rules5 conditions
View eligibility conditions
- Valid Express Entry profile (CLB 7+) (min_clb = 7)hard
- At least 1 year of skilled work experience (min_total_exp = 1)hard
- Post-secondary education (1+ year) (min_edu_rank = 2)hard
- Saskatchewan job offer (prioritised in draws) (job_offer_in_province = "SK")soft
- At least 60 of 110 SINP points (min_score = 60)hard
SKInternational Skilled Worker: Occupation In-Demandpaused
Scoring modelgrid
Cutoff / target60
Gridsinp
Eligibility rules5 conditions
View eligibility conditions
- Occupation on Saskatchewan's in-demand list (occupation_in_demand)hard
- At least 1 year of skilled work experience (min_total_exp = 1)hard
- CLB 4 in English or French (min_best_clb = 4)hard
- Post-secondary education (1+ year) (min_edu_rank = 2)hard
- At least 60 of 110 SINP points (min_score = 60)hard
SKSaskatchewan Experience: Existing Work Permitactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules4 conditions
View eligibility conditions
- Permanent full-time job offer from your Saskatchewan employer (job_offer_in_province = "SK")hard
- Valid work permit (legal_status_in = ["work_permit"])hard
- 6 months of work in Saskatchewan with this employer (min_job_offer_months = 6)hard
- CLB 4 in English or French (min_best_clb = 4)hard
MBSkilled Worker in Manitobaactive
Scoring modelgrid
Cutoff / target760
Gridmpnp
Eligibility rules6 conditions
View eligibility conditions
- Full-time, long-term job offer from your current Manitoba employer (job_offer_in_province = "MB")hard
- Valid work permit (legal_status_in = ["work_permit"])hard
- 6+ months of continuous full-time work with this employer (12+ if you graduated in another province) (min_job_offer_months = 6)hard
- Sufficient English/French for the job (CLB 4 minimum; regulated occupations typically CLB 7) (min_best_clb = 4)hard
- Living and working in Manitoba (connection stronger than to any other province) (provincial_connection = "MB")soft
- Competitive EOI ranking score (min_score = 760)soft
MBInternational Education Streamactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- Graduated from a designated Manitoba post-secondary institution (edu_in_province = "MB")hard
- Full-time job offer (1-year minimum) from a Manitoba employer (job_offer_in_province = "MB")hard
- Occupation on Manitoba's In-Demand Occupations List (occupation_in_demand)hard
- Working full-time in Manitoba on a valid work permit (legal_status_in = ["work_permit"])hard
- CLB / NCLC 7 (min_best_clb = 7)hard
- Residing in Manitoba (provincial_connection = "MB")soft
MBSkilled Worker Overseasactive
Scoring modelgrid
Cutoff / target700
Gridmpnp
Eligibility rules4 conditions
View eligibility conditions
- Established connection to Manitoba (provincial_connection = "MB")hard
- Language ability (CLB 5; regulated occupations CLB 7, compulsory trades CLB 6) (min_clb = 5)hard
- Work experience (min_total_exp = 1)soft
- Competitive assessment score (min_score = 700)soft
NSSkilled Workeractive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules7 conditions
View eligibility conditions
- Full-time permanent job offer from a Nova Scotia employer (job_offer_in_province = "NS")hard
- PGWP holders cannot be nominated in TEER 5 jobs (job_offer_teer_not_in = {"teers":[5],"pgwp_only":true})hard
- 1 year of work experience related to the job (min_total_exp = 1)hard
- Aged 21 to 55 (age_range = {"min":21,"max":55})hard
- High school diploma (min_edu_rank = 1)hard
- Language by TEER category (teer_based_min_clb = {"skilled":5,"other":4})hard
- Sufficient settlement funds (min_funds = 10000)soft
NSNova Scotia Graduateactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- Full-time permanent job offer in an eligible occupation (job_offer_in_province = "NS")hard
- Occupation on the Graduate stream list (occupation_in_demand)hard
- Graduated from a Nova Scotia designated learning institution (edu_in_province = "NS")hard
- Aged 19 to 55 (age_range = {"min":19,"max":55})hard
- High school diploma (min_edu_rank = 1)hard
- CLB 5 in English or French (min_best_clb = 5)hard
NSNova Scotia: Express Entryactive
Scoring modelcrs_based
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- 1 year of TEER 0–3 work experience in Nova Scotia (min_canadian_exp = 1)hard
- Worked in Nova Scotia (provincial_connection = "NS")hard
- Occupation in TEER 0, 1, 2 or 3 (teer_in = [0,1,2,3])hard
- Aged 21 to 55 (age_range = {"min":21,"max":55})hard
- Canadian high school credential or equivalent (min_edu_rank = 1)hard
- CLB 7 for TEER 0–1, CLB 5 for TEER 2–3 (min_clb_by_noc_teer = {"0":7,"1":7,"2":5,"3":5,"4":5,"5":5})hard
NBNew Brunswick Skilled Worker streamactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- Full-time non-seasonal job offer from an eligible NB employer (job_offer_in_province = "NB")hard
- Aged 19 or older (age_range = {"min":19})hard
- CLB 4 in all four skills (English or French) (min_best_clb = 4)hard
- High school diploma (min_edu_rank = 1)hard
- Relevant experience: 6 months with the employer (NB Experience) or 1 year related (Priority Occupations) (min_total_exp = 1)soft
- Living in New Brunswick for 6 months (provincial_connection = "NB")soft
NBNew Brunswick Express Entry streamactive
Scoring modelcrs_based
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- Valid Express Entry profile with CLB 7+ (min_clb = 7)hard
- Aged 19 to 55 (age_range = {"min":19,"max":55})hard
- Canadian high school diploma or equivalent (min_edu_rank = 1)hard
- 1 year continuous experience in one TEER 0–3 occupation (min_total_exp = 1)hard
- Occupation in TEER 0, 1, 2 or 3 (teer_in = [0,1,2,3])hard
- Working in New Brunswick for 12 months (or letter of interest) (provincial_connection = "NB")soft
NBNew Brunswick Strategic Initiativeactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- French NCLC 5 in all four skills (min_french_clb = 5)hard
- Aged 19 or older (age_range = {"min":19})hard
- Canadian high school diploma or equivalent (min_edu_rank = 1)hard
- 1 year of qualifying experience in the last 5 years (min_total_exp = 1)hard
- Living in NB for 6+ months or NB job offer (provincial_connection = "NB")soft
- Proof of funds (min_funds = 10000)soft
PEExpress Entryactive
Scoring modelcrs_based
Cutoff / target—
Grid—
Eligibility rules4 conditions
View eligibility conditions
- Active federal Express Entry profile (FSW, FST or CEC eligible) (min_clb = 5)hard
- Skilled work experience (min_total_exp = 1)hard
- Working for a PEI employer (strongly prioritised) (job_offer_in_province = "PE")soft
- Living in PEI or graduated from UPEI, Holland College or Collège de l'Île (provincial_connection = "PE")soft
PELabour Impactactive
Scoring modeleligibility
Cutoff / target—
Grid—
Eligibility rules6 conditions
View eligibility conditions
- Full-time job offer from a PEI employer (job_offer_in_province = "PE")hard
- Work experience for your category (job_offer_experience = {"skilled_months":0,"skilled_alt_years":2,"other_months":6})hard
- CLB 4 in English or French (min_best_clb = 4)hard
- Aged 21 to 59 (age_range = {"min":21,"max":59})hard
- High school diploma or higher (min_edu_rank = 1)hard
- Sufficient settlement funds (min_funds = 10000)soft

