Как посчитать App Store Rating в SQL
Содержание:
Зачем App Store Rating
В app stores rating напрямую влияет на conversion install. App с 4.5+ конвертирует +30-50% выше app с 3.5. Знать distribution + tracking dynamic = знать, что чинить first.
Формула
Avg Rating = SUM(rating × count) / SUM(count)Где rating ∈ {1, 2, 3, 4, 5}.
Базовый расчёт
Данные: ratings(user_id, rating, date, app_version).
SELECT
AVG(rating) AS avg_rating,
COUNT(*) AS total_ratings
FROM ratings
WHERE DATE >= CURRENT_DATE - INTERVAL '90 days';Distribution
SELECT
rating,
COUNT(*) AS ratings_count,
COUNT(*) * 100.0 / SUM(COUNT(*)) OVER () AS pct
FROM ratings
WHERE DATE >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY rating
ORDER BY rating;Bimodal (1 и 5 ratings dominant) — controversial app. Skewed left (mostly 5) — happy users.
Dynamic
SELECT
DATE_TRUNC('month', DATE) AS month,
COUNT(*) AS ratings,
AVG(rating) AS avg_rating,
COUNT(*) FILTER (WHERE rating <= 2)::NUMERIC * 100 / NULLIF(COUNT(*), 0) AS pct_low,
COUNT(*) FILTER (WHERE rating >= 4)::NUMERIC * 100 / NULLIF(COUNT(*), 0) AS pct_high
FROM ratings
WHERE DATE >= '2026-01-01'
GROUP BY 1
ORDER BY 1;Watch pct_low — растёт = проблема. По app_version — какая версия broke things.
Частые ошибки
Ошибка 1. Confuse avg vs distribution. Avg 4.0 может быть «all 4» или «50% 5 + 50% 3». Distribution показывает.
Ошибка 2. Lifetime rating vs recent. App Store показывает lifetime ratings (или by version в Android). Recent — отдельно.
Ошибка 3. Не учитывать review text. Star without context — мало info. Analyze top complaint themes в low ratings.
Ошибка 4. Sample bias. Поощряете оставить rating только happy users → inflated avg. Платформы это видят.
Ошибка 5. Bot reviews. Competitors / fake reviewers. Mark и report.
Связанные темы
- Как посчитать installs в SQL
- Как посчитать uninstalls в SQL
- Как посчитать NPS в SQL
- Как посчитать CSAT в SQL
FAQ
Какой Rating considered ok?
4.5+ — top-tier. 4.0-4.5 — норма. <4.0 — нужно работать. <3.5 — критично.
Rating и conversion install?
Strongly correlated. Каждые +0.5 star обычно +10-30% conversion.
Как уменьшить low ratings?
- Better onboarding. 2) Reduce crashes. 3) In-app survey first → если low, не показывать App Store dialog.
Cross-version analysis?
В Android — да (per-version в Play Console). В iOS лет назад — нет.
Lifetime vs Recent (90d)?
Stores often show both. 90d более current state.