Metis Opsinternal metrics
—
refresh

Signups — last 30 days

daily new accounts

Reviews — last 30 days

spaced-repetition answers submitted

Users by platform partial

profiles.platform, synced on app open

Users by country partial

device region, synced on app open

Net position this month

real revenue − estimated spend

Signups — last 30 days

Onboarding funnel

of total users

By country partial coverage

By platform partial coverage

Why "partial coverage"

Country/platform are set by the app the moment a user opens it (device region + OS, no geolocation). Existing accounts backfill the next time they launch. For precise IP-based geography and OS/version breakdowns, see the Real analytics tab (PostHog).

Reviews — last 30 days

Streak distribution

users by current streak length

Translations — last 30 days

every word lookup, cache hits + fresh AI calls

Cards created vs learned

7d / 30d

Retention proxies cohort estimate

no session log exists — these infer activity from created_at / last_reviewed_on, not real D7/D30 retention
Still reviewing 1wk after signup (7–37d old cohort)—
30d+ users active in the last 7 days—

Subscriptions & revenue RevenueCat

Gross / net-of-taxes / proceeds — last 28d

Funnel — last 28d

new customers vs active users vs active subs

Spend calculator you fill in

No API gives real Gemini $ automatically (see Product health tab) — paste what AI Studio's Usage tab actually shows you. Everything else is whatever your real bills say. All remembered in this browser.

Spend vs revenue

No Android revenue tracked yet

RevenueCat only has one app configured — Metis (App Store), iOS. Add the Android app + key in the RevenueCat dashboard to close that gap.

Exact Google/Gemini spend instead of the per-request estimate

Needs a one-time console setup: enable BigQuery billing export on the GCP project behind your Gemini key, then a service account with read access to that dataset. Tell me the project ID + dataset name and I'll wire it into /api/metrics.

AI generation requests — last 30 days

generate-card edge function calls

Notification opt-in

of profiles with preferences set

Push tokens by platform

At plan caps

free-tier limits reached

Translation cache word_cache

Cache hit rate — last 30 days

% of lookups served from word_cache without a fresh AI call

Hits vs misses — last 30 days

Friends & challenges

Shared cards & collections

Source: PostHog HogQL real

—

Activation funnel

distinct users per step, all-time

Real country mix

IP-geolocated, users who authenticated at least once

Real platform mix

device OS at event time