Features · Analyse

All your apps in one panel — users, plans and revenue, side by side

Shipped several apps? One line where each app knows who is signed in, and Vitrus counts who is new, who came back, who you lost and who started paying — per app and for all of them on one page. No auth provider to connect, no admin keys to hand over, and no personal data stored.

One card per app

Active users with the change against the previous period, a trend line, Web / iOS / Android badges, new, came back and lost, paying users and revenue per currency. Switch to visitors, or to one table with a total row.

Every user, under a made-up name

Open an app and each signed-in person is a row — returning, one-time or signed up only, their actions, active days and plan — shown under a generated name. Email and name are never stored.

Hashed before it leaves the browser

The tracker sends sha256(site + id), the server hashes that again with a secret, and email, phone and name fields are dropped twice. Ids are hashed per app, so nobody — us included — can join one person across your apps.

Your agent can ask too

get_portfolio and get_lifecycle over MCP, or /api/portfolio with a read-only key: "which of my apps lost users this week?" comes back with the query behind every count.

The evidence

People per app: active, new, came back, lost (computePortfolio)

WITH people AS (
  SELECT site_id, identity, MIN(ts) AS first_ts,
         MAX(CASE WHEN ts >= ? AND ts < ? THEN 1 ELSE 0 END) AS cur,
         MAX(CASE WHEN ts >= ? AND ts < ? THEN 1 ELSE 0 END) AS prev
    FROM events WHERE site_id IN (?, ?, ?) AND ts < ? AND identity <> ''
   GROUP BY site_id, identity)
SELECT site_id, SUM(cur) AS active,
       SUM(CASE WHEN cur = 1 AND first_ts >= ? THEN 1 ELSE 0 END) AS new_users,
       SUM(CASE WHEN cur = 0 AND prev = 1 THEN 1 ELSE 0 END) AS churned
  FROM people GROUP BY site_id

Abridged: the real query also counts who came back. One query for all apps, not one per app — the dashboard shows it in full.

What this does not do

Totals add apps together: the same person signed in to two of your apps counts twice, by design. "New" and "came back" are bounded by how much history is on record, and the page says how far back it can see.

Documentation

More in analyse

← All features