1. The annex 9 rule, step by step
The summer comfort indicator (French order of 31 March 2021, annex 9, consolidated by the order of 8 October 2021) rests on five criteria, split into two families:
- Two eliminatory criteria: external solar protections and roof insulation.
- Three secondary criteria: thermal inertia, dual-aspect layout and fixed ceiling fans.
The level is then derived in two steps:
- If either eliminatory criterion is not satisfied → the level is "insufficient", whatever the secondary criteria.
- If both eliminatory criteria are satisfied → count the secondary criteria: at least two out of three → "good"; otherwise → "medium".
This rule is informative only: it does not change the energy or climate label of the DPE.
2. Source hierarchy per criterion
For each criterion, the tool uses the most reliable available source, in this order of priority:
- XML file — the flags declared in the DPE's official XML output (summer comfort block) prevail whenever the file is uploaded.
- ADEME data — the characteristics found from the DPE number or address: summer comfort criteria declared by the assessor, roof insulation quality, inertia class, description of the windows and their shutters.
- Declared answers — your answers to the complementary questions (solar protections, dual-aspect, ceiling fans) when no data is available.
- Regulatory convention — the 1975 convention for roof insulation when neither data nor answer is available (see below).
When a criterion remains unknown, the tool never invents a value: it returns an honest range (worst case / best case) instead of a clear-cut verdict.
3. The 1975 convention
When the roof insulation quality is unknown, the tool applies a regulatory convention based on the construction year: a home built before 1975 (the first French thermal regulation) is deemed poorly insulated on its roof, and a home built in 1975 or later is deemed insulated. If the exact year is missing, the construction period label is used (upper bound of the range); if both are absent, the criterion stays unknown and feeds the range.
4. Roof criterion neutralised for flats
For a flat on the ground floor or an intermediate floor — with no roof or top floor above the dwelling — the roof insulation criterion does not apply (annex 9). It is displayed as "not assessed" but treated as satisfied in the calculation, since there is no deperditive upper floor. A flat on the top floor or under the roof is, on the contrary, treated like a house and subject to the 1975 convention.
5. Buildings and overseas territories
- Whole-building DPE (annex 9.1): the official indicator is not assessed for a DPE established at building level. The tool still computes an estimate, clearly labelled "OneDpe estimate", but points out that the official indicator does not exist for this document.
- Overseas territories (postal codes 97x / 98x): the annex 9 indicator is defined for metropolitan France. Overseas, the tool returns no verdict and displays a dedicated message — a hygrothermal indicator adapted to those climates is under study.
6. Scope and limits of version 1 of the test
Scope: DPE of existing dwellings (ADEME base dpe03existant). New-build DPE and tertiary/commercial DPE are out of scope in version 1.
- Solar protections: the tool first takes the criterion as the assessor declared it — in the summer comfort block of the XML file if you upload it, otherwise in the ADEME database, found from the DPE number or address. Failing a declaration, it recomputes this eliminatory criterion with the annex 9 rule from the windows and their shutters described in the certificate (uploaded XML file, or envelope description from the ADEME data). Your answer is only requested when none of these sources fills in the criterion; if you report that a pre-filled value is wrong ("Not accurate?"), your answer is the one retained. When the criterion remains unknown, the certificate's XML file, if you have it, may settle it.
- The estimate is not a DPE: only a DPE issued by a certified assessor is authoritative.
7. Regulatory status
A "summer comfort letter" was announced on 15 July 2026, but no text has been published to date. The annex 9 indicator remains in force and this tool stays valid: should an official text be published, we will update the method and the related articles accordingly.
8. Attribution & version
- DPE data: ADEME (Open Licence 2.0).
- Summer climate data (very hot days ≥ 35 °C, tropical nights > 20 °C): Météo-France 1991-2020 normal, MENSQ monthly climatological data, under Etalab Open Licence 2.0; 2050 projection: OneDpe calculation based on DRIAS (Météo-France and partners, TRACC-2023 dataset), under Etalab licence (version not specified by the DRIAS portal) — by municipality and department.
- Urban heat island: WUDAPT Europe local climate zones (CC BY 4.0). UHI data: MApUCE project (Météo-France/CNRM, ANR), ODbL licence — Bocher et al., Urban Climate 24 (2018) 153-174.
- Municipalities, main town halls and population: IGN, ADMIN EXPRESS COG 2026, under Etalab Open Licence 2.0; INSEE, municipal population from the 2023 census, under Etalab Open Licence: free reuse with attribution of the source.
- Score versions 0.1.0 to 0.7.0 and 2026 barometer (very hot days and tropical nights, 1976-2005 reference and TRACC 2030 projection): Météo-France, Climadiag Commune, v4.0.1 indicators (archive of 21/07/2026) — reuse under articles L. 321-1 and L. 322-1 of the French CRPA; no specific licence published by the producer.
- Rule version: 1.1.0
OneDpe summer exposure index (0-100) — proprietary method
Beyond the official 3-level indicator above, OneDpe computes the summer exposure index, a proprietary 0-100 score (published with its exposure tier — low, moderate, high or very high: a OneDpe tier, non-regulatory, distinct from the DPE summer comfort indicator) that grades the building and crosses it with the climate of the municipality, observed over 1991-2020 and projected to 2050, and with the urban heat island effect at the address. It is indicative and non-official, distinct from the annex 9 indicator and from the future 2028 indicator. Up to version 0.7.0, it was called “OneDpe Summer Score”: the 2026 edition of the barometer published it under that name.
What the index estimates
The OneDpe summer exposure index estimates the rank of a dwelling's exposure to the risk of summer thermal discomfort, with discomfort degree-hours within the meaning of the French order of 4 August 2021 (annex II, §5.1) as the reference proxy, without dynamic thermal simulation.
A rank, not a physical quantity: the score orders dwellings relative to one another; it predicts neither an indoor temperature nor a number of degree-hours. Validation target set on 22/09/2026. The current version has not yet been compared with reference discomfort degree-hours: that comparison is part of the planned revisions.
Formula: Score = round(100 − (0.65 × building penalties + 0.35 × climate exposure)), bounded 0-100: a single rounding, on the exact score, to the nearest integer (halves upwards).
- Building: graded penalties on the annex 9 criteria — solar protection −30 and roof −20 (eliminatory), inertia −15, dual-aspect −10, ceiling fans −5, plus solar overheating 0-10.
- Climate: for the dwelling's municipality (otherwise its department), Météo-France observed 1991-2020 normal (MENSQ data) and 2050 projection computed by OneDpe from DRIAS, blended in equal parts (0.5 and 0.5). Very hot days (maximum ≥ 35 °C) and tropical nights (minimum > 20 °C) are brought onto a fixed scale (from −1 to 35 days, from −1 to 91 nights), then weighted 0.4 and 0.6: this is the severity S. The climate component is 1.27 × 100 × S, capped at 100, to which the urban heat island is added (see below).
- Calibration: tier boundaries of version 1.0.0 set once on the septiles of the exact score before ceiling, over 10,405,420 certificates of existing dwellings in mainland France whose summer comfort indicator is filled in (ADEME database as of 25/08/2026), grouped 2/7, 2/7, 2/7 and 1/7 from low to very high exposure; the progression of the medians of the score before ceiling with the declared indicator (insufficient < medium < good) was checked. Positioning: more reliable than the declared indicator, 16.4% of which diverges from the criteria recorded on the certificate itself (OneDpe measurement, 2,369,457 usable certificates).
- Current limits: a criterion answered “I don't know” is not penalised (optimistic score — a confidence index is shown); the ranking depends on the climate model that provides the 2050 projection, on the station used for each municipality's normal and on the weight given to tropical nights (see “Known limitations” below). The urban heat island effect (LCZ), by contrast, is resolved at address level since score 0.5.0. Since version 1.0.0, it is fitted on the MApUCE heat island maps and no longer depends on the climate severity.
- Index version: 1.0.0
Which method applies where
- The online tool computes the score with the current engine (version 1.0.0), at every analysis.
- The map and the figures of the 2026 barometer are frozen at the 2026 edition: computed with version 0.5.0 of the score, they are not updated when the engine changes. The 2026 barometer is expressed as scores out of 100 and as medians, never as letters; the A-G letters were the output of the tool, up to version 0.6.0 (see "paliers.historique_lettres"). The map and the figures of the 2026 barometer bear the former name of the index.
- The comparison with the housing stock uses the medians of version 1.0.0 of the index, computed on the certificates as of 25/08/2026: 10,067,912 certificates, excluding 337,505 DPE of dwellings generated from the whole-building one and 3 certificates whose entered postcode is overseas, whose score the tool does not display; national median 66 out of 100 (the 2026 edition of the barometer gave 67, with version 0.5.0); municipal median published for 6,205 municipalities with at least 200 certificates, otherwise the department's. The comparison of a dwelling with the rest of the housing stock (commune, department and national medians) is only displayed when the medians were computed with the same major and minor engine version as the one serving the score.
Full parameters — reproduce the score yourself
The parameters of the formula are published below; the full method, machine-readable, gives every one of them, technical thresholds and rounding rules included. Nothing else enters the computation.
Complete method, versioned and machine-readable: /methode/score-ete.json (JSON, version 1.0.0, document revision 4). This page and that file are generated from the same engine values.
Exposure tiers (on the 0-100 score): Low exposure ≥ 80 · Moderate exposure ≥ 67 · High exposure ≥ 57 · Very high exposure < 57. Since version 0.7.0, the tool displays the dwelling's exposure tier instead of a letter. The score and its direction do not change: a high score means a low exposure. Since version 1.0.0, the tier boundaries are set on the distribution of the exact score before ceiling of the calibration certificates — from low to very high exposure, 2/7, 2/7, 2/7 and 1/7 of these certificates — and are no longer the floors of the former letters; the table below also gives the ranges of version 0.7.0.
| Exposure tier | Score | Up to version 0.7.0 |
|---|---|---|
| Low exposure | 80-100 | 77-100 |
| Moderate exposure | 67-79 | 65-76 |
| High exposure | 57-66 | 52-64 |
| Very high exposure | 0-56 | 0-51 |
History of the tool's A-G letters: Up to version 0.6.0, the tool displayed a letter from A (best summer comfort) to G; from version 0.3.0 onwards, its thresholds were: A ≥ 84 · B ≥ 77 · C ≥ 70 · D ≥ 65 · E ≥ 61 · F ≥ 52 · G < 52. The "Mes DPE" records made with versions 0.1.0 to 0.6.0 of the score keep their letter, with their date and version, but it is not displayed. These letters were the output of the tool alone: the 2026 barometer is expressed as scores out of 100 and as medians, never as letters. Since version 1.0.0, the tier boundaries are no longer the floors of these letters. These letter thresholds are the national septiles measured on 199,875 DPE (2026-07-22). They were unchanged by the addition of the floor factor (0.4.0) and by the activation of the urban heat island (0.5.0, recalibrated on 1,999,249 DPE). Correspondence of version 0.7.0: A and B → Low exposure · C and D → Moderate exposure · E and F → High exposure · G → Very high exposure.
Tier boundaries of version 0.7.0: Low exposure ≥ 77 · Moderate exposure ≥ 65 · High exposure ≥ 52 · Very high exposure < 52; they are the floors of letters B, D and F, set in version 0.3.0 on the septiles of the score at the time. The ceiling of "insufficient" was 64, that of "medium" 76.
Calibration of version 1.0.0, for information: of the 10,405,420 calibration certificates (ADEME database as of 25/08/2026), including 337,505 DPE of dwellings generated from the whole-building one and 3 certificates whose entered postcode is overseas (the tool does not display their score), the served distribution is 9.98% low exposure, 35.41% moderate exposure, 39.57% high exposure and 15.04% very high exposure; the annex 9 ceiling lowers the score of 28.6% of them.
Annex 9 ceiling (since 0.6.0): the score can never claim a better tier than the regulatory verdict allows. The regulatory level is recomputed on its most favourable reading, so an unknown criterion is never penalised twice; “insufficient” caps the index at 66 (at best “High exposure”), “medium” at 79 (at best “Moderate exposure”); “good” is not capped. The ceilings are derived from the tier boundaries: each one is the top of a tier. There is deliberately NO floor: this index crosses the building with the climate of the municipality, and a dwelling rated “good” must remain free to score lower in Marseille than in Brest. Share of the calibration certificates whose score this ceiling lowers: 28.6% (of the 10,405,420 certificates above, generated units included).
Floor factor (flats only): top floor +6 × S (penalty), ground floor −4 × S (bonus), S being the climate severity of the municipality (see below), applied to the building component; only when the climate is resolved and the position known, excluding units generated from the whole-building DPE, whose position is arbitrary. No regulatory method models this; the magnitude is an expert setting, not a measured one.
Urban heat island (local climate zone → nights): each fabric type at the address (WUDAPT Europe map) adds ν tropical nights relative to open low-rise fabric (LCZ 6), from the night-time temperature gaps of the MApUCE maps; converted like the climate nights, they are worth at most 2.39 points of the climate component, bounded to ±8; no climate severity is involved.
| LCZ (WUDAPT) | Nights ν | Night gap (K) | Points of C |
|---|---|---|---|
| 1, 2 — compact high / mid-rise | +2.88 | +2.0 | +2.39 |
| 3, 4, 5 — compact low-rise, open high / mid-rise | +1.57 | +1.2 | +1.30 |
| 8, 10 — large low-rise, heavy industry | +1.19 | +0.8 | +0.99 |
| 6, 7 — open low-rise, lightweight | 0 (reference) | 0 (reference) | 0 (reference) |
| 13 — bush, scrub | −0.22 | −0.3 | −0.18 |
| 15 — paved | −0.30 | −0.4 | −0.25 |
| 17 — water | −0.37 | −0.5 | −0.31 |
| 16 — bare | −0.45 | −0.6 | −0.37 |
| 9 — sparse | −0.76 | −0.9 | −0.63 |
| 12, 14 — scattered trees, low plants | −0.87 | −1.0 | −0.72 |
| 11 — dense trees | −0.98 | −1.1 | −0.81 |
UHI data: MApUCE project (Météo-France/CNRM, ANR), ODbL licence — Bocher et al., Urban Climate 24 (2018) 153-174. The 17 per-type constants (gaps in K and nights) are published under this licence; the maps are not redistributed.
Solar overheating (0-10): ratio of south-equivalent glazed area to living area, mapped linearly between the 75th and 90th percentile of the climate zone: H1a 0.85–1.29 · H1b 0.76–1.02 · H1c 0.73–0.96 · H2a 0.80–1.04 · H2b 0.76–1.03 · H2c 0.74–0.98 · H2d 0.68–0.88 · H3 0.76–1.06 (default 0.78–1.00 when the zone is unknown).
Climate component: C = min(100; 1.27 × 100 × S) + O, bounded 0-100, S being the climate severity (below) and O the urban heat island (above); C is not rounded. When the climate cannot be resolved, or a climate value is not numeric, it is dropped entirely and the building weight is renormalised to 1: the index then rests on the building alone, which can make it harsher or more lenient than it would be with the climate, and the result card states that the climate was not assessed.
Climate severity S (0-1): for the dwelling's municipality (otherwise its department), J = 0.5 × J91 + 0.5 × J2050 and N = 0.5 × N91 + 0.5 × N2050, where J91 and N91 count, per year, the very hot days (maximum ≥ 35 °C) and the tropical nights (minimum > 20 °C) of the observed 1991-2020 normal, and J2050 and N2050 their projection to 2050. Each count is brought onto a fixed scale, the same for all municipalities and not recomputed from the data: n = bound((x − low) / (high − low); 0; 1), from −1 to 35 days and from −1 to 91 nights a year; the upper bounds are the municipal maxima observed over 2015-2024. S = 0.4 × n_days + 0.6 × n_nights, rounded to 3 decimals; it is computed by the engine at every analysis, and is not stored in the data.
Station of the normal: each municipality takes the Météo-France station usable over 1991-2020 that is nearest to its main town hall and whose altitude differs by 100 m at most, within a 50 km radius, otherwise the nearest one (575 municipalities, 0.47% of the population). Paris, Lyon and Marseille: average of the arrondissements, weighted by their population. 34,740 municipalities have a normal, assigned to 1,041 stations; a municipality without a normal takes its department's values, the average of its municipalities weighted by their population. The result card shows the station(s) used.
2050 projection: OneDpe calculation based on DRIAS (Météo-France and partners, TRACC-2023 dataset, median of a model ensemble, reference warming level associated with 2050). The difference between that level and the 1976-2005 period of the same ensemble, read at the municipality's grid point, is added to the observed normal. Days: the difference is read on the DRIAS hot-day curve, interpolated between 30, 35 and 40 °C, at the department-specific threshold that makes the DRIAS reference curve, averaged over the department, match the days observed over 1976-2005. Nights: the difference is multiplied by the ratio, bounded around the department's, between the municipality's normal nights and those of the DRIAS reference. A negative projection is set to zero.
Confidence index: (number of the 5 annex 9 criteria actually known ÷ 5) × 0.7 if the climate is missing × 0.5 if the certificate is a whole-building or overseas one (a defensive branch: the tool displays no score for such certificates, whose verdict is unavailable). A criterion answered "I don't know" is not penalised — the score is optimistic, and the confidence index is what tells you so.
Assumptions not modelled
- The score assumes night-time ventilation is possible: noise, ground-floor security and air pollution, which can prevent opening windows at night, are not modelled. The credit given to dual-aspect dwellings and the ground-floor bonus rely on this assumption.
- Air conditioning is out of scope: the score measures the exposure of the building without air conditioning, like the annex 9 indicator (§ 9.4).
- Overseas dwellings are not assessed: the annex 9 indicator is defined for metropolitan France, and the climate dataset only covers metropolitan departments.
Known limitations
- An unknown criterion counts exactly as a satisfied one, for the score, the tier and the ceiling: the score is optimistic when data is missing, and only the confidence index says so.
- The 2050 projection is a OneDpe calculation based on the median of a climate model ensemble (DRIAS, TRACC-2023). The ranking depends on it: replacing that median with the ensemble minimum, point by point, puts 17.1% of the population in a municipality whose climate exposure rank moves by more than 5 centiles, and 3.7% by more than 10. Giving the observed normal and the projection equal weight increases this dependency.
- A municipality's 1991-2020 normal is that of the nearest usable Météo-France station at a comparable altitude; in Paris, Lyon and Marseille, the average of the arrondissements. Marseille has no usable station within the city over that period: its values come from the Marignane and Aubagne stations, i.e. 22.5 tropical nights a year over 1991-2020. The result card shows the station(s) used.
- Tropical nights weigh more than very hot days: per unit, one night counts as 0.59 day (weight 0.6 over a 92-night scale, against 0.4 over 36 days), and nights carry 72.9% of the between-municipality variance of climate severity, population-weighted.
- The magnitude of the floor factor is an expert setting, not fitted on measurements.
- The tier boundaries are relative: set on the septiles of the exact score before ceiling of the calibration certificates (ADEME database as of 25/08/2026), they place a dwelling relative to these certificates, not on an absolute scale of discomfort.
- The building and climate components are combined additively, with no interaction term: ceiling and rounding aside, a missing criterion costs the same number of points whatever the climate.
- Without a resolved climate, the score rests on the building alone (100 − B instead of 100 − (0.65 × B + 0.35 × C)): it is harsher than it would be with the climate when B > C, more lenient when B < C. The result card then states that the climate was not assessed.
Known defects of this version
- DEF-2 — Outside the domain of the shipped data: at very high severity, on the ground floor, the ground-floor bonus brings the building component down to zero or close to it; removing the ceiling fan then costs only a fraction of a point, which can vanish in the rounding. Unreachable with the shipped data. Planned fix: Disappears with roof exposure, which replaces the floor factor (component prepared, not applied in version 1.0.0).
- DEF-4 — When the climate component saturates at its maximum, the score can go back up on the ground floor; this defect survives the removal of the rounding. Unreachable with the shipped data. Planned fix: Revisit the interaction between the ground-floor bonus and saturation.
Fixed defects
- DEF-1 — Up to version 0.7.0, a hotter climate could raise the score by one point on the ground floor: the climate component was rounded before being combined, the ground-floor bonus was not. Real counter-example: the same ground-floor flat scored 91 in Mervent (85) and 92 in Châtres (10), a commune hotter in both reference and 2030 severity. One point at most per step, on the real domain. Fixed in version 1.0.0: a single rounding, on the exact score.
- DEF-3 — Up to version 0.7.0, a non-numeric severity (NaN) gave a non-numeric score, displayed in the "Very high exposure" tier. Unreachable with the shipped climate dataset (JSON cannot encode NaN). Fixed in version 1.0.0: a non-numeric climate value is treated as a missing climate.
How often the declared indicator is wrong
We re-applied the annex 9 rule to the five parameters recorded on each certificate, and compared the result with the verdict the assessor actually wrote. Below is the full comparison — rows are what the certificate declares, columns what the rule gives.
| Declared ↓ / Recomputed → | Insufficient | Medium | Good |
|---|---|---|---|
| Insufficient | 869 125 | 49 357 | 43 457 |
| Medium | 100 338 | 904 631 | 23 017 |
| Good | 133 217 | 39 844 | 206 471 |
The diagonal is agreement. Off it, 16.4% of certificates display a verdict that contradicts their own recorded criteria. The asymmetry matters: an "insufficient" verdict is confirmed 90.4% of the time, a "medium" one 88.0%, but a "good" one only 54.4% — and 35.1% of certificates declared "good" turn out to be "insufficient" once the rule is applied. Overall the recomputed share of "insufficient" is 46.5%, against 40.2% declared.
Measured on a 25% sample (2,413,909 certificates) of the 9,663,670 that carry the indicator; 44,452 could not be decided because a parameter is missing and are excluded rather than forced. As an external check, the Pouget Consultants / IGNES study of 16 June 2026 publishes the same recomputation on its own extraction and reaches 46.39% "insufficient", 42.17% "medium", 11.44% "good" — our figures are 46.54 / 41.94 / 11.52.
Sources: Météo-France summer normals, MENSQ 1991-2020 data, under Etalab Open Licence 2.0; 2050 projection: OneDpe calculation based on DRIAS (Météo-France and partners, TRACC-2023), under Etalab licence (version not specified by the DRIAS portal); LCZ map WUDAPT Europe 100 m (Demuzere et al. 2019, CC BY 4.0); municipalities, main town halls and population: IGN, ADMIN EXPRESS COG 2026, under Etalab Open Licence 2.0, and INSEE, 2023 census, under Etalab Open Licence: free reuse with attribution of the source. UHI data: MApUCE project (Météo-France/CNRM, ANR), ODbL licence — Bocher et al., Urban Climate 24 (2018) 153-174. Score versions 0.1.0 to 0.7.0 and 2026 barometer: Météo-France, Climadiag Commune, v4.0.1 indicators (archive of 21/07/2026) — reuse under articles L. 321-1 and L. 322-1 of the French CRPA; no specific licence published by the producer. Method published on 2 August 2026, identified by its version and its document revision (here version 1.0.0, document revision 4) — if you reproduce the score and find a discrepancy, the engine is the reference and we want to know.