SimFinder
Carriers & Networks

How the SimFinder Quality Score Works

SimFinder assigns every mobile plan a quality score — a 0–100 number that represents estimated network quality, separate from price. In the default search view, quality contributes 50% to the plan ranking, and you can adjust that weight to prioritise whichever axis matters more to you.

The score is computed from carrier quality data stored in SimFinder’s database, adjusted by a degradation factor based on carrier type. MNOs receive their base score unchanged. Sub-brands receive 95% of their parent MNO’s score. MVNOs receive 85%.

Key points this article covers:

  • What the quality score represents and what it does not
  • How the score is computed from the implementation in src/lib/scoring/engine.ts and src/lib/scoring/types.ts
  • Why MVNO and sub-brand plans score below their host MNO, and by how much
  • How the score combines with price to produce the total ranking
  • How to read the score display and adjust the Quality Weight slider
  • Honest limitations: this is a design-based indicator, not a live field measurement

What the Quality Score Is

The quality score is an estimate of the network quality level you can expect when using a particular plan, expressed on a 0–100 scale. A higher number means better estimated quality. It is derived from per-carrier quality data that SimFinder collects and stores, then adjusted for carrier type.

The score does not represent price, data allowance, or any contract term. It is a single-axis quality signal designed to sit alongside the price axis in the ranking formula. If you care only about the cheapest plan, you can weight quality to zero. If you care about network reliability and are willing to pay more for it, you can weight quality higher.

The quality axis is also independent of data allowance. A plan offering 3 GB and a plan offering unlimited data from the same carrier will receive the same quality score — data volume is handled separately by the price score and the search filters.

The score is also not a live measurement. It reflects data collected as of the last update cycle. For real-time field conditions, external speed-test services such as Ookla Speedtest Intelligence or nperf are the appropriate tool.

Each plan card shows a qualityVerified indicator. When this is true, the score is based on quality data collected specifically for that carrier or its confirmed parent MNO. When it is false, the score is an estimate derived from the average across other carriers in the dataset.


The Three Carrier Types and Their Degradation Factors

SimFinder distinguishes three carrier types — mno, sub_brand, and mvno — and applies a multiplier to each when computing the quality score. These values come directly from DEFAULT_SCORING_CONFIG in src/lib/scoring/types.ts:

Carrier typeQuality factor
MNO1.0 (no change)
Sub-brand0.95
MVNO0.85

An MNO receives 100% of its own stored quality score. A sub-brand receives 95%. An MVNO receives 85%.

These factors reflect a structural reality of how wholesale mobile networks work. MVNOs do not own spectrum. They purchase capacity from an MNO through a Point of Interface (POI) and share that bandwidth with the MNO’s own subscribers. When the network is congested, the MNO’s direct subscribers are served first; MVNO traffic can be deprioritised. Sub-brands are MNO-owned and typically receive better internal priority than independent MVNOs — hence a smaller degradation (0.95 rather than 0.85).

The factor values are applied uniformly across all carriers of each type. There is no per-MVNO tuning in the default configuration. Whether one MVNO has a better wholesale agreement than another, or a sub-brand is more tightly integrated with its parent than another, is not captured by these factors. The factors model a category-level structural tendency, not an operator-specific measurement.

For a deeper explanation of how MVNO network architecture drives this speed difference, the Why Is My MVNO Plan Slow? guide covers POI congestion in detail. For a side-by-side comparison of the three carrier types across multiple dimensions, see MNO vs MVNO vs Sub-Brand.


How MVNOs Inherit the Parent MNO’s Score

When SimFinder computes the quality score for an MVNO plan, it looks up the plan’s carrierId in the quality map. If no quality data exists for that carrier directly, it falls back to the parentMnoId field on the plan and uses that MNO’s overallScore instead.

The relevant logic from src/lib/scoring/engine.ts:

let baseScore = qualityMap[plan.carrierId]?.overallScore ?? null;

if (baseScore === null && plan.parentMnoId) {
  baseScore = qualityMap[plan.parentMnoId]?.overallScore ?? null;
}

After finding the base score, the MVNO factor (0.85) is applied:

const factor = config.mvnoQualityFactors[plan.carrierType] ?? 1.0;
const score = baseScore * factor;

The result is clamped to the 0–100 range.

This means that two MVNOs running on the same host MNO will receive the same base quality score before the factor is applied. The factor itself is uniform across all MVNOs. Individual MVNO differences — customer service, app quality, specific network agreements — are not captured by this score.

