How are EVs scored?
Each EV gets a 0–100 score per use case from the same three-step pipeline, with no editorial thumb on the scale. First every metric is put on a common scale, then the metrics are combined with a weighted geometric mean, and finally any model that does not actually have the data a use case depends on is excluded rather than guessed.
What are the public scoring weights?
The weights are fixed and public — there is no hidden ranking signal. Each use case below lists exactly the metrics it scores on and how much each one counts, and a model must have all of them to qualify.
Everyday - a balanced daily driver — range, charging and practicality
- Range35%
- Charging speed (km/min)25%
- Winter range15%
- Seats13%
- Trunk volume13%
Requires range, charging speed (km/min), winter range, seats, trunk volume
Long range - maximum distance per charge for road trips
- Range35%
- Charging speed (km/min)35%
- Winter range15%
- Trunk volume10%
- Seats5%
Requires range, charging speed (km/min), winter range, trunk volume, seats
Family - space, seats and practicality for a family
- Seats30%
- Trunk volume25%
- Range25%
- Charging speed (km/min)10%
- Winter range10%
Requires seats, trunk volume, range, charging speed (km/min), winter range
Performance - acceleration, power and fast-charging capability
- 0–100 km/h45%
- Range30%
- Charging speed (km/min)25%
Requires 0–100 km/h, charging speed (km/min), range
City - a short, easy-to-park car that still charges fast
- Compactness (length)38%
- Charging speed (km/min)31%
- Range31%
Requires range, compactness (length), charging speed (km/min)
Winter - range that survives the cold — ranked on our own winter estimate
- Winter range40%
- Charging speed (km/min)25%
- Range25%
- Trunk volume10%
Requires winter range, charging speed (km/min), range, trunk volume
How are the scores distributed?
281 models ranked in the “Everyday” use case, by score band.
- all inputs verified
- includes unverified inputs
How the metrics become one score
Put every metric on one scale
Normalization is min-max with conditional winsorization — the OECD/GII composite-indicator recipe.Show more
For each metric we read its values across the whole catalogue and check the distribution shape: only when it is pathological (skewness above 2.25 and kurtosis above 3.5 — a record-holder outlier or a typo) do we clamp the scale to the 5th–95th percentile band, so a well-behaved metric keeps its full range and real differences at the top are not flattened.The clamped scale is then mapped linearly to 0–100. Lower-is-better metrics like price and charge time are inverted, so 100 is always the best value on every axis. A metric whose range collapses to a single value scores a neutral 50 rather than dividing by zero — the scale never invents a spread that the data does not actually contain.Bring the range to one test cycle
Range is the one metric that needs a cross-region correction before it can be compared.Show more
Official range is published on different test cycles by market — EPA (US, conservative), WLTP (Europe, moderate), CLTC (China, optimistic) and NEDC (legacy Europe, optimistic) — so a Chinese CLTC figure and a US EPA figure are not the same kind of number. Before ranking we convert every official figure to a common WLTP-equivalent basis using our own per-cycle conversion factors, derived from makers' figures for the same car on two cycles (EPA ×1.15, WLTP ×1.0, CLTC ×0.82, NEDC ×0.80) keyed by the cycle tag recorded for each figure. An independently measured real-world range, when we have one, is cycle-independent and is used as-is. We never guess a cycle we don't know — an untagged figure is treated as already WLTP-equivalent rather than inflated by assumption.Combine with a geometric mean, then apply the gate
The composite is a weighted geometric mean, not an arithmetic average.Show more
This is deliberate: a geometric mean is dragged down by any low factor, so a car that charges fast and goes far but is wildly overpriced cannot hide its weak axis behind two strong ones. A weak axis pulls the whole score down honestly.A ranking compares like with like. A model ranks in a use case only when we hold every metric that use case scores; a car missing one of them is not ranked there and says which figure is missing — it is neither padded with an invented number nor scored on the rest, because that would lift a car for the data we do not have. A figure we collected but have not checked yet takes part marked unverified. Each scale runs from the 5th to the 95th percentile of the catalog, so one record holder cannot squeeze every other car to the bottom, and trunk volume stops counting at 650 L.
Conversion factors to WLTP
Conversion factors to WLTP
- EPA × 1.15
- WLTP × 1.0
- CLTC × 0.82
- NEDC × 0.80
Our conversion, not a published figure. A figure with no recorded cycle is treated as already WLTP-equivalent, never guessed.
The formula, for the curious
S = exp( Σ wi · ln( max( Di, 1 ) ) / Σ wi )
where Di is a metric's normalized value from 0 to 100, wi is its public weight. A model missing any of these metrics is not ranked in this use case. A value below 1 counts as 1, so one zero lowers the score but never zeroes it.
What makes the price ranking fair across markets?
Price is the one axis where the unit differs by market — a euro figure and a yuan figure aren't comparable as-is. So for ranking only, each model's representative new-car price is converted to a single USD figure using a small table of fixed mid-market FX constants, each stamped with an as-of date (currently as of 2026-01-01). We deliberately do not pull live FX: relative ranking is insensitive to small currency drift, and a stamped constant is reproducible and auditable where a live rate is not.
What you see is never the converted figure. Displayed prices stay in each market's native currency, with VAT handling noted and every price linked to its source. The USD figure exists only inside the scoring engine to put the value axis on one scale — it is never shown as a price.
How is data verified?
Confidence is earned by independent corroboration, not by repetition. For each field we look at how many independent source roots agree on the value and what the best source tier among them is — not the raw number of pages that quote it. Ten blogs copying one press release is one root, not ten.
That gives every field one of four confidence levels, shown as a coloured dot next to the number:
- High — multiple independent roots, at least one top-tier (OEM or regulator) source.
- Good — corroborated by independent roots, but without a top-tier anchor.
- Moderate — a single solid root, or independent roots of weaker tiers.
- Low — a single-origin claim we surface but flag as not yet corroborated.
Example
When sources genuinely disagree, we keep both values and show them — we never average a conflict into a fake middle number. A 480 km and a 520 km claim are two cited data points the reader can judge, not a 500 km invention that matches neither source.
Every figure carries a date so freshness is visible. Data is collected and refreshed in campaigns; a value receives a new verification date only when it is independently checked again.
In what order do we collect data?
We collect first and verify second. Every figure on this site carries a link to the page it came from and the date we read it. A figure confirmed by a second independent source or by a regulator is marked verified; everything else is shown marked “unverified”, because an empty cell tells you less than a linked figure you can check yourself.
Where does the data come from?
Every source is classified by tier and type, and every figure links the exact sources behind it. Provenance is not a footnote here — it is the unit of trust.
Tiers run T1 → T3. T1 is a primary, authoritative source — the manufacturer's own spec sheet or a regulator's filing. T2 is a strong secondary source such as an independent test or established outlet. T3 is a weaker corroborating source such as a listing or aggregator. A field's confidence reflects the best tier among its independent roots.
What kinds of source there are
Each source also carries a type: OEM, regulator, test, dealer, listing, aggregator, review, or news. Type and tier together tell you not just how many sources agree but what kind of evidence each number rests on.
There is no figure on SuliHuli without at least one linked source. A number that loses its link loses its place on the page — we do not display an unbacked figure, and we do not delete the record behind it.
What the score does not do
It puts no editorial thumb on the scale: every EV is scored by the same pipeline.
It has no hidden ranking signal — the weights are fixed and public.
It never pads a model with invented numbers: a model missing any figure a use case scores is not ranked there.
It never averages a conflict into a fake middle number.
It never uses an external price API as the basis of a price.
The USD figure used for ranking is never shown as a price.