Methodology · schema v1
A small deterministic model with visible limits
The same inputs and source snapshot produce the same calculation. Templated report wording is used; no client data is sent to an LLM.
1. Identity before calculation
Each selected building address is resolved through swisstopo to an official address feature, coordinates and BFS municipality number. The comparison server resolves the official record again and rejects inconsistent municipality, canton, postcode or coordinates; a browser flag is not proof of identity. Homes and workplaces may be anywhere in Switzerland. A postcode is never treated as a municipality identifier.
2. Known monthly-cost range
- Actual rent is mandatory for both places.
- If actual insurance is absent, HomeCompare sums the 25th and 75th percentiles of matching approved 2026 tariffs for each age group, region, deductible, model and accident-cover selection. These are indicative derived bands, not an officially approved household range, a calibrated confidence interval or a personal quote.
- Blank childcare, taxes, utilities, deposits, moving costs and unentered expenses are excluded. They are not filled with synthetic estimates.
The optional spending planner is separate from this known-cost range. It uses your own grocery, meal, utility and transport budgets, not a retailer or restaurant feed. Weekly groceries and whole-household person-meals use 52/12 weeks per average month; monthly categories are added without converting travel time to money. Displayed bounds are rounded outward to whole francs. A blank or invalid bound blocks that home’s planning total, and a difference is shown only when both homes have all selected categories and matching base childcare inclusion. Unknown costs are never silently zero.
The planner shows a partial scenario, not a new recommendation, statistical confidence interval, full cost of living or take-home income. It does not alter the core preference, professional PDF or share card. Taxes, moving costs, deposits and unentered expenses remain excluded; check utility/parking charges are not already in rent. Its separate private text download contains your budgets. No planner inputs are sent to the server or retained on refresh.
3. Commute stays a separate dimension
The comparison requests address-to-address public-transport journeys for the selected arrival context. OJP 2.0 is primary. The community timetable fallback is disabled unless explicitly enabled; if used, it is labelled in the result and PDF. Otherwise unavailable journeys stay unavailable. With two workplaces, each place’s commute dimension is the arithmetic mean of its two journey times only when every requested home/workplace pair is available exactly once. Partial journeys remain visible but do not produce comparative averages or time-saving claims. Minutes are never converted into francs.
If you explicitly select “No commute needed”, no destinations, arrival time or journey requests are used. The form visibly sets cost to 100% and commute to 0%. Travel time remains unmeasured, not zero. Returning to commute comparison restores your previous weighting; a failed journey is never silently converted into this mode.
4. Transparent pair-relative weighting
Cost and commute receive the exact weights shown by the user, normalised to 100%. Each dimension is scored only relative to the two selected places: the lower value scores above 50 and the higher value below 50, with extreme spread capped at 50 points. This is a comparison aid, not an absolute quality score.
The optional personal workspace separately distinguishes preferences from must-haves. A failed or unchecked must-have stays visible even if a home has a cost advantage. These are your viewing observations, not independently verified facts; they do not change the numerical result or appear in the professional PDF or share card. Completing an action does not prove a requirement has been met.
5. Tax is context, not liability
When requested, the result shows a verified 2026 municipal multiplier and source where a normalized adapter is available. That coverage currently includes Zürich, Zug and Aargau; other cantons receive a clearly labelled link to the official ESTV calculator. Cantonal tax bases differ, so multipliers are not compared directly across cantons and are excluded from the monthly range and score.
6. Deliberate exclusions
No school-quality score, neighbourhood-crime score, childcare-fee estimate, live hospital-capacity claim, listing scrape or current-market rent estimate is used.
The optional supermarket panel uses a separately licensed OpenStreetMap Swiss extract. It shows up to three mapped features within 2 km of each home, ranked by approximate straight-line distance calculated locally with the haversine formula and a mean Earth radius of 6,371.0088 km. Nodes use their mapped point; ways and relations use their bounding-box centre, not a verified entrance. This is HYBRID context: community mapping plus derived proximity, not verified retail coverage, a walking route or a lifestyle score.
Each panel shows the source database and ingestion dates, attribution and the complete downloadable ODbL derivative. Shop observation dates, live trading, stock, prices and accessibility remain unknown. The extract is withheld after 30 days or an overdue source-use review; a refresh of the file alone cannot make an old source current. Empty results do not prove that no shops exist. Other shop types and cross-border stores are excluded; distinct map features can duplicate one business. This context does not change the decision, costs, PDF, share card or viewing plan.