shly
Start here

Sohly, explained simply

What Sohly does, and how we measure a battery's health — in plain terms, for someone who has never seen the project.

For Anyone new to the project Read ~5 min Full methodology →

1. The problem in one sentence

An electric car is basically one big battery. Over time, that battery wears out — it holds a little less energy every year. The catch: nobody really knows how much, and yet it hugely changes what the car is worth.

It’s like a phone battery after two years: it lasts less than on day one. Except here, the “battery” is worth several thousand euros.


2. What is “SoH”?

SoH = State of Health of the battery.

It’s a simple percentage:

Think of SoH as the battery’s “wear gauge.” A new battery is at 100 %. On average, an EV battery loses about 2.3 % per year. So a 5-year-old car sits around 88 %.

SoH is not the same as the charge gauge (the “full tank” at 100 %). The charge gauge tells you how much is left in the tank today. SoH tells you how big the tank is — and that size slowly shrinks with age.


3. Why it’s hard to measure

You might think it’s enough to look at the displayed range: “the car says 300 km, so the battery is fine.” That’s a trap.

The displayed range depends on lots of things that have nothing to do with battery health:

What tanks the range Impact
Cold weather (-7 °C, heater on) up to -41 %
Very cold (-18 °C, city driving) up to -59 %
Driving fast (highway) -25 to -30 %
Aggressive driving, hills, etc. -10 to -40 %

In other words: a battery in perfect health might show only 65 % of its normal range on a winter day on the highway. If you trusted that, you’d think the battery was worn out when it’s actually fine.

The real signal we’re after (the wear, ~2.3 %/year) is tiny next to the noise (cold, speed, ±30 to 50 %). It’s like trying to hear a whisper in the middle of a concert.

Conclusion: you cannot certify a battery’s health from a single one-off reading. You have to be smarter.


4. Sohly’s strategy

Sohly does not plug into one car at a time. It plugs into fleets (companies managing hundreds of electric vehicles: leasers, insurers, fleet operators).

These vehicles already stream their technical data continuously (through a device called Geotab). Sohly reads that data stream and derives the health of each battery. The key idea:

Never trust a single snapshot. Watch the battery while it recharges, over and over, across many sessions.

Depending on how rich the available data is, Sohly automatically switches between three quality levels (it picks the best one it can on its own):

🟢 Level 1 — The “charging curve” (the best)

When the car recharges, Sohly looks at the shape of the charging curve — how voltage and current evolve minute by minute.

This is the clever part. A worn battery recharges in a physically different way from a new one: - it fills up faster (the tank is smaller), - it “resists” the current more, - it heats up a bit more.

These signs are direct fingerprints of wear — impossible to confuse with “it’s cold” or “we’re driving fast.” A bit like a doctor who doesn’t just take your temperature but listens to your heart: they read a real internal signal.

🟡 Level 2 — The “smart average” (fallback)

If we don’t have the full curve, Sohly gathers lots of range/charge readings, throws out the ones taken in extreme cold or heat (the “trap” days from §3), and averages what’s left. The more readings, the more reliable the average.

🔴 Level 3 — The “estimate from age” (cold start)

For a car that just arrived and hasn’t been measured yet, Sohly gives a cautious estimate based on the known average: “a car this old is usually at such-and-such %.” Then, as soon as real data arrives, it moves up to level 1 or 2.


5. The golden rule: give a range, not a single number

Many players advertise “Health: 87 %.” It sounds precise… but it’s misleading, because no measurement is perfect.

Sohly always reports three numbers instead of one:

It’s like an honest weather forecast: instead of saying “it’ll be 20 °C” (wrong 9 times out of 10), it says “between 17 and 23 °C” — and that range is right 90 % of the time, guaranteed by the math (a method called conformal prediction).

Why does this matter? Because the customers (insurers, leasers) make financial decisions. A wrong number that looks precise is expensive. An honest range is manageable: you take the worst case (P05) to stay safe.


6. What it’s ultimately for: euros, not percentages

A fleet manager doesn’t wake up wondering “what’s the SoH of vehicle #147?” Their real question is:

“If I keep this car 6 more months instead of selling it now, how much do I lose?”

So Sohly translates battery health into resale value in euros, at several horizons (3, 6, 12, 24 months). Then it gives a clear recommendation:

For a whole fleet, Sohly ranks vehicles by “euros at stake”: the manager directly sees the “sell these first” list, instead of reading 200 reports.

A short explanatory paragraph is also written automatically (by an AI), but with a strict rule: the AI is not allowed to invent a single number — it only rephrases figures computed by the “serious” part of the system. Every euro is computed, verifiable, and reproducible.


7. Summary in 6 sentences

  1. An EV battery wears out slowly (~2.3 %/year); its “health” is a % called SoH.
  2. You cannot guess SoH from a single reading: cold and speed completely fool the displayed range.
  3. So Sohly watches batteries continuously, across whole fleets, via Geotab data.
  4. Its sharpest method reads the shape of the charging curve, which carries a direct fingerprint of wear.
  5. It always reports an honest range (P05 / P50 / P95) rather than a falsely precise single number.
  6. Finally, it translates all of that into euros and decisions (hold / sell) for fleet managers.

For the full technical methodology, see SOH_METHODOLOGY.md.