{
  "slug": "plausible-to-matomo",
  "title": "Plausible Business to self-hosted Matomo",
  "summary": "Matomo does far more than Plausible and costs far more to run. Whether that is a trade or a downgrade depends entirely on what you actually look at.",
  "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": "Matomo (self-hosted)",
    "repo": "matomo-org/matomo",
    "project": {
      "full_name": "matomo-org/matomo",
      "url": "https://github.com/matomo-org/matomo",
      "homepage": "https://matomo.org/",
      "description": "Empowering People Ethically 🚀 — Matomo is hiring! Join us → https://matomo.org/jobs Matomo is the leading open-source alternative to Google Analytics, giving you complete control and built-in privacy. Easily collect, visualise, and analyse data from websites & apps. Star us on GitHub ⭐️  – Pull Requests welcome! ",
      "stars": 21960,
      "forks": 2918,
      "open_issues": 2562,
      "license": "GPL-3.0",
      "archived": false,
      "pushed_at": "2026-10-19T09:14:03Z",
      "days_since_push": 0,
      "latest_release": {
        "tag": "5.14.1",
        "published_at": "2026-10-04T19:50:07Z",
        "url": "https://github.com/matomo-org/matomo/releases/tag/5.14.1"
      },
      "days_since_release": 15,
      "health": "active",
      "recommended": true,
      "verified_at": "2026-10-19T10:53:55.582Z"
    },
    "box": {
      "provider": "Vultr",
      "name": "vc2-1c-2gb",
      "id": "vultr:vc2-1c-2gb",
      "vcpu": 1,
      "ram_gb": 2,
      "disk_gb": 55,
      "bandwidth_tb": 2,
      "monthly_usd": 10,
      "url": "https://www.vultr.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": 60,
      "monthly_usd": 0.42
    },
    "requirements": {
      "ram_gb": 2,
      "vcpu": 1,
      "disk_gb": 40
    },
    "box_alternatives": [
      {
        "provider": "Vultr",
        "name": "vc2-1c-2gb",
        "monthly_usd": 10,
        "vcpu": 1,
        "ram_gb": 2,
        "disk_gb": 55,
        "url": "https://www.vultr.com/pricing/",
        "chosen": true
      },
      {
        "provider": "Linode",
        "name": "Linode 2GB",
        "monthly_usd": 12,
        "vcpu": 1,
        "ram_gb": 2,
        "disk_gb": 50,
        "url": "https://www.linode.com/pricing/",
        "chosen": false
      },
      {
        "provider": "DigitalOcean",
        "name": "1 vCPU · 2 GB",
        "monthly_usd": 12,
        "vcpu": 1,
        "ram_gb": 2,
        "disk_gb": 50,
        "url": "https://www.digitalocean.com/pricing/droplets",
        "chosen": false
      }
    ],
    "migration_hours": 6,
    "maintenance_hours_per_month": 1
  },
  "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": 10.42,
      "time_monthly": 50,
      "monthly": 60.42,
      "one_time": 300,
      "cash_one_time": 0,
      "time_one_time": 300,
      "annual": 725
    },
    "delta": {
      "monthly": -41.42,
      "upfront_to_switch": 300,
      "annual": -497
    },
    "break_even_month": null,
    "break_even_hourly_rate": 7.36,
    "totals": {
      "at_12_months": {
        "incumbent": 228,
        "alternative": 1025
      },
      "at_36_months": {
        "incumbent": 684,
        "alternative": 2475.01
      },
      "at_horizon": {
        "incumbent": 684,
        "alternative": 2475.01
      }
    },
    "savings": {
      "year_1": -797,
      "year_3": -1791.01,
      "at_horizon": -1791.01
    },
    "verdict": "stay"
  },
  "managed": {
    "provider": "PikaPods",
    "app": "Matomo",
    "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": "Matomo Matomo is the … Run Your Own From $2.7/month",
    "monthly_usd": 2.7,
    "verified_at": "2026-10-19T10:54:00.624Z",
    "migration_hours": 3,
    "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.7,
        "time_monthly": 0,
        "monthly": 2.7,
        "one_time": 150,
        "cash_one_time": 0,
        "time_one_time": 150,
        "annual": 32.4
      },
      "delta": {
        "monthly": 16.3,
        "upfront_to_switch": 150,
        "annual": 195.6
      },
      "break_even_month": 10,
      "break_even_hourly_rate": 195.6,
      "totals": {
        "at_12_months": {
          "incumbent": 228,
          "alternative": 182.4
        },
        "at_36_months": {
          "incumbent": 684,
          "alternative": 247.2
        },
        "at_horizon": {
          "incumbent": 684,
          "alternative": 247.2
        }
      },
      "savings": {
        "year_1": 45.6,
        "year_3": 436.8,
        "at_horizon": 436.8
      },
      "verdict": "switch"
    },
    "crossover": 195.6
  },
  "curve": [
    {
      "month": 0,
      "incumbent": 0,
      "alternative": 300
    },
    {
      "month": 1,
      "incumbent": 19,
      "alternative": 360.42
    },
    {
      "month": 2,
      "incumbent": 38,
      "alternative": 420.84
    },
    {
      "month": 3,
      "incumbent": 57,
      "alternative": 481.26
    },
    {
      "month": 4,
      "incumbent": 76,
      "alternative": 541.68
    },
    {
      "month": 5,
      "incumbent": 95,
      "alternative": 602.1
    },
    {
      "month": 6,
      "incumbent": 114,
      "alternative": 662.52
    },
    {
      "month": 7,
      "incumbent": 133,
      "alternative": 722.94
    },
    {
      "month": 8,
      "incumbent": 152,
      "alternative": 783.36
    },
    {
      "month": 9,
      "incumbent": 171,
      "alternative": 843.78
    },
    {
      "month": 10,
      "incumbent": 190,
      "alternative": 904.2
    },
    {
      "month": 11,
      "incumbent": 209,
      "alternative": 964.62
    },
    {
      "month": 12,
      "incumbent": 228,
      "alternative": 1025.04
    },
    {
      "month": 13,
      "incumbent": 247,
      "alternative": 1085.46
    },
    {
      "month": 14,
      "incumbent": 266,
      "alternative": 1145.88
    },
    {
      "month": 15,
      "incumbent": 285,
      "alternative": 1206.3
    },
    {
      "month": 16,
      "incumbent": 304,
      "alternative": 1266.72
    },
    {
      "month": 17,
      "incumbent": 323,
      "alternative": 1327.14
    },
    {
      "month": 18,
      "incumbent": 342,
      "alternative": 1387.56
    },
    {
      "month": 19,
      "incumbent": 361,
      "alternative": 1447.98
    },
    {
      "month": 20,
      "incumbent": 380,
      "alternative": 1508.4
    },
    {
      "month": 21,
      "incumbent": 399,
      "alternative": 1568.82
    },
    {
      "month": 22,
      "incumbent": 418,
      "alternative": 1629.24
    },
    {
      "month": 23,
      "incumbent": 437,
      "alternative": 1689.66
    },
    {
      "month": 24,
      "incumbent": 456,
      "alternative": 1750.08
    },
    {
      "month": 25,
      "incumbent": 475,
      "alternative": 1810.5
    },
    {
      "month": 26,
      "incumbent": 494,
      "alternative": 1870.92
    },
    {
      "month": 27,
      "incumbent": 513,
      "alternative": 1931.34
    },
    {
      "month": 28,
      "incumbent": 532,
      "alternative": 1991.76
    },
    {
      "month": 29,
      "incumbent": 551,
      "alternative": 2052.18
    },
    {
      "month": 30,
      "incumbent": 570,
      "alternative": 2112.6
    },
    {
      "month": 31,
      "incumbent": 589,
      "alternative": 2173.02
    },
    {
      "month": 32,
      "incumbent": 608,
      "alternative": 2233.44
    },
    {
      "month": 33,
      "incumbent": 627,
      "alternative": 2293.86
    },
    {
      "month": 34,
      "incumbent": 646,
      "alternative": 2354.28
    },
    {
      "month": 35,
      "incumbent": 665,
      "alternative": 2414.7
    },
    {
      "month": 36,
      "incumbent": 684,
      "alternative": 2475.12
    }
  ],
  "sensitivity": [
    {
      "hourly_rate": 0,
      "verdict": "switch",
      "break_even_month": 0,
      "savings_at_horizon": 308.99
    },
    {
      "hourly_rate": 25,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -741.01
    },
    {
      "hourly_rate": 50,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -1791.01
    },
    {
      "hourly_rate": 75,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -2841.01
    },
    {
      "hourly_rate": 100,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -3891.01
    },
    {
      "hourly_rate": 150,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -5991.01
    },
    {
      "hourly_rate": 200,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -8091.01
    }
  ],
  "tradeoffs": {
    "you_lose": [
      "Plausible's speed and its one-screen simplicity, which is why people choose it",
      "A managed service that never needs a cron job debugged",
      "Funnels and revenue tracking on the cloud plan"
    ],
    "you_gain": [
      "Fifteen years of features: heatmaps, session recording, goals, e-commerce, A/B tests",
      "GDPR tooling that a European auditor already recognises",
      "GPL-3.0, and an importer that can pull your history out of Google Analytics"
    ]
  },
  "caveats": [
    "Matomo's archiving cron is the piece that bites people. If it is not running, your reports quietly stop updating and nothing tells you.",
    "Disk grows fast on a busy site. The 40 GB here suits modest traffic; budget more if you have real volume.",
    "If you picked Plausible because it is simple, Matomo is not an upgrade. Read the Umami page instead — it is the closer swap."
  ],
  "category": "analytics",
  "updated_at": "2026-10-19"
}