Skip to content

Devlog

Swiss EV cost comparison: a tool to compare what matters

The Swiss EV market has five distinct acquisition paths — buy new, buy used, import from Germany, lease, or subscribe. They have utterly different cost structures, which means comparing them by eye is impossible. A dealer's "CHF 45,000" for a new car tells you nothing until you factor in depreciation, the monthly lease rate tells you nothing without inclusion or exclusion of insurance and tires, and the German import price hides a web of import fees that vary by how the dealer counted the VAT.

This is a tool to rank them fairly by annual cost per kilometer under your conditions: your annual kilometers, how many years you'll hold it, whether you charge at home or public, and how optimistic you are about resale values.

The anatomy of an EV cost

The tool accounts for ten cost components:

  • Depreciation — the car's residual value after your holding period
  • Cost of capital — the opportunity cost of buying the car instead of investing the money
  • Cantonal tax — Aargau's vehicle tax (EV-flat as of 2024)
  • Insurance — full Kasko, the standard for any financed car
  • Tires and service — predictable annual maintenance
  • Energy — your electricity rate at home and public charging, weighted by your charging behaviour
  • Wallbox — amortized over your holding period
  • Import fees — customs, duty, German tax, Swiss VAT and registration (for German imports only)
  • Monthly fees — the lease or subscription payment (for lease/subscription only)
  • Excess kilometers — if your lease/subscription has a mileage cap

Correction, 2026-09-06. This post originally said, at exactly this point, that "all rates are hand-verified against official sources: the Aargau Strassenverkehrsamt for tax, real insurance quotes, confirmed electricity rates." That was not true, and nothing in the codebase ever backed it up — there was not a single citation next to a single constant. It is removed rather than softened.

What is true is now on the site itself: every figure the model uses carries a label saying whether it is a published rate, with a link and a date, or our own estimate. Some are published — the ElCom electricity tariff, the 8.1% import VAT, the 4% Automobilsteuer, the German VAT rate, the ECB exchange rate, Aargau's published registration fees. Several are estimates, and for three of them we looked and found that no Swiss body publishes a figure at all: there is no national average price per kWh for public fast charging, no published average comprehensive-insurance premium, and no Swiss residual-value table for electric cars. Saying so is more useful than inventing a number.

Checking the sources also found two figures that were simply wrong. The tool charged a customs duty of CHF 14.00 per 100 kg on German imports; Switzerland abolished import duties on industrial products, cars included, on 1 January 2024, so that duty does not exist and every German import was overstated by roughly CHF 300. And registration was a flat, unsourced CHF 400 where Aargau's published fees come to CHF 137. Both are fixed. The full record is in docs/DATA-SOURCES.md in the repository.

The data

Twenty-five real market offers, collected by hand between 2026-08-10 and 2026-08-19. Mix of acquisition types: new purchase, used cars, German imports, subscriptions, and leases. Real prices and contract terms as they stood in August, not live market data, and each offer carries the address it came from. The tool does not auto-scrape; updates are manual.

Why it exists

Because you can't see the answer by looking. No dealer will tell you their profit margin on the lease fee, the residual-value risk is invisible in the purchase price, and Swiss vs. German vs. subscription math is genuinely orthogonal. Collecting the offers by hand is slow, but it means every one of them is a real offer with an address attached.

Infra

Zero cost per month: the tool runs colocated on the same free-tier Oracle Micro that powers zzd.ch, sharing idle capacity. No database, no cron jobs, no complex ops — the backend is ~50 MB of Python, the frontend is a static React bundle.

Disclaimer

It's beta. The offers are a dated snapshot, not live data, and they do not auto-update — confirm any price with the seller. Residual values are one table applied to every model, which is the largest single source of error here; the tool gives you a ±20% sensitivity slider to explore the range. Insurance, service, tyres and the public-charging price are flat estimates, not quotes. The tax model covers canton Aargau only. Tax policy and financing terms change. Always verify with dealers and insurers before deciding.

Try it at ev.zzd.ch. There is also a German companion piece, Was ein Elektroauto in der Schweiz pro Kilometer kostet, which works the electricity-versus-petrol comparison through with the published ElCom and TCS prices and then says, item by item, which parts of a full cost calculation nobody actually knows.