How the Index
is built.

The London False Alarm Index counts rows in London Fire Brigade’s open incident records. Nothing is estimated, modelled, scaled or filled in. This page sets out the sources, the filters behind each figure, the checks run on them and what the data cannot show.

1,028,973
incident records read
calls from 1 January 2018 to 31 July 2026
40
checks passed, 0 failed
1 warning, explained below. Run on 5 October 2026
33
areas, each recounted
32 boroughs and the City of London, summed back to the London total
OGL v2.0
Open Government Licence
source files dated 25 August 2026 on the London Datastore

Analysis by Gemini AMPM of London Fire Brigade (LFB) open incident data. Written 5 October 2026. Data cut-off: incidents with a call date up to and including 31 July 2026.

Every figure in the outputs is a count of rows, or a sum of a column, in the two LFB incident workbooks. Nothing is estimated, modelled, scaled or imputed.

1. What is produced

FileContents
gemini/src/data/false-alarm-index/london.jsonLondon annual series, false alarms by stop code, top property types, notional cost rates seen in the data, borough ranking for the latest complete year, policy-impact series (like-for-like and monthly), hour and weekday profiles, published figures used for reconciliation, eight headline findings and two supporting findings (each with its numbers and filter), sources, licence, attribution, definitions.
gemini/src/data/false-alarm-index/boroughs.jsonOne object per area (32 boroughs and the City of London): slug, name, ONS code, measures per period, ranks, AFA false alarms by property category, top 8 property types per period, policy-impact numbers, monthly series from January 2023.
gemini/public/data/london-false-alarm-index.csvTidy table, one row per area per period, plus London total rows (area_type = London).
gemini/public/data/london-false-alarm-index.README.txtAttribution, licence, column definitions and notes for the CSV.
checks.json, CHECK_RESULTS.md (this folder)Output of 03_checks.py: every check and its result.

Periods: calendar years 2019 to 2025, and 2026-ytd (1 January 2026 to 31 July 2026, 212 days). 2018 is in the source and is used only as the comparison year for 2019.

2. Sources

2.1 Incident data

