---
title: Scores and how they are calculated
description: Where every number on ImmiReport comes from — which profile fields feed it, where the calculation runs, and what the report keeps a record of.
product: Lexpoint — Individuals
audience: People managing their own Canadian immigration
doc_type: concept
canonical_url: https://docs.lexpoint.io/individuals/immireport/scores/
app_routes: https://my.lexpoint.io/app/immireport, https://my.lexpoint.io/app/immireport/pr/ee
last_verified: 2026-09-03
keywords: CRS calculation Lexpoint, score breakdown, how ImmiReport calculates, self-declared score, run history
license: Documentation © Lexpoint. Quote with attribution and a link to the canonical URL.
---
# Scores and how they are calculated

Every number on ImmiReport is calculated, not entered. This page explains where each one comes from
and where the work happens.

## One calculation, one record

When your report is recalculated, a single orchestrating function in Lexpoint's database does the
whole job at once: it reads your profile, computes every score and every eligibility flag, and writes
them to your report record in one pass. Nothing is computed in your browser, and no page calculates a
number of its own — the pages read what was already written.

This is why a recalculation moves several numbers together, and why a partially updated report is not
a state you can land in.

## What feeds it

The calculation reads six things, all of them yours to edit:

| Source | Feeds |
|---|---|
| Personal info | Age, marital status, citizenship, residence, current status, spouse details |
| Work history | Canadian and foreign experience, occupation, hours, overlapping roles |
| Education history | Credentials, where they were earned, field of study |
| Language tests | Your best result in each of English and French |
| Job offers | The primary offer's occupation, wage, location, and employment terms |
| Letters of acceptance | Institution, dates, and cost of studies, for study permit assessment |

Where you have more than one language test, Lexpoint uses your best result per language rather than
your most recent. Where you have more than one job offer, the offer marked as **primary** is the one
that drives your scores — switching which offer counts is an ImmiReport Pro feature.

Where you have overlapping jobs, Lexpoint works out the overlap in days rather than adding the two
periods together.

## The CRS total, and its four parts

Lexpoint stores your CRS score as five numbers: the total, and four components that make it up.

| Component | What it holds |
|---|---|
| **Core** | Your own age, education, language, and Canadian work experience factors |
| **Spouse** | Your accompanying partner's contribution |
| **Transferability** | Points that come from combinations of your factors rather than any one of them |
| **Additional** | Everything scored outside the core factors |

The **Score Breakdown** panel on the Express Entry hub shows all four. Opening a component — Core,
in the shot below — slides in a **Core Factors Breakdown** drawer with the rows behind it. Each
factor also has a scoring-rules drawer showing the point table Lexpoint applies for that factor,
split by whether a spouse accompanies you.

Lexpoint applies the tables; it does not set them. For the rules themselves, see
[immigratic.com](https://www.immigratic.com).

```media
id: immireport-score-breakdown
type: screenshot
caption: The CRS score breakdown, with one component expanded to show the rows behind it.
shot: /app/immireport/pr/ee — Core Factors Breakdown drawer open over the Express Entry hub, with Age, Education, Language, and Canadian Work rows. Demo account with a spouse recorded, so the spouse component is present. Light mode, 1440×900.
src: /media/individuals/immireport-score-breakdown.webp
```

## Self-declared, not official

The CRS score on ImmiReport is labelled **Self-declared**, and the label is doing real work. It is
Lexpoint's calculation from the answers in your Lexpoint profile. Your official score is the one IRCC
computes from the Express Entry profile you submit to them.

They can differ for ordinary reasons — a credential assessed differently, a work period counted from
different dates, an answer you gave one way here and another way there. Treat the Lexpoint number as
what your profile implies, and reconcile it against IRCC's before you rely on it.

## Provincial scores

Provincial programs are scored separately, on their own scales, and stored beside the CRS numbers.
Each province's hub shows the total Lexpoint calculated for it, and the stream pages show what went
into it. Ontario's Workforce Priority score and Québec's Arrima score are the two most visible
examples.

A provincial score and the CRS total are not comparable to each other. They answer different
questions on different scales.

## Eligibility flags

Alongside the scores, the same calculation writes one true/false flag per stream — that is what the
`N/M` badges on the hubs count, and what the **Yes / Maybe / Not yet** chip on a program page reads
from.

A flag is set by evaluating the requirements Lexpoint checks for that stream against your profile. A
stream shows as ineligible when a requirement Lexpoint checks is unmet, and the requirements section
on the stream's page names which one.

Streams Lexpoint has archived are excluded from these counts, so the denominator reflects what is
open, not the full history.

## What is kept

Lexpoint records each recalculation and each simulator run, with a snapshot of your report before and
after. Two things on the product use those records:

- **Delta chips** on the ImmiReport hub — a small `+8` or `-1` beside a number that a recent
  recalculation moved, labelled *since your last update* with the date. Lexpoint looks back through
  your most recent runs and shows the first one that actually moved a card.
- **Run history** on the simulator page, listing your recent runs with what each one was, who
  triggered it, and how the score moved.

Older snapshots are not offered as a long-term score chart, and for good reason: a snapshot from
before a province was added to ImmiReport would understate what the report covered at the time.

## Related

- [Your profile](/individuals/profile/) — the fields every number here is derived from
- [Express Entry](/individuals/immireport/express-entry/) — where the CRS breakdown is displayed
- [The simulator](/individuals/immireport/simulator/) — testing a change without making it
- [What ImmiReport is](/individuals/immireport/what-is-immireport/) — when the calculation runs

## Frequently asked questions

### Where does the calculation actually run?

In Lexpoint's database, not in your browser. One orchestrating function reads your profile tables, computes every score and eligibility flag, and writes them to your report record in a single pass. Nothing is calculated on the page you are looking at.

### Why did my score change when I did not touch the field it depends on?

Most factors are combinations. Changing a language test can move transferability points that depend on both language and work experience, and adding Canadian work experience can change several scores at once. The score breakdown shows which component moved.

### Can I see what my score was before?

Yes, in a limited way. The ImmiReport hub shows a delta chip beside a number that a recent recalculation moved, labelled with the date. ImmiReport Pro's simulator page also carries a run history of your recent recalculations and scenarios.
