BMWP-PL - how to calculate the macroinvertebrate biotic index
A study of benthic macroinvertebrates ends with a list of organisms - and the BMWP-PL index turns it into a single, comparable number describing water quality. It is one of the most popular biotic indicators; it is worth understanding how it arises.
The idea: points for each family
BMWP-PL is the version adapted to Polish fauna: it covers 88 families (the Kownacki and Soszka methodology, 2004), each scored from 1 to 10 according to sensitivity to oxygen deficits and to the toxic products of organic matter decomposition. An extract from the scale, with examples from each level:
| Points | Character of the families | Examples |
|---|---|---|
| 10 | the most sensitive; clean, well-oxygenated water | Ameletidae, Glossosomatidae, Odontoceridae, Leptoceridae, Blephariceridae |
| 9 | very sensitive | Taeniopterygidae, Cordulegastridae, Goeridae, Lepidostomatidae |
| 8 | sensitive | Astacidae, Perlidae, Philopotamidae, Heptageniidae |
| 7 | moderately sensitive | Ephemeridae, Caenidae, Limnephilidae, Elmidae, Unionidae |
| 6 | intermediate | Gammaridae, Baetidae, Simuliidae, Coenagrionidae |
| 5 | moderately tolerant | Hydropsychidae, Dytiscidae, Notonectidae, Hydrobiidae |
| 4 | tolerant | Ceratopogonidae, Planorbidae, Sphaeriidae, Valvatidae |
| 3 | clearly tolerant | Chironomidae, Asellidae, Erpobdellidae, Glossiphoniidae |
| 2 | very tolerant | Oligochaeta, Culicidae |
| 1 | extremely tolerant; heavily loaded water | Syrphidae, Psychodidae |
The scored families with their points are in the BMWP-PL / ASPT calculator - you tick the families you found and it sums the points and computes ASPT. ⚠️ The list there holds 118 entries, because the GIOŚ handbook carries it in two versions: the river list (App. IV, 88 entries - the one that feeds ASPT_PL inside MMI_PL) and a broader list for lakes and dam reservoirs (App. II/III), which adds Osmylidae, Spongillidae, Lestidae, Nereidae, Bryozoa and Araneae among others and splits Heptageniidae into two genus-level entries. Both layers take their scores from the same source; entries off the river list are marked in the calculator and can be filtered out.
⚠️ A detail that can change the result: the split of Heptageniidae into two entries (the genera Epeorus and Rhithrogena scoring 8, the remaining genera of that family 6) comes from the lake and reservoir list (App. II/III). The river list (App. IV), the one that feeds ASPT_PL, never goes below family level - it scores the whole Heptageniidae family at 8. Working up a river sample, you therefore stay at family level.
How to calculate it
- Identify the organisms to family level.
- For each family present, read off its score from the BMWP-PL table.
- Sum the scores of all families → this is the BMWP.
- Calculate the ASPT (Average Score Per Taxon) = BMWP ÷ the number of scored families.
What counts is the presence of families (not the abundance of individuals).
Example. You found four families in the sample: Leptoceridae (10), Baetidae (6), Gammaridae (6) and Chironomidae (3).
BMWP = 10 + 6 + 6 + 3 = 25 ASPT = 25 ÷ 4 = 6.25
What counts is the presence of families (not the abundance of individuals): ten freshwater shrimps and one count the same.
How to read the result
- high BMWP and ASPT → clean, well-oxygenated water, rich in sensitive families,
- low values → loading (most often with organic matter and an oxygen deficit).
ASPT is more stable than BMWP alone, and that is arithmetic rather than taste: BMWP grows with every family found, so it rewards greater effort - longer sampling gives a higher sum at the same site. ASPT divides by the number of families, so it measures the quality of the assemblage, not the size of the sample.
What BMWP-PL does not do: it is not the official classification
Five quality classes were historically defined for BMWP-PL itself, but the ecological status of rivers in the Polish state monitoring is not assessed with this index today. The index in force is MMI_PL (the Polish Multi-Metric Index), in which ASPT is one of the components - and the one with the greatest weight:
MMI = 0.334 × ASPT + 0.266 × log₁₀(Sel_EPTD + 1) + 0.167 × S + 0.083 × EPT
- 0.083 × H’ + 0.067 × (1 − GOLD)
where S is the number of taxa, EPT the number of mayfly, stonefly and caddisfly families,
H' the Shannon index, and GOLD the share of oligochaetes, molluscs and dipterans. The class
boundaries additionally depend on the biocenotic type of the river.
Practical consequence: BMWP-PL and ASPT are excellent for your own monitoring and comparisons over time at the same site, but the result must not be presented as a “WFD ecological status class”. These are two different things, and the difference is substantive, not formal.
The most common pitfalls
- imprecise identification (to family) - it changes the result,
- a different sample size/method - compare only what was collected in the same way,
- treating a single result as a verdict - what counts is the trend.
Sources
-
BMWP-PL family scores (river list: 88 entries, 1-10 points) - we cite the score table from the GIOŚ edition: A. Kolada (red.) (2020), Podręcznik do monitoringu elementów biologicznych i klasyfikacji stanu ekologicznego wód powierzchniowych. Aktualizacja metod, Biblioteka Monitoringu Środowiska, GIOŚ, Warszawa, ISBN 978-83-950881-2-4 - PDF, App. IV (rivers), p. 160 and App. II/III (lakes and dam reservoirs), pp. 173-174 and 293-294. Source methodology: A. Kownacki, H. Soszka (2004), Wytyczne do oceny stanu rzek na podstawie makrobezkręgowców oraz do pobierania prób makrobezkręgowców w jeziorach, Zakład Ochrony Przyrody PAN, Warsaw. Scientific basis of the method: T. Fleituch, H. Soszka, D. Kudelska, A. Kownacki (2002), Macroinvertebrates as indicators of water quality in rivers: a scientific basis for Polish standard method, Archiv für Hydrobiologie Supplement 141: 225-239. The list used for the calculation is in our BMWP-PL / ASPT calculator.
-
MMI_PL - formula, components and class boundaries by biocenotic river type: methodological chapter (PDF).
-
Methodology for lakes (the LMI index, separate from the river one): GIOŚ - method development (PDF).
🧮 Tool: BMWP-PL / ASPT calculator - mark the families found, and we will calculate the biotic index and ASPT for you. (Polish BMWP-PL variant.)
In practice
The raw data for the index is a list of families from a site and a date. In LimnoLog you record them as custom indicators (families / BMWP value / ASPT) and track the result over time alongside the water parameters. On what the index itself is against the background of other elements, we write in elements of status assessment.
Calculate it yourself
- 🧮 BMWP-PL / ASPT calculatorBiotic index from the list of benthic macroinvertebrate families (Polish BMWP-PL variant).
- 🧮 Biodiversity indices calculatorFrom a list of taxa and abundances, calculate Shannon-Wiener, Simpson and Pielou evenness.
See it in the LimnoLog app
Explore LimnoLog features