SkillSelect / 189 Points-tested
Data as at September 2026
READ THE DATA CORRECTLY

Methodology & limitations

A transparent guide to the records, the calculations and what this platform cannot tell you.

What is an EOI?

An Expression of Interest is a SkillSelect record expressing interest in skilled migration. It is not a visa application. EOIs are not unique people. One person may submit multiple EOIs, and one EOI may include multiple visa preferences. This MVP queries only the 189 points-tested visa type.

What do statuses mean?

  • Submitted: a completed EOI eligible for selection, with points attributed from its information.
  • Invited: an invitation to apply has been issued. The snapshot counts records currently in that status.
  • Lodged: a visa application was lodged using an invitation.
  • Hold: the migrant has suspended the EOI; it cannot be invited while on hold.
  • Closed: supported by the database when returned by the official dataset. No guessed counts are added.

Month-end pool, not new submissions

The official dashboard defines As At Month as a snapshot taken on the last day of the month. The trend shows Submitted EOIs in pool at each month end. It does not show new EOIs submitted during that month. Some official Submitted records have points below 65; we preserve those returned bands rather than silently excluding them. The site does not independently certify visa eligibility. Month Submitted is a separate field and is not used as our trend axis.

What does <20 mean?

The dashboard masks positive counts below 20. We keep the raw text <20, store a null numeric value and set the suppression flag. We do not substitute 0, 10 or 19. A hatched points row has no numerical bar length. Suppressed observations create gaps in the line chart. Unreturned observations are Not available, not zero.

Occupation totals, market totals and 65+/70+/75+/80+/85+/90+ aggregates are queried independently using the same masking rule. An exact published aggregate may be available even when some component bands are suppressed. We never reconstruct suppressed cells by subtraction.

Two kinds of history

Official Revised History: the history returned by the currently latest captured official release.
Captured Snapshot History: all complete releases this platform actually retrieved, each preserved with a timestamp and dataset hash.

The interface defaults to the latest complete release. Previous release facts are immutable. If a later release returns a different count for the same historical month, both values survive under different release IDs. We cannot recover original earlier releases that we never captured.

The official documentation describes a live source system and delayed monthly dashboard refreshes. It does not, in the evidence retrieved for this MVP, establish that expired EOIs are always removed from prior monthly counts. That specific mechanism remains unverified. Our version design allows actual revisions to be detected without assuming a cause.

Pool versus invitation round

The EOI pool is a stock at a point in time. Invitations issued are events in a dated round. The count of snapshot Invited EOIs must not be interpreted as invitations issued in that round. Snapshot Invited/Lodged points may also change after invitation; invitation scores here come only from published round tables.

Invitation history and missing values

Home Affairs publishes round totals and, for many rounds, occupation minimum scores. It generally does not publish per-occupation invitation counts or per-occupation tie-break dates in these tables. These fields stay Not available. Round-level tie-break text is shown separately, exactly as published, including source anomalies such as 15/2024.

An explicit source row without a numeric 189 score is shown as “Not invited in this round”. An absent occupation is only marked not invited when all source labels are resolved; unresolved labels make absence ambiguous, so it is Not available. This describes the published outcome, not its cause. Four-digit group results are not copied to six-digit occupations.

For older tables with separate subclass 189 offshore/onshore scores, the displayed value is the minimum of available published 189 scores. The raw row remains visible in details. This is an aggregation of the official row, not an invented common cutoff. Names are linked using normalized exact matching only; unmatched labels remain stored for review.

Calculated metrics

Pool change = (current published total / prior published total − 1) × 100. Values are compared within the same latest release and rounded to one decimal place. We do not calculate percentages from suppressed or missing values, or a zero baseline. High-score share uses a directly queried official threshold aggregate divided by the published total.

No invitation probability, personal success chance or expected invitation date is provided. Pool growth is not automatically good or bad. Changes use neutral styling.

Cumulative Score Pool

