Skip to content

Benchmark bank (vertailutietopankki)

The benchmark bank (vertailutietopankki) is an opt-in comparison network where participating housing associations can see how other associations have fared in comparable defect situations — as anonymous, k-anonymous aggregate statistics.

The principle is give to receive: an association participates by sharing its own derived defect data, and in return gains access to statistics from all participants. No member personal data, free-form text, photos, or apartment identifiers ever leave the association’s own environment.

Builders can delay the repair process because boards negotiate blind. When you know that in comparable VS wet-room defects approximately 78 % are repaired, the median is 1–3 months, and around 10 % escalate to KRIL, you have the facts you need at the negotiating table.

The benchmark bank fills an information gap that no competing product can fill, because it requires extensive structured RS-stage defect data — exactly what has accumulated in VAREK.

What data is shared — the exact field list

Section titled “What data is shared — the exact field list”

When an association participates, the following structured, coarse fields are derived from its defect and claim history. These are the only fields that cross the association boundary:

FieldDescription
Defect categoryClosed enum (e.g. wet room, facade, heating)
SubcategoryTaxonomy-based detail
Structure classWall / floor / ceiling / roof / foundation / other
SeverityClosed enum
RegionProvince (maakunta) — no street address or neighbourhood
Completion-year bucket2–5 year bucket — not the exact year
Size bracketS / M / L (≤20 / 21–50 / 51+ apartments)
Building typeApartment block / terraced / semi-detached / detached / other
Builder business IDOnly a checksum-validated Y-tunnus
Total duration bucket< 30 / 30–60 / 60–90 / 90–180 / 180+ days
OutcomeClosed enum (fixed / partially fixed / price reduction / settled / KRIL / court / expired)
Discovery phaseMove-in inspection / year-1 inspection / warranty / post-warranty hidden
FieldDescription
Builder business IDOnly a checksum-validated Y-tunnus
Legal basis classGeneralised statute reference
Response time bucketBucketed durations as above
Response within deadlineYes / No
OutcomeSame closed enum as above

Participation is voluntary and requires a board decision. VAREK stores the decision date and a board member’s confirmation.

  • By participating you gain access to the statistics of all other participating associations.
  • Without participation you cannot view other associations’ data.
  • You may withdraw at any time — your derived data is deleted on the next weekly run (≤ 7 days).

Opt-in process in VAREK (when the feature is activated)

Section titled “Opt-in process in VAREK (when the feature is activated)”
  1. Go to the Benchmark page (/vertailu) from the left menu.
  2. Read the exact shared fields (the list above) and the reciprocity condition.
  3. Enter the board decision date and confirm participation.
  4. Your association’s data will be included in the next weekly run.

Views (when activated and you are participating)

Section titled “Views (when activated and you are participating)”

“How did others fare” — DefectDetail panel

Section titled ““How did others fare” — DefectDetail panel”

On each defect’s detail page a panel shows statistics for comparable defects across participating associations:

  • What percentage were repaired
  • Median time (in bucket form)
  • What percentage escalated to KRIL

On the claim detail page you can see builder response-time statistics for comparable situations relative to your own situation.

The association’s overall comparison view: defect-category mix relative to the national distribution, builder SLA percentiles, and outcome distributions by category.

k-anonymity — “not enough comparison data”

Section titled “k-anonymity — “not enough comparison data””

A statistic is displayed only when all three conditions are met:

  1. At least 3 distinct associations (or 5 for builder-level statistics) have contributed comparable data to the same statistic bucket.
  2. No single association accounts for more than 40 % of the bucket’s rows (dominance cap — prevents one litigious board from skewing the figure).
  3. The statistic is computed per association first, then aggregated — the figure represents at least K independent parties, not K individual cases.

If any condition is not met, you will see: “Not yet enough comparison data for this category.” This is a deliberate design choice, not an error.

Recording outcomes is a useful feature for all boards regardless of whether they participate in the benchmark bank.

When a claim reaches a resolution, the board can record:

  • Outcome: fixed / partially fixed / price reduction / settled / refusal / expired
  • Confidential settlement (checkbox): if the claim was resolved under an NDA, the defect and all linked claims are automatically excluded from the benchmark bank.

Builder-level statistics are shown only for builders with a checksum-validated Y-tunnus who meet stricter thresholds:

  • At least 8 claims
  • At least 5 distinct buildings
  • At least 5 distinct associations

Statistics are presented as a process description, not a culpability verdict: distribution of outcomes + provenance (how many associations, when calculated). No headline summary number, no ranking.

Every builder view displays a pinned disclaimer:

“These figures describe the process, not the builder’s culpability. A settlement or price reduction is not an admission of liability. Based on events reported by participating associations — does not guarantee an outcome, not legal advice.”

Technical architecture and data protection

Section titled “Technical architecture and data protection”

Data flows as follows:

  1. A weekly run (Sunday 04:00 UTC) reads the defect data of participating associations using the platform service client.
  2. A pure derivation module (benchmark-derive.ts) converts raw data into closed enumerations and coarse buckets. No free-form text, personal data, exact dates, or exact counts ever leave this module.
  3. Derived rows are written to separate benchmark_* tables that client sessions cannot query directly (service-role only).
  4. The only read paths are k-anonymity-enforcing aggregate functions (RPCs). Individual rows cannot be downloaded.
  5. Withdrawal deletes the data: when an association opts out, its derived rows are deleted on the next run (≤ 7 days). No tombstone records are kept — the data is removed entirely.
ActionBoardShareholdersOthers
Participation card and opt-in✓ (board_admin)
“How did others fare” panel✓ (when participating)
/vertailu dashboard✓ (when participating)
Recording claim outcome✓ (is_admin)