ItemDetail
DatasetLondon Fire Brigade Incident Records
Pagehttps://data.london.gov.uk/dataset/london-fire-brigade-incident-records
PublisherLondon Fire Brigade (maintainer: LFB Information Management), hosted on the London Datastore by the Greater London Authority
Licence shown on the pageOpen Government Licence v2 (https://www.nationalarchives.gov.uk/doc/open-government-licence/version/2/)
Dataset last updated25 August 2026 (page read 5 October 2026)
Update frequencyThe page field says Quarterly. The page text says the datasets are updated every month.
FileAddressFile date on the DatastoreDownloadedSize (bytes)sha256
LFB Incident Data from 2018 - 2023https://data.london.gov.uk/download/em8xy/f5066d66-c7a3-415f-9629-026fbda61822/LFB%20Incident%20data%20from%202018%20-%202023.xlsx6 October 20255 October 2026153,449,2763248bc20f2bf9bac0c8c17c48d4cabd5a7cc1dc142078d85548b3e12beced9fe
LFB Incident data from 2024 onwards.xlsxhttps://data.london.gov.uk/download/em8xy/58m/LFB%20Incident%20data%20from%202024%20onwards.xlsx25 August 20265 October 202680,971,6867375b381eed1f5e1504d355047847ca94dbb1009b9ea7458f558feaab0fdf5d6
Metadatahttps://data.london.gov.uk/download/em8xy/cb9d6550-e502-40a9-a5e4-1f055f31316f/Metadata.xlsx28 November 20235 October 202612,38295de52cfeb4e7a2555c10bac2876bca8a6ab81c97b9105945f9f51dd8944e969

The 2009 to 2017 CSV on the same page was not downloaded or used.

2.2 Licence and attribution wording

The dataset page names the licence and gives no attribution statement of its own. The Open Government Licence v2.0 says that where the provider gives no statement, a standard sentence may be used. The London Datastore terms and conditions (https://data.london.gov.uk/about/terms-and-conditions) ask re-users to state that the Greater London Authority cannot warrant the quality or accuracy of the data, and not to imply endorsement.

Use this wording wherever the figures are published:

Source: London Fire Brigade, London Fire Brigade Incident Records, published on the London Datastore (data.london.gov.uk). Contains public sector information licensed under the Open Government Licence v2.0. The Greater London Authority cannot warrant the quality or accuracy of the data. This analysis is by Gemini AMPM. It is not endorsed by, affiliated with or approved by London Fire Brigade or the Greater London Authority.

Link the words “Open Government Licence v2.0” to the licence address above where the medium allows.

2.3 LFB’s change in response to automatic fire alarms (verified 5 October 2026)

PointWhat LFB’s own pages sayPage
StartThe change took effect on Tuesday 29 October 2024. The FAQ page gives the time as 08:00.Press release of 29 October 2024; AFA policy FAQs
What changedLFB stopped attending automatic fire alarms in most non-residential buildings (it gives office blocks and industrial estates as examples) during daytime hours, unless a call is also received from a person reporting a fire.Press release of 29 October 2024
Hours07:00 to 20:30. Outside those hours LFB attends automatic fire alarms in any building.Press release; AFA policy page
Always attendedResidential buildings, and the exempt premises listed below.AFA policy page
Announced28 May 2024, after a consultation that opened on 13 September 2023.Press releases of those dates

Short quotation, from the press release of 29 October 2024: “The new policy will only apply between the hours of 7am and 8.30pm.”

Exempt premises as listed on LFB’s AFA policy page on 5 October 2026: private dwellings and houses; flats, including high-rise; houses in multiple occupation; mobile and park homes; houseboats; hospitals; residential care homes, nursing homes and hospices; children’s homes; specialised housing premises (for example sheltered housing, extra care sheltered housing, supported living); student accommodation and halls of residence; residential boarding schools; hotels, motels, B&Bs and other guest accommodation; hostels and youth hostels; prisons, young offenders’ institutions and other secure establishments; Grade 1, Grade 2 and Grade 2S listed heritage buildings (LFB’s wording); schools; nurseries; buildings of substantial public significance identified as exempt by LFB.

Pages:

2.4 Published totals used for reconciliation

FigurePublished byPage
Around 52,000 false alarms generated by automatic fire alarms, April 2023 to March 2024LFBPress release of 29 October 2024 (address above)
In 2025, AFAs were 34% of all incidents LFB attended, 47,500 callsLFBAFA policy page (address above)
Greater London, financial years 2022/23 to 2025/26: fire false alarms due to apparatus, all false alarms, all incidentsMinistry of Housing, Communities and Local Government, table FIRE0102, published 22 July 2026, records received by 12 May 2026https://www.gov.uk/government/statistical-data-sets/fire-statistics-data-tables (file: https://assets.publishing.service.gov.uk/media/6a5f63964876beea7ee04a5a/FIRE0102.xlsx, read 5 October 2026)

3. Columns used, with LFB’s metadata descriptions

Read from Metadata.xlsx before any analysis. Both workbooks have the same 39 columns in the same order as the metadata.

ColumnLFB metadata descriptionValues seen in the data
IncidentNumberLFB Incident Number1,028,973 values, all unique
DateOfCallDate of 999 call1 January 2018 to 31 July 2026
CalYearYear of 999 callEquals the year of DateOfCall on every row
TimeOfCallTime of 999 callhh:mm:ss on every row
HourOfCallHour of 999 call0 to 23, equals the hour of TimeOfCall on every row
IncidentGroupHigh level incident categoryFalse Alarm, Special Service, Fire, and blank on 150 rows (6 in 2024, 21 in 2025, 123 in 2026; stop codes Standby and Alleged Fire Risk). Those rows count as incidents and not as false alarms.
StopCodeDescriptionDetailed incident categoryWithin False Alarm: AFA, False alarm - Good intent, False alarm - Malicious, Alleged Fire Risk
PropertyCategoryHigh level property descriptorDwelling, Non Residential, Other Residential, Outdoor, Outdoor Structure, Road Vehicle, Rail Vehicle, Aircraft, Boat. Blank on 37 rows, none of them AFA false alarms.
PropertyTypeDetailed property descriptor287 values. Trailing spaces are removed. Each value belongs to one PropertyCategory.
IncGeo_BoroughCode, IncGeo_BoroughNameBorough Code, Borough Name33 codes, E09000001 to E09000033, one name each, none missing
PumpMinutesRoundedTime spent at incident by pumps, rounded up to 60 if less than an hourMinimum 60 on every row
Notional Cost (£)Time spent multiplied by notional annual cost of a pumpSee section 6.4
NumPumpsAttendingNumber of pumps in attendanceBlank on some rows. Reported for London only, with the count of blanks.

Cells holding the text NULL are treated as missing. Nothing else is altered.

4. Filters that define each measure

MeasureFilter
All incidentsEvery row with DateOfCall in the period
False alarmsIncidentGroup = "False Alarm"
AFA false alarmsIncidentGroup = "False Alarm" and StopCodeDescription = "AFA"
AFA share of all incidentsAFA false alarms divided by all incidents
AFA share of false alarmsAFA false alarms divided by false alarms
AFA per dayAFA false alarms divided by the number of days in the period that have data (364 for 2023, see 6.1)
AFA pump minutesSum of PumpMinutesRounded over AFA false alarms. Pump hours is that sum divided by 60.
AFA notional costSum of Notional Cost (£) over AFA false alarms
ResidentialPropertyCategory is Dwelling or Other Residential
Non-residentialPropertyCategory = "Non Residential"
Other propertyAny other PropertyCategory (31 AFA false alarms in 2025)
Policy hours07:00:00 <= TimeOfCall < 20:30:00
Outside policy hoursTimeOfCall < 07:00:00 or TimeOfCall >= 20:30:00
Named exempt property typesNon-residential rows whose PropertyType is Hospital, Infant/Primary school, Secondary school, Pre School/nursery, Prison or Young offenders unit
BoroughIncGeo_BoroughName converted to title case (“and”, “upon” and “of” kept in lower case)
Year-on-year changeComplete year: against the previous calendar year. 2026-ytd: against 1 January to 31 July 2025.
RankAmong the 33 areas, 1 = most AFA false alarms; ties share the lower number. Rank by AFA per day is always the same as rank by count, because every area has the same number of days.
Top property typesFor each area and period, the 8 PropertyType values with the most AFA false alarms (20 for London), ties broken alphabetically
RoundingEvery percentage and rate is computed from the exact counts and rounded once, half up, to one decimal place. Counts, pump minutes and notional cost are exact. Stored percentages should not be rounded again; for more precision, recompute from the counts.

Policy-impact windows (by DateOfCall):

ComparisonBeforeAfter
Year before against year after (main)29 October 2023 to 28 October 202429 October 2024 to 28 October 2025
Latest 12 complete months against the same months before the change1 August 2023 to 31 July 20241 August 2025 to 31 July 2026

Each before window spans 366 calendar days and has data for 365 of them (31 December 2023 is absent, see 6.1). Each after window has 365 days. The after window in the main comparison starts at 00:00 on 29 October 2024; LFB gives the start as 08:00 that day.

The monthly series runs from January 2023 to July 2026. October 2024 contains three days after the change and is flagged contains_policy_start.

Hour and weekday profiles use HourOfCall and the weekday of DateOfCall. The half-hour profile uses TimeOfCall.

5. Checks and results

Run by 03_checks.py on 5 October 2026. Full output is in CHECK_RESULTS.md and checks.json. Result: 40 passed, 0 failed, 1 warning, 5 information lines.

The main recount is independent of the build. The build uses pandas on a parquet cache and groups boroughs by name. The checker streams the raw workbooks with openpyxl, counts with plain Python dictionaries, compares times as time objects and groups boroughs by ONS code.

CheckResult
Raw files match the sha256 values abovePass
Row counts per file670,635 rows (2018 to 2023) and 358,338 rows (2024 onwards); 1,028,973 in total. The cache holds the same counts.
Row counts per year2018: 105,974. 2019: 105,010. 2020: 98,568. 2021: 109,577. 2022: 125,392. 2023: 126,114. 2024: 134,123. 2025: 137,981. 2026 to 31 July: 86,234.
Each file holds only its own yearsPass
Duplicate IncidentNumberPass. 1,028,973 unique values, 0 duplicates, within and across files.
Date rangePass. 1 January 2018 to 31 July 2026.
CalYear equals year of DateOfCallPass. 0 mismatches.
Calendar days with no incidentsWarning. 31 December 2023 has no rows in either file (see 6.1). Every other day has at least 175 incidents.
IncidentNumber date suffixInformation. On 29 rows the date in the incident number differs from DateOfCall. DateOfCall is used throughout.
AFA stop code only within the False Alarm groupPass. 0 rows outside.
London annual measures equal the raw recountPass. 8 periods, 10 measures each.
Borough sums equal the London totalPass for all 8 periods and 10 measures. Incidents with a missing borough: 0 in every period.
33 borough codes with one name eachPass
Every borough and period equals the raw recountPass. 2,819 values compared.
Spot check of three boroughs, raw recountPass. 2025: Westminster 8,660 incidents, 4,957 false alarms, 4,248 AFA, notional cost £1,999,461. Croydon 5,679, 2,287, 1,692, £807,040. Kensington and Chelsea 4,628, 2,712, 2,369, £1,119,800. The same boroughs match for 2026 to date.
Spot check of the same three boroughs, pandas pivot of the cachePass for every period.
Policy-impact counts equal the raw recountPass. 1,360 before and after values, London and all 33 areas.
Monthly seriesPass. Equals the raw recount, parts sum to the total, months sum to the annual totals for 2023, 2024, 2025 and 2026 to date, and borough months sum to London.
ProfilesPass. Hour, weekday, matrix and half-hour profiles sum to the matching AFA totals.
Public CSV equals the JSONPass. 272 rows.
Ranks, changes, slugs, property-type listsPass
Stored percentages and rates equal the exact ratios rounded oncePass. 2,896 values recomputed from the counts.
Percentages quoted in the headline sentencesPass. Each before and after count, and each percentage, appears in the sentence exactly as recomputed.
No em dashes or en dashes in outputs and documentsPass

Reconciliation against published figures

Published figurePublishedThis analysisDifference
LFB: AFA false alarms, April 2023 to March 2024 (“around 52,000”)52,00050,984-1.95%
LFB: AFA calls attended in 2025 (“47,500”)47,50047,038-0.97%
LFB: AFAs as a share of all incidents attended in 202534%34.09% (47,038 of 137,981)Agrees when rounded
MHCLG FIRE0102, Greater London, fire false alarms due to apparatus, 2022/2347,14547,200+0.12%
Same, 2023/2451,08850,984-0.20%
Same, 2024/2550,14750,180+0.07%
Same, 2025/2647,81647,882+0.14%
MHCLG FIRE0102, Greater London, all incidents, 2022/23125,561125,966+0.32%
Same, 2023/24129,724129,822+0.08%
Same, 2024/25133,078133,560+0.36%
Same, 2025/26139,161139,952+0.57%
MHCLG FIRE0102, Greater London, all false alarms (fire and non-fire), 2022/2360,24260,314+0.12%
Same, 2023/2464,14764,047-0.16%
Same, 2024/2563,58463,651+0.11%
Same, 2025/2662,61362,722+0.17%

All are within the 3% tolerance set in the checker. The two LFB figures are rounded. The MHCLG table calls the category “due to apparatus”; it is compared here with the AFA stop code. The 2023/24 figures in this analysis exclude 31 December 2023. It is the only year in which this analysis is below the MHCLG figure for false alarms.

One LFB statement is not treated as a reconciliation. In September 2023 LFB said it attended around 60 false alarms a day from automatic fire alarms in non-residential properties in the previous year. In this dataset, 2022 AFA false alarms with PropertyCategory = "Non Residential" number 17,946 (49.2 a day). Adding Other Residential gives 22,545 (61.8 a day). LFB does not say which property categories or which 12 months its figure covers.

6. Known limitations

6.1 One day is missing from the source

The first workbook ends on 30 December 2023 and the second starts on 1 January 2024. There are no rows dated 31 December 2023 in either file. As a result:

  • every 2023 total covers 364 days and is lower than a complete record would be;
  • the change from 2022 to 2023 is slightly understated and the change from 2023 to 2024 slightly overstated;
  • per-day figures divide by days with data (364 for 2023);
  • both policy “before” windows include that date, so they hold 365 days of data, the same as the “after” windows.

The missing day has not been estimated or filled.

6.2 Attendances, not activations

The dataset records incidents LFB attended. An automatic fire alarm that LFB did not attend is not an incident and does not appear. After 29 October 2024 a fall in non-residential daytime AFA false alarms is a fall in attendances. The data cannot show how many alarms activated, or how many calls LFB declined.

6.3 What “AFA” and the property categories cover

  • The metadata describes StopCodeDescription only as the detailed incident category. This analysis treats the value AFA within the False Alarm group as a false alarm from an automatic fire alarm, which is how LFB uses the term. The reconciliation in section 5 supports that reading.
  • AFA false alarms are mostly residential. In 2025, 30,932 of 47,038 were at dwellings and 4,864 at other residential property.
  • Non Residential includes premises LFB still attends at all hours, such as hospitals, schools and nurseries. The “named exempt property types” split separates the types that can be recognised by name. Listed buildings, police stations with custody suites and buildings LFB has exempted individually cannot be identified, so the remaining group still contains exempt premises.
  • Other Residential holds care homes, hostels, hotels, student halls and similar premises, all of which are on LFB’s exemption list.
  • The property category and type are as recorded by LFB crews. The Dwelling category includes 93 AFA rows since 2018 typed “False Alarm - Property not found”.

6.4 Pump minutes and notional cost

  • PumpMinutesRounded has a floor of 60 minutes per incident. In 2025, 43,118 of 47,038 AFA false alarms (91.7%) carry exactly 60. The totals are therefore not time on scene and should not be described as hours spent.
  • Notional Cost (£) is defined by LFB’s metadata as time spent multiplied by notional annual cost of a pump. It is a notional figure. The dataset does not record any charge, bill or payment. It must not be described as a cost to building owners, a fine, or money that would be saved.
  • In the data, notional cost divided by pump minutes, times 60, is a single value for each April to March year: £328 (to March 2018), £333, £339, £346, £352, £364, £388 (2023/24), £430 (2024/25), £467 (2025/26) and £503 (from April 2026). Every row is within £1 of the rate for its year. LFB’s metadata does not publish these rates; they are observed, not quoted. Changes in notional cost between years reflect the rate as well as the number of incidents. Example: in the year after the policy change AFA pump minutes fell 11.3% and AFA notional cost fell 2.9%.

6.5 Geography

  • Boroughs are as recorded by LFB in IncGeo_BoroughName and IncGeo_BoroughCode. No incident lacks a borough.
  • Counts are not adjusted for population, number of buildings or number of alarm systems. A borough with more buildings will tend to have more incidents.
  • The dataset page notes that station ground areas were redrawn in 2014. Station grounds are not used here.

6.6 Time

  • 2026 is a part year (212 days). It is compared only with the same dates in 2025. It should not be compared with a full year, because incident numbers vary through the year.
  • 2020 and 2024 are leap years.
  • The figures are as published on the download date. The files are replaced when the dataset is updated (the first workbook carries a Datastore file date of 6 October 2025), so a later download may give different numbers.
  • TimeOfCall is the time of the 999 call. A call at exactly 20:30:00 is counted as outside policy hours.

6.7 Things this analysis does not show

It does not show the cause of any false alarm, whether an alarm system was faulty or badly maintained, how many alarm activations turned out to be fires, or any effect of the policy on fire outcomes. Residential AFA false alarms rose in the same period that non-residential daytime attendances fell; the data does not say why.

7. Reproducing the outputs

From this folder:

./run.sh

It downloads anything missing into raw/ (not committed), builds cache/incidents.parquet (not committed), writes the outputs and runs the checks. It needs Python 3 with pandas, openpyxl and pyarrow, and installs them for the current user if they are absent. A full run takes about four minutes, plus download time.

ScriptPurpose
run.shOne command for everything. REFRESH=1 ./run.sh downloads the LFB files again.
01_cache.pyReads the two workbooks once and caches the needed columns as parquet. No filtering.
02_build.pyComputes every measure and writes the JSON, CSV and CSV README.
03_checks.pyIndependent recount from the raw workbooks, reconciliation, consistency and text checks. Exits with an error if any check fails.
sources.jsonSource addresses, dates, hashes, licence and attribution wording, verified policy details and the published figures used for reconciliation. Maintained by hand.

After a new LFB release: run with REFRESH=1, update the dates and hashes in sources.json, re-read the LFB pages in section 2.3, and read CHECK_RESULTS.md before using any number. The checker warns if the raw files no longer match sources.json, if the missing-day list changes, or if the MHCLG table has been revised.

Figures worked out on the pages

The pages read their numbers from the two data files at build time. A small number of figures are not stored in the files and are worked out when the pages are built, always from the exact counts:

  • “About one every 11 minutes”. Days with data in 2025 (365) multiplied by 1,440 minutes, divided by the 47,038 AFA false alarms attended, to the nearest whole minute. It is an average across the year, not a steady rate.
  • Residential share. Dwellings plus other residential property as a share of all AFA false alarms (35,796 of 47,038 for London in 2025, 76.1%), and the matching non-residential share. The same shares are worked out for each borough. Each is rounded once, half up, to one decimal place, the rule the data files use.
  • Where daytime attendance returns. The half-hour profile for the year after the change is compared with the year before. Working back from 20:30, the published end of the policy hours, a half hour counts as “back to its earlier level” if the later count is at least 85% of the earlier one. In this edition the half hour from 20:00 has 333 against 306, and the half hour before that has 160 against 334. At the start of the window, the half hour from 07:00 has 185 against 394. The like-for-like totals still use the published hours, 07:00 to 20:30.
  • Map shading. Borough squares are shaded in five classes by 2025 AFA false alarms: under 1,000; 1,000 to 1,499; 1,500 to 1,999; 2,000 to 2,999; 3,000 or more.
  • Heatmap shading. Seven equal steps between the lowest cell (129) and the highest (438).
  • Table trend lines. Each small line in the borough league table is that borough’s own annual totals, 2019 to 2025, scaled to its own range. They show shape, not size, and should not be compared between boroughs.

Sentences on the pages that state a headline finding use the wording stored with that finding in the data file, which the checker tests against the counts. The policy comparison uses the windows 29 October 2023 to 28 October 2024 and 29 October 2024 to 28 October 2025.

The static images (the share card and the downloadable chart) are drawn from the same data file by a script that runs with the analysis, so they change when the numbers do.

Licence, credit and how to cite

Source: London Fire Brigade, London Fire Brigade Incident Records, published on the London Datastore (data.london.gov.uk). Contains public sector information licensed under the Open Government Licence v2.0. The Greater London Authority cannot warrant the quality or accuracy of the data. This analysis is by Gemini AMPM. It is not endorsed by, affiliated with or approved by London Fire Brigade or the Greater London Authority.

You may reuse the figures and charts with a credit to the Gemini AMPM London False Alarm Index and a link to the Index. Suggested citation:

Gemini AMPM (2026). London False Alarm Index: automatic fire alarm false alarms attended by London Fire Brigade, 2019 to 31 July 2026. https://geminiampm.co.uk/false-alarm-index/ (data: London Fire Brigade Incident Records, London Datastore, Open Government Licence v2.0).

Download the borough table (CSV) and its README. Questions about the method: [email protected].

Talk to us

One call covers
the whole building.