My name is Rebecca and I’m a junior engineer here at Keen IO. I recently graduated from Hackbright Academy, a 10-week developer bootcamp for women. For my final project (thematcproject.org), I created a crowdsourced game for tagging words with parts of speech. My app then assembles these words into a corpus for anyone to download or browse.
As a newly minted junior developer, the thought of doing data analytics on my web app was pretty intimidating, especially since I had no clear concept of what “data analytics” meant. What did I want to know about my users? How would I even collect the data to analyze? Did I need another database for whatever it was I ended up collecting? I had no idea what I was doing or why I even needed to do it.
I took a weekend class on data analytics and discovered that it isn’t some scary, nebulous creature you need to tame. Ask yourself just one simple question and you’re well on your way to being an analytics nerd. What do you need to know about your customers? For my app, I needed event data. I wanted to know who was registering but never playing, who was downloading the corpus, and who needed more information on how to play the game. Some of these things are doable with standard analytics tools, and some required customization. Since I needed custom analytics anyway, I just used Keen IO’s API for all of my analytics.
I’m currently keeping track of when a user registers and their username. I have a separate “signins” collection that keeps track of when a user signs in and their username. Now, I can easily assess the percentage of users who come to my site and play more than once. Customer retention for my app isn’t super vital, but it might be for your app. I also don’t need a ton of data on who exactly is signing up, how they were referred, et cetera, but you can easily track that in your app if you want to.
Other than how many players were returning, I really wanted to know which players were “super users” versus the more casual players. Whenever my game page loads, I send another event to Keen IO. Here, I’m keeping track of a bunch more attributes:
- the username
- how many points in the game they have
- how many words they’ve tagged with a part of speech
- how many of those words have been verified (by a certain amount of other users tagging it similarly)
As you can imagine, a lot of that data is coming from my own server to begin with, and it changes each time the player plays the game and tags a word.
However, since I’ve stored all of this data in Keen IO’s database, I can now look at a player’s history and see how they’ve changed their tagging over time, how often they’re playing, what sorts of words they tag, and how often other users agree with their tags. This sort of data isn’t available in my regular database, and is also a pretty large amount of data to have to worry about storing for what is essentially now a pet project.
So far working with Keen IO’s API has been really simple and insightful. I discovered that most people who register for my game are actually coming back and playing it more than once (success!!) and that there definitely is a learning curve in discovering how to tag words properly. In the future, I can use these insights for all sorts of different things — refining the instructions to lower the learning curve, for instance.
My web app is obviously way different from yours, but the same principles apply. Start from the bottom: Figure out what information you need to gather, set up your website to start tracking that data, and then start reaping the benefits! If you need any help getting started, check out Keen IO’s API documentation, or you can get in touch with me directly at firstname.lastname@example.org, and I’ll happily lend a hand.