The isVerified flag on the quality data entry carries through to the plan card. If a carrier’s quality data is marked unverified in SimFinder’s dataset, the plan’s qualityVerified field shows false even when a base score is available. An unverified score should be read with more caution than a verified one.

For background on what MVNOs are and how they operate, What Is an MVNO? is the foundational reference.


What Happens When Quality Data Is Missing

If SimFinder has no quality data for a carrier and no parentMnoId to inherit from, the engine computes the average overallScore across all carriers that do have data. If no quality data exists at all, the fallback value is 50. In both fallback cases, the qualityVerified flag is set to false.

There are three distinct situations that lead to qualityVerified: false:

  1. No carrier-level data and no parent MNO — the score is set to the dataset average.
  2. Inheriting from a parent MNO whose data is marked unverified — the inherited score is used but the unverified status carries through.
  3. Carrier data exists but is marked unverified — the score is used but the flag is false.

In all three cases, the MVNO or sub-brand factor is still applied normally. The flag only indicates the verification status of the underlying quality data, not whether the factor was applied.

You can see this flag on each plan card. When qualityVerified is false, the score shown is an estimate that should be weighted less heavily in your decision. Plans from well-documented carriers show qualityVerified: true, meaning their score comes from confirmed quality data for that carrier or its verified parent MNO.


How the Quality Score Combines With Price

The quality score is one of three components in the total ranking score. The other two are the price score and the bonus score. All three are added together using the formula below, and the result is what determines plan order in the results list.

totalScore = priceScore × (1 − w) + qualityScore × w + bonusScore

Where w is the quality weight (0 to 1), set by the Quality Weight slider in the search interface. The default is 0.5 (50%), which weights price and quality equally.

priceScore is a 0–100 normalised score within the current search result set. The cheapest plan in the results scores 100; the most expensive scores 0. This means price score is relative to the plans shown — it is not an absolute affordability measure.

bonusScore adds up to 10 points for two features: data rollover (+3 points) and family discount (+5 points if you have selected the family discount filter). These bonuses are capped at 10 total. They are independent of both quality and price. A plan that qualifies for both features gains 8 bonus points — below the 10-point cap. The two removed bonus types (exactDataMatch and unlimitedForHeavyUser) are defined in the config but are no longer applied by the engine, as noted in the source code comments.

The total score is rounded to two decimal places. When two plans tie on total score, the ranking tie-breaks first by lower predicted monthly price (after adding any voice option fees), then by more data. Unlimited data plans are ranked above capped plans in the data tie-break.

This means a plan’s position in the list can shift depending on the voice minute input in the search form, because voice costs affect the predicted monthly price, which in turn affects the price score normalisation.


Reading the Score in Search Results

Each plan card in SimFinder search results displays three score values:

  • Total score — the weighted combination used for ranking (shown prominently)
  • Price score — where this plan sits on the price axis within your current results
  • Quality score — the adjusted quality estimate for this plan’s carrier type

When you filter by carrier type (for example, showing only MVNOs), the price score recalculates relative to that filtered set. The quality score does not change based on filtering — it is an absolute value for the carrier, not relative to the visible result set.

Sorting by quality surfaces plans where the combination of network quality and your chosen weight is highest. Because an MNO plan at the top of a quality-sorted list may cost substantially more than an MVNO plan near it, comparing the two alongside the price column gives a complete picture.

The carrier type label on each card — MNO, sub-brand, or MVNO — directly indicates which factor was applied to compute the quality score. If you see two plans with identical quality scores from different carriers, they are likely on the same host network with the same base data.

The MNO vs MVNO vs Sub-Brand comparison article describes how these carrier types differ in practice, which can help you calibrate what quality difference actually matters for your usage pattern.


The Quality Weight Slider

The Quality Weight slider in the SimFinder search interface controls the qualityWeight parameter passed to the scoring engine. Moving it to 0% ranks results by price alone; moving it to 100% ranks by quality alone. The default of 50% balances both.

Adjusting this slider does not change which plans are shown — it reorders them. A plan that ranks first at 0% quality weight (cheapest) may rank much lower at 100% if its quality score is below average for the result set.

Note that the slider setting is not saved between sessions by default. If you return to SimFinder with a fresh search, the weight resets to 50. If you have a strong preference for one axis, adjust the slider as the first step of any search session.

