Думаю что первым делом, происходит подсчетом суммы общей заполненности данных по полям групп, потом это число делится на количество записей
Нет, методы оценок чего-либо не всегда сводятся к вычислению математического ожидания.
У каждого города может быть выведен регрессионный показатель:
y = t1*x1 + t2*x2 + ... + tn*xn
x-ы - допустим, значения рейтингов в группах.
t-ы - допустим, веса эти гр. рейтингов (влияние на общий показатель).
Коэф. t может оказывать и нелинейное влияние. Ничего не мешает провести его через логарифм, с близким к экспоненте показателем (чтобы чуть-чуть отличаться от линейности). Может даже на отдельных значениях срабатывать пороговый триггер (например, если входное t > 0.8, то считаем, что оно 1.0).
X-ы могут быть нормированы к интервалу 0...1. Также могут применятся хитрости с нелинейностью и триггерами.
Y - тоже можно нормировать по тем же правилам.
Чтобы на первое место вылезло больше кандидатов с рейтингом больше 0.99 - подкрутите логарифм.