{
  "slug": "plausible-to-umami",
  "title": "Plausible Business to self-hosted Umami",
  "summary": "Umami is much lighter to run than Plausible Community Edition, which is the only reason this comparison reads differently from the other one.",
  "publishable": true,
  "block_reason": null,
  "freshness": {
    "state": "fresh",
    "publishable": true,
    "oldest_input_days": 46.5,
    "problems": []
  },
  "incumbent": {
    "vendor": "Plausible Analytics (Cloud)",
    "vendor_id": "plausible",
    "plan": "Business",
    "plan_id": "business",
    "amount": 19,
    "period": "month",
    "per_seat": false,
    "billed": "annual",
    "seats": 1,
    "quote": "Business /year /month $19 /month ... Up to 10 sites",
    "caveat": null,
    "source_url": "https://plausible.io/#pricing",
    "verified_at": "2026-10-19",
    "needs_reverification": false
  },
  "alternative": {
    "name": "Umami (self-hosted)",
    "repo": "umami-software/umami",
    "project": {
      "full_name": "umami-software/umami",
      "url": "https://github.com/umami-software/umami",
      "homepage": "https://umami.is",
      "description": "Umami is a privacy-first analytics platform. Traffic, campaigns, behavior, conversions, and revenue in one place — no cookies, no surveillance, self-hosted or in the cloud.",
      "stars": 39459,
      "forks": 8343,
      "open_issues": 113,
      "license": "MIT",
      "archived": false,
      "pushed_at": "2026-10-17T08:54:13Z",
      "days_since_push": 2,
      "latest_release": {
        "tag": "v3.4.0",
        "published_at": "2026-09-17T04:21:49Z",
        "url": "https://github.com/umami-software/umami/releases/tag/v3.4.0"
      },
      "days_since_release": 32,
      "health": "active",
      "recommended": true,
      "verified_at": "2026-10-19T10:53:56.148Z"
    },
    "box": {
      "provider": "Linode",
      "name": "Nanode 1GB",
      "id": "linode:g6-nanode-1",
      "vcpu": 1,
      "ram_gb": 1,
      "disk_gb": 25,
      "bandwidth_tb": 0.98,
      "monthly_usd": 5,
      "url": "https://www.linode.com/pricing/",
      "verified_at": "2026-10-19T10:53:42.716Z"
    },
    "storage": {
      "id": "backblaze-b2",
      "name": "Backblaze B2",
      "usd_per_gb_month": 0.00695,
      "egress": "free up to 3x stored volume per month, then $0.01/GB",
      "pricing_url": "https://www.backblaze.com/cloud-storage/pricing",
      "quote": "the amount of data stored per byte-hour over the last month at a rate of $6.95/TB/30-day",
      "verified_at": "2026-09-03",
      "verified_by": "human",
      "affiliate": true,
      "gb": 20,
      "monthly_usd": 0.14
    },
    "requirements": {
      "ram_gb": 1,
      "vcpu": 1,
      "disk_gb": 20
    },
    "box_alternatives": [
      {
        "provider": "Vultr",
        "name": "vc2-1c-1gb",
        "monthly_usd": 5,
        "vcpu": 1,
        "ram_gb": 1,
        "disk_gb": 25,
        "url": "https://www.vultr.com/pricing/",
        "chosen": false
      },
      {
        "provider": "Linode",
        "name": "Nanode 1GB",
        "monthly_usd": 5,
        "vcpu": 1,
        "ram_gb": 1,
        "disk_gb": 25,
        "url": "https://www.linode.com/pricing/",
        "chosen": true
      },
      {
        "provider": "DigitalOcean",
        "name": "1 vCPU · 1 GB",
        "monthly_usd": 6,
        "vcpu": 1,
        "ram_gb": 1,
        "disk_gb": 25,
        "url": "https://www.digitalocean.com/pricing/droplets",
        "chosen": false
      }
    ],
    "migration_hours": 3,
    "maintenance_hours_per_month": 0.4
  },
  "result": {
    "computable": true,
    "inputs": {
      "seats": 1,
      "horizon_months": 36,
      "hourly_rate": 50
    },
    "incumbent": {
      "cash_monthly": 19,
      "time_monthly": 0,
      "monthly": 19,
      "one_time": 0,
      "annual": 228
    },
    "alternative": {
      "cash_monthly": 5.14,
      "time_monthly": 20,
      "monthly": 25.14,
      "one_time": 150,
      "cash_one_time": 0,
      "time_one_time": 150,
      "annual": 301.67
    },
    "delta": {
      "monthly": -6.14,
      "upfront_to_switch": 150,
      "annual": -73.67
    },
    "break_even_month": null,
    "break_even_hourly_rate": 28.68,
    "totals": {
      "at_12_months": {
        "incumbent": 228,
        "alternative": 451.67
      },
      "at_36_months": {
        "incumbent": 684,
        "alternative": 1055
      },
      "at_horizon": {
        "incumbent": 684,
        "alternative": 1055
      }
    },
    "savings": {
      "year_1": -223.67,
      "year_3": -371,
      "at_horizon": -371
    },
    "verdict": "stay"
  },
  "managed": {
    "provider": "PikaPods",
    "app": "Umami",
    "url": "https://www.pikapods.com/",
    "note": "Runs the same open-source software, applies updates, and takes daily encrypted backups to storage you own.",
    "source_url": "https://www.pikapods.com/apps",
    "quote": "Umami Umami is a … Run Your Own From $2.8/month",
    "monthly_usd": 2.8,
    "verified_at": "2026-10-19T10:54:00.624Z",
    "migration_hours": 2,
    "result": {
      "computable": true,
      "inputs": {
        "seats": 1,
        "horizon_months": 36,
        "hourly_rate": 50
      },
      "incumbent": {
        "cash_monthly": 19,
        "time_monthly": 0,
        "monthly": 19,
        "one_time": 0,
        "annual": 228
      },
      "alternative": {
        "cash_monthly": 2.8,
        "time_monthly": 0,
        "monthly": 2.8,
        "one_time": 100,
        "cash_one_time": 0,
        "time_one_time": 100,
        "annual": 33.6
      },
      "delta": {
        "monthly": 16.2,
        "upfront_to_switch": 100,
        "annual": 194.4
      },
      "break_even_month": 7,
      "break_even_hourly_rate": 291.6,
      "totals": {
        "at_12_months": {
          "incumbent": 228,
          "alternative": 133.6
        },
        "at_36_months": {
          "incumbent": 684,
          "alternative": 200.8
        },
        "at_horizon": {
          "incumbent": 684,
          "alternative": 200.8
        }
      },
      "savings": {
        "year_1": 94.4,
        "year_3": 483.2,
        "at_horizon": 483.2
      },
      "verdict": "switch"
    },
    "crossover": 291.6
  },
  "curve": [
    {
      "month": 0,
      "incumbent": 0,
      "alternative": 150
    },
    {
      "month": 1,
      "incumbent": 19,
      "alternative": 175.14
    },
    {
      "month": 2,
      "incumbent": 38,
      "alternative": 200.28
    },
    {
      "month": 3,
      "incumbent": 57,
      "alternative": 225.42
    },
    {
      "month": 4,
      "incumbent": 76,
      "alternative": 250.56
    },
    {
      "month": 5,
      "incumbent": 95,
      "alternative": 275.7
    },
    {
      "month": 6,
      "incumbent": 114,
      "alternative": 300.84
    },
    {
      "month": 7,
      "incumbent": 133,
      "alternative": 325.98
    },
    {
      "month": 8,
      "incumbent": 152,
      "alternative": 351.12
    },
    {
      "month": 9,
      "incumbent": 171,
      "alternative": 376.26
    },
    {
      "month": 10,
      "incumbent": 190,
      "alternative": 401.4
    },
    {
      "month": 11,
      "incumbent": 209,
      "alternative": 426.54
    },
    {
      "month": 12,
      "incumbent": 228,
      "alternative": 451.68
    },
    {
      "month": 13,
      "incumbent": 247,
      "alternative": 476.82
    },
    {
      "month": 14,
      "incumbent": 266,
      "alternative": 501.96
    },
    {
      "month": 15,
      "incumbent": 285,
      "alternative": 527.1
    },
    {
      "month": 16,
      "incumbent": 304,
      "alternative": 552.24
    },
    {
      "month": 17,
      "incumbent": 323,
      "alternative": 577.38
    },
    {
      "month": 18,
      "incumbent": 342,
      "alternative": 602.52
    },
    {
      "month": 19,
      "incumbent": 361,
      "alternative": 627.66
    },
    {
      "month": 20,
      "incumbent": 380,
      "alternative": 652.8
    },
    {
      "month": 21,
      "incumbent": 399,
      "alternative": 677.94
    },
    {
      "month": 22,
      "incumbent": 418,
      "alternative": 703.08
    },
    {
      "month": 23,
      "incumbent": 437,
      "alternative": 728.22
    },
    {
      "month": 24,
      "incumbent": 456,
      "alternative": 753.36
    },
    {
      "month": 25,
      "incumbent": 475,
      "alternative": 778.5
    },
    {
      "month": 26,
      "incumbent": 494,
      "alternative": 803.64
    },
    {
      "month": 27,
      "incumbent": 513,
      "alternative": 828.78
    },
    {
      "month": 28,
      "incumbent": 532,
      "alternative": 853.92
    },
    {
      "month": 29,
      "incumbent": 551,
      "alternative": 879.06
    },
    {
      "month": 30,
      "incumbent": 570,
      "alternative": 904.2
    },
    {
      "month": 31,
      "incumbent": 589,
      "alternative": 929.34
    },
    {
      "month": 32,
      "incumbent": 608,
      "alternative": 954.48
    },
    {
      "month": 33,
      "incumbent": 627,
      "alternative": 979.62
    },
    {
      "month": 34,
      "incumbent": 646,
      "alternative": 1004.76
    },
    {
      "month": 35,
      "incumbent": 665,
      "alternative": 1029.9
    },
    {
      "month": 36,
      "incumbent": 684,
      "alternative": 1055.04
    }
  ],
  "sensitivity": [
    {
      "hourly_rate": 0,
      "verdict": "switch",
      "break_even_month": 0,
      "savings_at_horizon": 499
    },
    {
      "hourly_rate": 25,
      "verdict": "marginal",
      "break_even_month": 20,
      "savings_at_horizon": 64
    },
    {
      "hourly_rate": 50,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -371
    },
    {
      "hourly_rate": 75,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -806
    },
    {
      "hourly_rate": 100,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -1241
    },
    {
      "hourly_rate": 150,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -2111
    },
    {
      "hourly_rate": 200,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -2981
    }
  ],
  "tradeoffs": {
    "you_lose": [
      "Plausible's polish, and its funnels and revenue tracking",
      "A hosted service run by people who care about privacy analytics specifically",
      "Email reports and shared dashboards without configuration"
    ],
    "you_gain": [
      "Postgres or MySQL instead of ClickHouse, which is the difference between a 1 GB box and a 4 GB one",
      "No pageview ceiling",
      "MIT licensing"
    ]
  },
  "caveats": [
    "Historical data does not transfer. You start counting from zero unless you write the import yourself.",
    "Plausible Cloud at $19 a month is genuinely cheap. This comparison exists because Umami is light enough to change the answer, not because $19 is outrageous.",
    "Umami's reporting is thinner than Plausible's. If you actually read your analytics rather than just collecting them, that matters."
  ],
  "category": "analytics",
  "updated_at": "2026-10-19"
}