Practical guidance on when to move the slider:

  • If you use mobile data heavily during commute hours in a dense urban area, a higher quality weight helps surface plans less likely to be congested.
  • If most of your usage is on home Wi-Fi and you want the lowest monthly outlay, a lower quality weight is more appropriate.
  • If you are comparing plans in a country where you have little prior experience with local carriers, a moderate quality weight (the default 50%) is a reasonable starting point.
  • If you are specifically comparing MNO-only plans, quality differences between them may be smaller than quality differences between carrier types; at that point, moving the weight lower may give more useful ordering by price.

For an explanation of the underlying quality metrics — speed, latency, and coverage — that feed into the overallScore stored in SimFinder’s data, see Understanding Mobile Network Quality Metrics.


Limitations of the Quality Score

The quality score is a useful comparative signal, but it has several structural constraints you should be aware of:

It is design-based, not field-measured. The score reflects stored quality data, not real-time conditions on the network. Network conditions vary by location, time of day, and device. A plan with a score of 80 may perform better or worse than a plan with a score of 75 depending on where you use it.

MVNO factor is uniform. All MVNOs on the same host MNO receive the same 0.85 factor. This does not distinguish between MVNOs with dedicated bandwidth agreements and those running on shared wholesale capacity. Actual MVNO performance varies considerably by operator.

Sub-brand factor is uniform. All sub-brands receive 0.95 of their parent MNO’s score regardless of how integrated they actually are with the parent network. Some MNO-owned sub-brands effectively operate at MNO priority; others do not.

Quality data has a lag. The overallScore in the quality data was accurate as of its collection date. Carrier infrastructure changes — network upgrades, congestion increases, new spectrum deployments — are not reflected until the data is updated.

It is country-scoped. The quality data and scoring configuration apply to the country selected in your search. Quality assessments from one country do not transfer to another.

Missing data falls back to averages. A plan showing qualityVerified: false has a score estimated from the average of other carriers in the dataset, not from direct measurement of that carrier.

For limitations specific to the connection between MVNO network architecture and real-world speed, What Is an MVNO? explains the underlying POI mechanism that the degradation factor models.


How the Score Is Not Used

Knowing what the score excludes is as useful as knowing what it includes:

  • The quality score has no influence on which plans appear in search results. Filtering (by data size, carrier type, voice, family discount) determines the candidate set. Scoring only determines the order within that set.
  • The score does not reflect customer service quality, app usability, SIM delivery speed, or contract flexibility.
  • The score does not factor in 5G vs 4G availability as a separate dimension. Network generation differences may be partially captured in the overallScore data, but there is no explicit 5G weighting in the scoring engine.
  • The score does not penalise for data caps or speed throttling. A plan with a 3 GB hard cap and a plan with an unlimited-but-throttled allowance on the same carrier receive the same quality score.
  • The score does not reflect geographic coverage differences within a carrier. A carrier may have excellent urban coverage but poor rural coverage; the overallScore is a single aggregate, not a location-specific value.
  • The bonus score (data rollover, family discount) is separate from the quality score and adds directly to the total. A plan with a lower quality score can rank above a higher-quality plan if it offers rollover and family discount and the user has those filters active.

Using the Score to Make a Decision

The quality score is most useful as a tie-breaker and a filter for eliminating outliers, rather than as a primary selection criterion.

A practical approach:

  1. Set your data requirement and any voice filter in the search form.
  2. Leave the Quality Weight at 50% to see a balanced ranking.
  3. Identify plans in the top 5–10 results. Check whether any have qualityVerified: false — those carry more uncertainty.
  4. If two plans are close in total score but one has a higher quality score, consider whether the quality difference matters for your typical usage (urban commute vs home-heavy usage).
  5. Use the MNO vs MVNO vs Sub-Brand guide to understand what the carrier type difference means in practice before finalising.

If the top-ranked plans are all from the same carrier type (for example, all MVNOs), the quality score differences between them reflect only the quality data differences of their respective host MNOs — not individual MVNO quality. In that case, the quality score is less useful as a differentiator and price or bonus features may be the better selection axis.

What the score cannot do is replace a short trial period with the carrier. A score of 78 vs 74 is a marginal difference; a score of 90 vs 60 is a larger signal worth weighing. Many carriers offer short-term plans or trial periods — combining the SimFinder ranking with a direct trial gives the most reliable outcome.

For an explanation of the sub-brand category — MNO-owned brands that occupy the space between full MVNOs and the main carrier — see What Is a Sub-Brand?.