Best self-hosted analytics. Judged on what you have to run.
When you self-host, you become the operator. So this roundup compares the honest self-host angle, the stack each tool drags in and that you patch forever, not just the feature checklist. One Go binary vs Kafka+ClickHouse vs PHP+MySQL is a bigger difference than any dashboard.
Why the stack matters more than the feature list
Every "best self-hosted analytics" list ranks by features. But the moment you self-host, the feature you use most is the one that pages you at 2am. Each extra service, Kafka, ClickHouse, a second database, Redis, is something you deploy, monitor, back up, upgrade, and debug. That ongoing cost is usually larger than any feature gap, especially for a small team or a single site.
So the useful question is not "which has the most features" but "how much am I signing up to run." A single static binary is one process to restart. A four-service distributed system is a job. The table below sorts the field by exactly that, from lightest to heaviest to operate, then the cards give each tool a fair take.
The stack each one requires
| tool | stack you run | scope | ops weight |
|---|---|---|---|
| smolanalytics | nothing, managed (commercial) | web + product | none, you run nothing |
| GoatCounter | single Go binary + SQLite/Postgres | web only | very light |
| Umami | Node app + Postgres/MySQL | web (some events) | light |
| Plausible CE | Elixir + Postgres + ClickHouse | web | medium (2 DBs) |
| Matomo | PHP + MySQL/MariaDB | deep web + goals | heavy |
| PostHog | Kafka + ClickHouse + Postgres + Redis | full product suite | heaviest |
Stacks reflect each project's documented self-host setup. Managed cloud versions hide this, but this page is about what you run yourself.
The tools, one honest read each
smolanalytics
Web + product analytics (visitors, referrers, funnels, retention, paths, cohorts) from one snippet, plus an investigator that finds what changed, names who it hit, and hands you a verdict on what to fix. The managed counterpoint on this list.
- stack
- None for you to run. Commercial and managed: each project gets its own isolated instance, nothing phones home, and your data exports in one file any time.
- strength
- Zero ops weight, and the only one here you can ask in plain English (dashboard bar, or your own Cursor / Claude over MCP with answers computed from deterministic reports, never guessed). 14-day trial at Pro limits, no card, then from $19/mo.
- tradeoff
- Not self-hostable, so if running the stack yourself is the point, pick one of the open-source tools below. Young, with one honest gap: it ships feature flags, experiments, heatmaps, surveys, and an event-based session inspector, but not pixel-perfect DOM session replay.
Plausible CE
Plausible CE vs smolanalytics →Privacy-first, cookieless web analytics with a clean dashboard. The community edition is the self-host build of the hosted product.
- stack
- Elixir app plus Postgres plus ClickHouse. A two-database deploy (Postgres for app data, ClickHouse for events).
- strength
- Well-loved, GDPR-friendly by default, and a genuinely nice UI. A mature, actively maintained project.
- tradeoff
- It is web analytics, not product analytics, funnels are basic and there are no cohorts or retention curves. Running ClickHouse alongside Postgres is real operational weight for a small site.
Lightweight, privacy-focused web analytics with a simple dashboard, one of the most popular self-hosted options.
- stack
- A Node.js app on Postgres or MySQL. Single database, straightforward container deploy.
- strength
- Easy to stand up, cookieless, actively developed, and light on resources for pure web analytics.
- tradeoff
- Web-first: it has grown some event and funnel features but is not a deep product-analytics tool, and there is no computed ask-in-plain-English or verdict layer.
The long-standing open-source GA alternative. Very deep: web analytics, goals, e-commerce, plus paid plugins for heatmaps, session recording, and more.
- stack
- PHP plus MySQL/MariaDB. A large schema and a substantial app that needs regular upgrades and a tuned database at volume.
- strength
- Maturity and breadth. If you want a full GA-style suite you own, and you are comfortable running a PHP/MySQL app, it covers a lot.
- tradeoff
- The heaviest classic stack to keep healthy, the UI is dense, and several advanced features are paid plugins. Real DBA-style care is needed as traffic grows.
PostHog (self-hosted)
PostHog (self-hosted) vs smolanalytics →A full product-analytics suite: events, funnels, retention, session replay, feature flags, experiments, surveys.
- stack
- The heaviest here: Kafka plus ClickHouse plus Postgres plus Redis (plus the app). A distributed system, not a single service.
- strength
- By far the most capable feature set in this list. If you need replay, flags, and experiments in one owned tool, nothing else here matches it.
- tradeoff
- PostHog's own team now steers self-hosters to their cloud below a certain scale, because running the cluster reliably is a real job. Powerful, but a serious ops commitment.
GoatCounter
Minimal, privacy-friendly web analytics focused on simple visitor counts and referrers, with a famously light footprint.
- stack
- A single Go binary on SQLite (or Postgres). About as small to run as it gets.
- strength
- Tiny, fast, and pleasant for a personal site or blog where you want counts without cookies or a cookie banner.
- tradeoff
- Web-only and intentionally minimal, no funnels, retention, cohorts, or product analytics. It is not trying to be a product-analytics tool.
No tool here is bad. They are built for different loads. The right pick is the one whose stack matches how much you are willing to operate, and whose scope matches the questions you actually ask.
Where smolanalytics fits, and where it does not
smolanalytics is the one tool on this page you do not host. It is commercial and managed: no Kafka, ClickHouse, Postgres, or Redis for you to run, one isolated instance per project, nothing phones home, and your data exports in one file any time. One snippet gives you visitors, referrers, funnels, retention, paths, and cohorts, plus a verdict on what to fix and a morning brief.
Its real differentiator beyond the footprint: you ask your numbers in plain English, from a dashboard bar or from your own Cursor / Claude Code over MCP (97 tools, 15 prompts) with your own AI model, so the AI costs you nothing. The answers are computed from the same deterministic reports the dashboard renders, never generated by the model. It has cookieless mode (no consent banner) and importers from PostHog, Mixpanel, Amplitude, Umami, CSV, and JSONL.
The honest limit: it ships feature flags, experiments, heatmaps, surveys, and an event-based session inspector, but not pixel-perfect DOM session replay, the video-style recording of a real DOM. If that DOM recording is the point for you, PostHog or Matomo are the right call and you should budget for their stacks. smolanalytics is for teams who want a straight, computed answer on what to fix, with nothing to run at all.
npx smolanalytics init
The installer wires the snippet in and your dashboard is live. 14-day trial at Pro limits, no card.