@jwaller I’ve always wondered why GBIF doesn’t do something like the ES50 plots that OBIS has, e.g.:

This is an attempt to correct for sampling effort by showing the number of species in a random sample of 50 individuals in an area (in the example above these are computed for a 5°⨉5° grid). There’s a description of the method here: https://obis.org/indicators/documentation/

The expected number of marine species in a random sample of 50 individuals (records) is an indicator on marine biodiversity richness.

The ES50 is defined in OBIS as the `sum(esi)`

over all species of the following per species calculation:

- when
`n - ni >= 50`

(with `n`

as the total number of records in the cell and `ni`

the total number of records for the *ith* -species)
`esi = 1 - exp(lngamma(n-ni+1) + lngamma(n-50+1) - lngamma(n-ni-50+1) - lngamma(n+1))`

- when
`n >= 50`

- else

Warning: ES50 assumes that individuals are randomly distributed, the sample size is sufficiently large, the samples are taxonomically similar, and that all of the samples have been taken in the same manner.

Now obviously this makes a bunch of assumptions, but it would be an interesting thing to do with the GBIF data. One could also use bootstrapping to get some idea of how robust the ES50 values are (i.e., by randomly resampling from the set of occurrences within a given cell). This sounds like the sort of thing that could be automated to generate a “live” map of estimated diversity to complement the default GBIF map showing all occurrences. Thoughts?