So I've been trying to figure out how to set up charts that show user retention analysis. I already have logs of users logging in with their ID and DateTime.
I'm trying to figure out if there is a way to have Kibana display a bar graph with Y-Axis as Percent Users Returned, and X-Axis as Day 1 to Day 90.
Now, I've managed to solve this by pulling the logs from elastisearch and then processing them in a small console program I wrote in C#. The code just pulls the sign up logs of the user and then uses the user's ID to pull all logs associated with the user from elasticsearch. I then have the code calculate the day the user is active after the signup DateTime. I group it by days and then get the count of unique users. To calculate percent, I divided the number of users by the amount of users in Day 0. After this, I put these as a new log into Elasticsearch containing only the Day and Percent of Users.
It displays the data I need once I pull the logs on Kibana. But I'm trying to see if there's a better way to do this, one that wouldn't require me to run a C# program to do the calculations. If I can keep it all within Kibana, that'd be best.