How to calculate daily new users to a website

We're using Elasticsearch to visualize our website usage data.
Each day there are new users coming into our website.
How can I calculate the number of new users and visualize it with a line graph?

The simple answer is like this. I used Unique count of clientip and a Date Histogram with a daily interval.

But the problem with this is that it's counting how many unique IPs there are each day. So the count on the second day includes all the IP addresses on that day even if they also were visitors on the previous day.

There are several other posts on this topic but I don't think any of them have a good solutions you could implement in Kibana. For example;

Here's a post that looks like it's developing the correct query in Elasticsearch but I'm not sure if we can do that in Kibana;

I'll try to spend some time to see if Kibana can do this;
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline.html#_special_paths

A common way to get around this is to create a separate entity-centric index that contains a single document per identified user. This can contain the first seen date and be updated periodically, e.g. through a batch job. This makes it very easy to create user centric queries that are hard to perform based on large amounts of access records.

I filed this issue in Elasticsearch repo. But even if implemented, Kibana would also require a change to support it.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.