Switching from Mixpanel or Amplitude? Here's exactly what to expect.
Your raw events come with you. Your saved reports, dashboards, and cohort definitions don't, and no tool can move those. We'd rather say that plainly than have you find out after you switch. Here's the concept map and the honest trade-offs.
Your event history, with original timestamps
smolanalytics ships native importers, so you don't start at zero. Point the CLI at your export and it maps each tool's shape directly, keeps the original event times, and dedupes on re-runs.
# preview first (writes nothing), then drop --dry-run to send smolanalytics import --format=mixpanel --host=<your instance> --key=<write key> --dry-run export.jsonl smolanalytics import --format=amplitude --host=<your instance> --key=<write key> --dry-run export.json.gz
Your host + write key are on your project's install card. $insert_id is preserved, so re-running the same export never double-counts.
Your mental model has a home here
| In Mixpanel / Amplitude | In smolanalytics | How it works |
|---|---|---|
| Insights / saved charts (Mixpanel), saved charts (Amplitude) | Reports | funnels, retention, paths, trends, computed, not hand-assembled |
| Cohorts | Cohort definitions | reusable event-membership + property filters, applied across reports |
| JQL / custom formulas | Ask in plain English | "day-7 retention for blog users" over MCP or the dashboard bar |
| Lexicon / event taxonomy | Tracking plan (smolanalytics.plan.json) | committed to your repo, gated in CI so it can't silently rot |
| Saved dashboards | Pinned boards | every answer you ask can pin to a board titled by the question |
| Spark / Ask Amplitude (their AI) | Ask on your own model | bring-your-own-AI over MCP; computed, CI-proven to match the dashboard |
What you rebuild, and why it's quick
- ·Saved reports & dashboards don't transfer. You rebuild the handful you actually look at, but here you ask for them in plain English and pin the answer to a board, so it's an afternoon, not a project.
- ·Cohort definitions don't transfer. Recreate them as reusable cohort definitions (event membership + property filters), applied across every report.
- ·Deep behavioral cohorts and pixel-perfect DOM session replay aren't here. If those are core to your work, keep your current tool for them. The vs pages say exactly when to stay.
Migration FAQ
Does my event history come with me?
Yes. smolanalytics ships native importers for Mixpanel (`smolanalytics import --format=mixpanel`) and Amplitude (`--format=amplitude`). They read each tool's export directly, keep the original timestamps so your graphs don't start at zero, and preserve `$insert_id` so re-running the same export dedupes instead of double-counting. Amplitude's gzipped `.json.gz` is decompressed automatically. Run with `--dry-run` first to preview the mapping.
Do my saved reports, dashboards, and cohort definitions transfer?
No, and no analytics tool can move those between platforms, because they're defined in each tool's own internal format. Only your raw events replay. You rebuild reports and cohorts here, which is quick: most questions you'd have saved a chart for, you just ask in plain English and pin the answer to a board. Cohorts are recreated as reusable definitions. It's a rebuild, not a migration of config, and we'd rather tell you that up front than have you discover it after switching.
What will I miss coming from Amplitude specifically?
smolanalytics' cohorts are event-membership plus property filters, not sequenced/time-windowed behavioral cohorts ("did A then B within 7 days, but not C"). If your work depends on that depth, Amplitude is still the better tool and you should keep it. smolanalytics ships feature flags, A/B experiments, heatmaps, surveys, and a session inspector, but it deliberately doesn't do pixel-perfect DOM session recording, so keep Amplitude if you rely on screen-recording replay too.
How long does a switch take?
The install is one snippet (or a native SDK on mobile), and the import is one command per source. The real work is deciding which handful of reports and cohorts you actually look at and rebuilding those, usually an afternoon, not a project, because you ask for them in English instead of configuring each chart.
Why switch at all?
The common reasons: the bill stops climbing (flat $8 per extra million, self-host free forever), you own your data (one Go binary or an isolated cloud instance), you ask your numbers from your editor on your own AI with no metered AI bill, and every answer is computed and CI-proven to match the dashboard, never guessed. See the head-to-heads for the honest trade-offs.
Bring your history, keep your bill flat.
One snippet, one import command, and you ask your numbers in plain English. 14-day full trial, no card. Self-host free forever.