The operational problem
A risk product ends up with one number for each unit of territory. A county with ninety localities cannot read ten indicators for each of them, and a ranking is what turns satellite data into an order of work.
The number is then questioned. A mayor asks why their locality scores higher than the one next to it. If the only answer is that the model says so, the score cannot be defended and stops being used. So the score has to come apart into the things that produced it.
The method
This is how the fire risk score in TerraScan is computed, read from its scoring module.
- Ten factors. Each one turns what it reads into a value between 0 and 1. Seven do it on a straight line between a lower and an upper threshold: under the lower one the value is 0, over the upper one it is 1. Three are exceptions. Population exposed is placed between its thresholds on a logarithmic scale. Seasonality reads no indicator: it is a fixed value for each month of the year. Dry vegetation combines two indicators, as shown below the list.
- A weight for each. The ten weights add up to 1. A factor contributes
value × weight × 100points. - A sum. The points are added. An adjustment for the trend of the last seven days is then applied, 0.3 points for every point of trend and never more than 8 either way. The result is kept between 0 and 100 and rounded.
- The parts are kept. The result carries, for every factor, its name, its weight, its value between 0 and 1 and its points, sorted from the largest. It also carries the indicators as read, the trend, a confidence figure and whether the data is real or indicative.
A report lists the five largest factors, each as a share of all the points. Because five of ten are listed, the percentages in a report do not add up to 100.
The dry vegetation factor is 0.6 × dryness + 0.4 × fuel, where dryness falls as NDMI rises from -0.1 to 0.4 and fuel rises as NDVI goes from 0.15 to 0.7.
Worked example: a score of 55, taken apart
Synthetic example The indicator values below were chosen for this note. They do not describe a real territory. The thresholds and the weights are the ones in the scoring module.
| Factor | Indicator | Thresholds | Value | Weight | Points |
|---|---|---|---|---|---|
| Fire weather index | FWI 32 | 5 to 50 | 0.60 | 0.22 | 13.20 |
| Dry vegetation | NDMI 0.05, NDVI 0.45 | see below | 0.64 | 0.18 | 11.49 |
| Drought | 58 of 100 | 10 to 90 | 0.60 | 0.14 | 8.40 |
| Surface temperature | 36 °C | 20 to 45 | 0.64 | 0.10 | 6.40 |
| Population exposed | 12,000 people | 100 to 100,000, on a log scale | 0.69 | 0.06 | 4.16 |
| Forest cover | 40% | 5 to 75 | 0.50 | 0.08 | 4.00 |
| Active fires | 1 | 0 to 4 | 0.25 | 0.12 | 3.00 |
| Seasonality | August | fixed value per month | 1.00 | 0.02 | 2.00 |
| Critical infrastructure nearby | 2 assets | 0 to 5 | 0.40 | 0.04 | 1.60 |
| Smoke, PM2.5 | 22 µg/m³ | 10 to 80 | 0.17 | 0.04 | 0.69 |
| Sum of the points | 54.94 | ||||
| Trend adjustment, with a flat trend | 0 | ||||
| Score, rounded | 55 | ||||
One row by hand. The fire weather index is 32. Between the thresholds 5 and 50 that is (32 - 5) / (50 - 5) = 0.60. With a weight of 0.22 it contributes 0.60 × 0.22 × 100 = 13.2 points.
- Fire weather index13.20
- Dry vegetation11.49
- Drought8.40
- Surface temperature6.40
- Population exposed4.16
- Forest cover4.00
- Active fires3.00
- Seasonality2.00
- Critical infrastructure nearby1.60
- Smoke, PM2.50.69
In a report this score would be explained by its five largest factors: fire weather 24 per cent of the points, dry vegetation 21, drought 15, surface temperature 12 and population exposed 8. Together that is 80 per cent; the other five factors hold the rest.
Limits and status
- Implemented
- The decomposition above, for the fire risk score. The vegetation, air and water scores are built the same way, each from its own factors, and carry their contributions in the same form.
- Fixed, not configurable
- The weights and the thresholds are fixed in the scoring module. They are not set per customer today.
- Not in the contributions
- The trend adjustment is applied after the sum, so when the trend is not flat the points of the ten factors do not add up exactly to the score. Rounding does the same on a smaller scale.
- Confidence
- The confidence figure is a rule, not a measured error: 0.90 when the indicators come from live sources and 0.55 when they are indicative, 0.05 higher when an active fire is detected and 0.10 lower where forest cover is under 3 per cent.
- Data in the demonstration
- In the public demonstration, read on 7 October 2026, only the fire report is labelled real data. The air, vegetation and water reports are labelled indicative. That the calculation is implemented says nothing about which data it ran on.
- Proposed, not implemented
- Three principles we hold and the product does not yet apply. A missing indicator should be declared missing, and units compared on fewer indicators should be marked in the ranking: today the calculation expects every indicator. Each indicator should carry the date it was observed: today the score carries one time, when it was computed. Weights should be visible and adjustable by the organisation that uses the ranking.
The product page says what is implemented and on which data: TerraScan
Changes to this note
- 11 October 2026. Rewritten from the scoring module. Removed, because the implementation does not do it: that weights are configuration visible to the customer, that a missing indicator is declared and shown in the ranking, and that a score shows when each indicator was measured. These are now listed as proposed principles. Replaced: the earlier example, a score of 71 with 44 points from two indicators measured eleven days before, was synthetic and could not be recomputed; the example above can.
- 7 October 2026. The earlier example was first marked as synthetic in a separate correction. Read it in the correction history
Problema operațională
Un produs de risc ajunge la un singur număr pentru fiecare unitate de teritoriu. Un județ cu nouăzeci de localități nu poate citi zece indicatori pentru fiecare, iar un clasament e cel care transformă datele satelitare într-o ordine de lucru.
Apoi numărul e pus la îndoială. Un primar întreabă de ce localitatea lui are un scor mai mare decât cea vecină. Dacă singurul răspuns e „așa zice modelul”, scorul nu poate fi apărat și nu mai e folosit. De aceea scorul trebuie să se poată desface în lucrurile din care a ieșit.
Metoda
Așa se calculează scorul de risc de incendiu în TerraScan, citit din modulul lui de scor.
- Zece factori. Fiecare transformă ce citește într-o valoare între 0 și 1. Șapte o fac pe o dreaptă între un prag de jos și unul de sus: sub pragul de jos valoarea e 0, peste cel de sus e 1. Trei sunt excepții. Populația expusă e așezată între pragurile ei pe o scară logaritmică. Sezonalitatea nu citește niciun indicator: e o valoare fixă pentru fiecare lună a anului. Vegetația uscată combină doi indicatori, cum se vede sub listă.
- O pondere pentru fiecare. Cele zece ponderi însumate dau 1. Un factor aduce
valoare × pondere × 100puncte. - O sumă. Punctele se adună. Apoi se aplică o ajustare pentru tendința din ultimele șapte zile: 0,3 puncte pentru fiecare punct de tendință și niciodată mai mult de 8, în plus sau în minus. Rezultatul e ținut între 0 și 100 și rotunjit.
- Părțile se păstrează. Rezultatul poartă, pentru fiecare factor, numele, ponderea, valoarea între 0 și 1 și punctele, ordonate de la cel mai mare. Poartă și indicatorii așa cum au fost citiți, tendința, o cifră de încredere și mențiunea dacă datele sunt reale sau orientative.
Un raport enumeră cei mai mari cinci factori, fiecare ca parte din totalul punctelor. Fiindcă apar cinci din zece, procentele dintr-un raport nu dau 100 adunate.
Factorul de vegetație uscată este 0,6 × uscăciune + 0,4 × combustibil, unde uscăciunea scade pe măsură ce NDMI urcă de la -0,1 la 0,4, iar combustibilul crește pe măsură ce NDVI urcă de la 0,15 la 0,7.
Exemplu: un scor de 55, desfăcut
Exemplu sintetic Valorile indicatorilor de mai jos au fost alese pentru această notă. Nu descriu un teritoriu real. Pragurile și ponderile sunt cele din modulul de scor.
| Factor | Indicator | Praguri | Valoare | Pondere | Puncte |
|---|---|---|---|---|---|
| Indicele de vreme de foc | FWI 32 | de la 5 la 50 | 0,60 | 0,22 | 13,20 |
| Vegetație uscată | NDMI 0,05, NDVI 0,45 | vezi mai jos | 0,64 | 0,18 | 11,49 |
| Secetă | 58 din 100 | de la 10 la 90 | 0,60 | 0,14 | 8,40 |
| Temperatura suprafeței | 36 °C | de la 20 la 45 | 0,64 | 0,10 | 6,40 |
| Populație expusă | 12.000 de persoane | de la 100 la 100.000, pe scară logaritmică | 0,69 | 0,06 | 4,16 |
| Acoperire cu pădure | 40% | de la 5 la 75 | 0,50 | 0,08 | 4,00 |
| Focare active | 1 | de la 0 la 4 | 0,25 | 0,12 | 3,00 |
| Sezonalitate | august | valoare fixă pe lună | 1,00 | 0,02 | 2,00 |
| Infrastructură critică în apropiere | 2 obiective | de la 0 la 5 | 0,40 | 0,04 | 1,60 |
| Fum, PM2,5 | 22 µg/m³ | de la 10 la 80 | 0,17 | 0,04 | 0,69 |
| Suma punctelor | 54,94 | ||||
| Ajustarea de tendință, la o tendință plată | 0 | ||||
| Scorul, rotunjit | 55 | ||||
Un rând, calculat de mână. Indicele de vreme de foc e 32. Între pragurile 5 și 50, asta înseamnă (32 - 5) / (50 - 5) = 0,60. Cu ponderea 0,22, aduce 0,60 × 0,22 × 100 = 13,2 puncte.
- Indicele de vreme de foc13,20
- Vegetație uscată11,49
- Secetă8,40
- Temperatura suprafeței6,40
- Populație expusă4,16
- Acoperire cu pădure4,00
- Focare active3,00
- Sezonalitate2,00
- Infrastructură critică în apropiere1,60
- Fum, PM2,50,69
Într-un raport, scorul acesta ar fi explicat prin cei mai mari cinci factori: vremea de foc cu 24% din puncte, vegetația uscată cu 21%, seceta cu 15%, temperatura suprafeței cu 12% și populația expusă cu 8%. Împreună fac 80%; restul ține de ceilalți cinci factori.
Limite și statut
- Implementat
- Desfacerea de mai sus, pentru scorul de risc de incendiu. Scorurile de vegetație, aer și apă sunt construite la fel, fiecare din factorii lui, și își poartă contribuțiile în aceeași formă.
- Fix, neconfigurabil
- Ponderile și pragurile sunt fixe, în modulul de scor. Azi nu se stabilesc pentru fiecare client.
- În afara contribuțiilor
- Ajustarea de tendință se aplică după sumă, deci, când tendința nu e plată, punctele celor zece factori nu dau exact scorul. Rotunjirea are același efect, la scară mai mică.
- Încredere
- Cifra de încredere e o regulă, nu o eroare măsurată: 0,90 când indicatorii vin din surse reale și 0,55 când sunt orientativi, cu 0,05 mai mult când e detectat un focar activ și cu 0,10 mai puțin unde acoperirea cu pădure e sub 3%.
- Datele din demonstrație
- În demonstrația publică, citită pe 7 octombrie 2026, doar raportul de incendiu e etichetat ca date reale. Rapoartele de aer, vegetație și apă sunt etichetate ca orientative. Faptul că un calcul e implementat nu spune nimic despre datele pe care a rulat.
- Propus, neimplementat
- Trei principii pe care le susținem și pe care produsul nu le aplică încă. Un indicator lipsă ar trebui declarat lipsă, iar unitățile comparate pe mai puțini indicatori ar trebui marcate în clasament: azi calculul așteaptă toți indicatorii. Fiecare indicator ar trebui să poarte data la care a fost observat: azi scorul poartă un singur moment, cel al calculului. Ponderile ar trebui să fie vizibile și ajustabile de organizația care folosește clasamentul.
Pagina produsului spune ce e implementat și pe ce date: TerraScan
Modificări aduse acestei note
- 11 octombrie 2026. Rescrisă după modulul de scor. Am scos, fiindcă implementarea nu le face: că ponderile sunt o configurare vizibilă clientului, că un indicator lipsă e declarat și arătat în clasament și că un scor arată când a fost măsurat fiecare indicator. Acum sunt trecute ca principii propuse. Am înlocuit exemplul vechi, un scor de 71 cu 44 de puncte din doi indicatori măsurați cu unsprezece zile înainte: era sintetic și nu putea fi recalculat. Cel de mai sus poate.
- 7 octombrie 2026. Exemplul vechi a fost marcat întâi ca sintetic într-o corectură separată. O găsești în istoricul corecturilor