Blog | Tristan Kernan

“That some of us should venture to embark on a synthesis of facts and theories, albeit with second-hand and incomplete knowledge of some of them – and at the risk of making fools of ourselves” (Erwin Schrödinger)

From Cloudflare to Umami Analytics

For a recent project, I integrated Cloudflare web analytics, as I had been using it for this blog for some time. Out of curiosity, I looked into alternative, self hosted analytics options: plausible and umami. Imagine my surprise when I see in the plausible docs that cloudflare data is inaccurate, as stats are based on a 10% sample. I had been suspicious that something like this was occurring, owing to the round number bias: the phenomena whereby round numbers seem like estimates rather than exact calculations.

As an example, for this blog, as of writing, Cloudflare reports 340 total visits in the past 30 days. Visits by country breaks down to: 90 USA, 70 Singapore, 20 Mexico, and so on. Browser breakdown is: 270 Chrome, 20 Firefox, 20 Safari, and so on. Every number in the dashboard is rounded to the nearest 10. Take a look:

cloudflare web analytics dashboard

In the Cloudflare dashboard, there's a tooltip that states:

Based on a 10% sample of page load events.

... confirming the suspicion. Given the relatively low traffic to my blog, and even more so my new project, I wanted to do better. At the scale of a few dozen requests per day, I should be able to get complete information. Hence I turned to self hosting umami. I chose umami over plausible after reading on reddit that self hosted plausible is limited, and folks reported positive experiences with umami. So far, so good: umami provides everything I am looking for in an analytics tool, plus it's simple to host and easy to use. Here's how it looks, since switching a few days ago:

umami dashboard

Since upgrading my homelab from an rpi to a proper mini pc, I have been feeling more confident in self hosting, and I am pleased with umami for delivering where cloudflare fell short.