65+/70+/75+/80+/85+/90+ means Submitted EOIs at that score or above. Independently queried exact official aggregates are preferred, even if individual component buckets are suppressed. Otherwise only known counts are summed; a + suffix identifies a lower bound when suppressed buckets remain. We never recover a hidden score bucket by subtracting totals. Missing observations are not assumed zero.

Growth Metrics

1M/3M/6M/12M absolute movement = current exact total minus the exact total in the target calendar month, within the latest release. Percentage = movement / baseline × 100. Missing or suppressed totals produce Not available; a zero baseline has no percentage. The growth ranking requires baseline ≥100 and absolute increase ≥20 to avoid tiny-base distortions. Growth is not new submissions, unique people or a forecast.

Competition Pressure · v1

Calculated by this site, not the Australian Government. Pool size 25%, exact 75+ pool 25%, 6M percentage growth 20%, latest matched published invitation score 20%, days since that invitation 10%. Days use the EOI snapshot month-end reference date. For each factor we rank data-complete occupations using average tied rank, normalize 0–100, then add percentile × weight. At least five peers and all five exact inputs are required. Missing inputs or lower-bound high-score pools produce no score; weights are not redistributed.

Average-tie percentile = (number of peers below + (number tied − 1) / 2) / (peer count − 1) × 100. Scores are rounded to one decimal: Low <30; Moderate 30–<60; High 60–<80; Very High ≥80. Peer composition can change across releases, so scores are relative to that capture, not an absolute scientific scale. Missing occupations are excluded, which can affect representativeness. These weights are a transparent descriptive design, not a statistically validated prediction model.

Competition Pressure is a comparative indicator based on current EOI pool and invitation data. It is not a probability of invitation, migration advice or a prediction of visa grant. An old invitation reflects the last accessible matched published outcome, not a confirmed period without invitation.

Your Points, Score Gap and Higher-score EOIs

Your Points accepts 65–130 in steps of 5, kept in local page state and optional shareable query parameters, never the database. Score Gap = your score − latest published matched invitation score. Higher-score count includes points strictly above yours; same-score count is the official exact bucket. At-or-above count includes your bucket. Official exact threshold queries may be used; otherwise suppressed bands mean a lower bound. An absent exact bucket is Not available, not an invented zero. EOI records are not unique people and same-score EOIs may be ordered using Date of Effect where applicable. None of these counts or gaps establish your queue position, visa eligibility or future invitation outcome.

Post-round Pool Movement

We find the latest month-end snapshot strictly before a matched invitation date and the first month-end snapshot on or after that date, inside the same captured official history. Each side must be within 62 days of the round; distant out-of-coverage observations are unavailable. Differences require exact values on both sides. Lower-bound or missing cells do not get an exact difference. This is a monthly window, not an immediate causal measurement. Movement can reflect invitations, expiry, withdrawals, profile updates and revisions; it must never be interpreted as exact invitations issued.

Data Revisions

A new source capture is compared to the previous latest capture on overlapping historical months, six-digit occupation, subclass, status and exact points. Raw-value and suppression/missing transitions are preserved, with release IDs. Numeric differences are only computed for two exact values. Entire months entering/leaving the rolling window are not revisions. Only one actual EOI capture currently exists; no older release or source revision is fabricated. Revised values do not prove expiry or any other cause.

Data Quality Gates

Only data passing validation enters the database. Empty sources, schema drift, invalid counts/points/dates, duplicate rows, missing official source, coverage drops, backwards releases and market swings over 50% block imports. Raw evidence and alerts are retained, while previous published data stays available. Exceptional individual changes produce warnings, not unsupported causal explanations. Versioned metrics are recalculated before publication, then tests/build gate deployment.

Coverage and updates

The catalogue contains the occupation labels available in the official dashboard, not a claim that every occupation is currently eligible for subclass 189. “Tracked” means the official 189 history returned observations. Monthly EOI updates and weekly invitation checks are configured in GitHub Actions. Failed fetches or validation errors do not overwrite release facts. Production publishing requires tests and a successful build.

Evidence

Definitions are recorded from the official Qlik overview and glossary objects WpdPJ and YvjARJ. Raw Qlik response pages and official invitation HTML are retained in data/raw/. See all official sources .