Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How Data Analysis Can Help You Develop

DZone's Guide to

How Data Analysis Can Help You Develop

Anything that can be measured can later be analyzed. Read on to learn how data analytics can answer all of your burning questions.

· Big Data Zone
Free Resource

Learn best practices according to DataOps. Download the free O'Reilly eBook on building a modern Big Data platform.

Do you know how your company's customers are using the product you developed? Have you ever wondered how the changes you make impact customer usage of your product? Are you interested in seeing how your code turned out in the real world? Data analytics can answer all of these questions.

I am a data analyst at BlazeMeter. Data analysts at tech companies like myself monitor customer usage to see how customers are using the product. We follow plan utilization; feature usage, specifically which features are used and which are ignored; customer journey through the app; and correlation to conversion. Data can quickly tell us stories about users that are very hard to gather otherwise.

For example, Docker, which is an open-source platform for developing and running containers, runs data analytics. By checking their users' geo-locations and operating systems, they get insight into their users. By analyzing if the product is used and how active developers are on it, they understand what the scope of developer adoption is. By looking at how many developers have to reset to default, they see how stable Docker is. By examining if people upgrade to the latest features, they know if the product converts.

These analytics give Docker greater visibility to their product, which can be used for fine-tuning used features and for fixing and changing those that aren't. By identifying new use cases and/or unused features of the product, the results can be used by product management when deciding about the product roadmap. This is when the process returns to you as developers and to your development work.

This analysis is especially important after releases. Personally, that's when I take an even closer look. I analyze different customers based on their known usage patterns and the part of the solution that was updated. I want to ensure we didn't mess anything up in a new release and that our target changes were met.

For example, we recently saw that a certain feature wasn't being used enough, so we made several changes to the product. Following these changes, usage of the feature increased dramatically.

You can see that from October to February, the feature was hardly used. So we started making changes and the usage started to rise from March to December. We made a few more changes and, as a result, the usage was very high from January to April. April to April saw a 297% rise in feature usage! We wouldn't have known we needed to adjust the feature without data analysis.

Data analysts also work with Sales and Customer Success. By following up on customer usage and verifying the value customers are gaining from the solution, we can alert them about potential churn (underutilization of a plan) or expansion opportunities (high utilization of a plan). After all, a happy customer will renew and expand her subscription.

An engaged customer's usage looks like this:

The usage is growing over time, showing a better understanding of the product and more commitment.

A customer that needs to be looked into will have a different usage profile:

This customer is using the product less and less. This means something is wrong — either they're unhappy with the UX or their needs have changed and we need to find out how to adapt the product accordingly. Anyway, this requires following up with them.

We also try to look at the customer journey and figure out which activities correlate to subscribing. Facebook, for example, discovered that an engaged user would gain seven friends within ten days of signing up. Dropbox treats engaged users as those who put at least one file in one folder.

Finally, we understand the value our customers get from our solution and work with marketing to develop messaging. In the BlazeMeter Blog, you can see how different messaging is used for different use cases:

Some customers see value in conducting large tests before major events, like Black Friday.

Others are switching over from legacy tools like LoadRunner.

While still others want to utilize continuous integration.

Each one of these use cases has a very different usage profile allowing us to figure out the value the customer gains.

Data analysis isn't just for tech companies, it gives us insight into our whole life. For example, the San Francisco Chronicle created a special report based on data from the marathon organizers as well as from Strava, a running and cycling social network.

In their fascinating work, they display runners' profiles, how fast different people ran at different times and terrains of the race, and put together the profile of the best and fastest runner. This is not only interesting but also helps runners who want to practice for the next marathon learn what they need to focus on.

Source: San Francisco Chronicle

Additional interesting and helpful analytics include storm tracking, crimespotting, and income distribution. These can all help determining policy as well as affect personal behavior.

Basically, anything that can be measured can later be analyzed. Like one of Docker's software engineers, Ben Bonnefoy, says:

"Data will win any, and all, arguments. Opinion is feeling, data is fact."

So, if you are interested in learning the facts about your coding and your product, talk to your company's data analyst, gain insight, and improve your work.

Find the perfect platform for a scalable self-service model to manage Big Data workloads in the Cloud. Download the free O'Reilly eBook to learn more.

Topics:
big data ,data analytics ,data visualization

Published at DZone with permission of Ephy Behar, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}