Peloton and Qlik - Part 4 (Beyond Dashboards – Taking Peloton Analytics to the next Level)
David Freriks
SAP Technology Evangelist (Director - Partner Engineering) – Snowflake & DataSphere/SAP at Qlik
So this week, Part 4 is a collaborative effort with Dalton Ruer (aka QlikDork), and by collaborative, I mean he did all the work and I copied/pasted into this article... Thanks Dalton!
Pardon the pun, but this has been a great ride with all of you that have contributed your comments, messages and enthusiasm for this topic.
Fresh off the announcement of Qlik’s 11th consecutive year in the Gartner Magic Quadrant (yay!) comes Part 4 of this series. Today we turn the keys over to Dalton Ruer who has built some resources to showcase what makes Qlik such a visionary in the market place, and why the platform is so well suited to analyzing lifestyle/health data.
At its core, Qlik Sense is an Open API. This foundation enables Qlik Sense to meet specific use cases that aren't "out of the box" scenarios. When I started this analytics journey, I was only concerned with my own ability to read my data. However, as the project has grown, I needed a way to enable others to access and analyze their own data on the fly without requiring them to magically become developers. So, I turned to the Qlik Developer Garden where developers around the globe contribute very specific visual or analytical "extensions." Aptly named that, because they extend what Qlik Sense does "out of the box."
In part 2, I included a screen shot with a green button that read "Partial Reload." That button is an "extension" which, well, extends what normal buttons do. It tells Qlik Sense to reload the data based on the User ID and Password that have been input, while retaining any important data that we don't want to reload.
Dalton took advantage of that functionality but chose a different "partial reload" extension for the Web Mashup that he built. Notice how this extension provides a very, web friendly, feedback for the end user.
But it seems I've jumped ahead. You see that Open API I mentioned works both ways. Not only does it enable organizations to extend what it does, it allows them to embed objects anywhere that make sense for the organization. As you can see in the animated GIF, of the mashup that Dalton created below, end users can still interact with the data and other objects are still responsive. They can roll back selections, clear selections or yes popup filter panels to make selections.
It's because the Qlik Sense "engine" is still being called. Just through a different interface. Using a little HTML, CSS and Javascript he was able to dramatically transform my base application for an entirely different audience. Mashups can also be used to pull data from multiple applications together into a true operational dashboard.
As the Qlik Dork of course he can do all that, but rest assured my friends you can too. Because Qlik Sense provides what we call a Developer Hub that allows you to start with existing templates web templates, and then simply drag or drop the components you wish. It then builds the javascript for you behind the scenes.
At this point in my post I've got some good news for you, and I've got some bad news for you. The bad news is that I had full intentions of going deeper into the coding for the mashup. I had all sorts of super techie things to show you about how the code gets constructed (magically) for you. But alas I find I simply can't dive into that.
The good news is that Dalton told me he had another very unique way to visualize my data in just one visualization. That's right, ONE visualization that encompasses all my data. I was suspicious that it might be a giant spreadsheet, but he assured me it wasn't. After he showed me, I knew I had to share it with you. Primarily because it's cool, and partially because it showcases an entirely unique perspective on Qlik Sense as an Open API platform.
The mashup used different HTML and CSS than what you saw in the application, but fundamentally it was still the same visuals. What I will show you next is a partner's product, Immersion Analytics, that communicates directly with the Qlik Data Engine through via an API. It doesn't use Qlik Sense bar charts or line charts, instead it visualizes the data in a very different way. A very unique way that allows me to truly analyze all the data elements in context with each other. Let's get started slowly so you can relate.
For a great in-depth dive into this technology, visit Dalton's Qlik Dork site:
The first step is to simply visualize Instructors and Class Duration. Notice that each dot simply tells me who I've ridden with and for how long. We already knew that I have a preference for 30 minute workouts so I wasn't surprised to see that I had a 30 minute ride with nearly all instructors. What I didn't realize was that are some instructors I have a lot of ride durations with, and others that I only do 30 minute rides with.
While the illustration above could be handled in a Scatter Plot with any vendor, this really ups the ante. Notice that he now shows a third dimensional access for the Weekday while also visualizing my average heart for rides, and my max cadence for rides. It seems that although I have about the same amount of rides with Emma on Mondays and Sunday's the coloring indicates that my average heart rate is higher on my Sunday rides with her. I can also see that there are instructors with whom my cadence gets much higher.
One of Dalton's capstone phrases is "context is king." After seeing him progress through the visualization I began to see why. When more elements are visualized together a different story begins to emerge. So, let's keep going. In the next image you will see that Dalton changed how the dots were being sized. Instead of sizing them to the number of rides I had with each instructor, he used my total workout value. I still needed to know the number of rides, but he used satellites to show me that. Which really made sense to me.
The goal of data visualization and analytics is to help the data consumers quickly gain insights. Size is now used to show me volume, not count, while also showing me count using something I can count. By making such a simple change, a bigger picture started emerging. I was doing far less rides with instructors other than Emma, while getting nearly the same total work from their rides.
Well now I was hooked. After seeing 7 elements together I was ready for more. Rather than a static image I'm including the following GIF so that you can see an animated version of what I got to see.
One of the elements of a ride is the resistance. The higher the resistance the rougher the ride is. As the animation starts notice that Max Resistance has been added. Not sure it can get any cooler than the "planet's surface," if you will, becoming rough so I can tell where I'm riding uphill vs down. And I'm not getting the same resistance across instructors, days, or class durations.
As Dalton continues you will realize exactly why I needed the animation. As he adds Max Heart Rate it's visualized by movement. You know, like my heart beating.
What could be more awesome than that? Oh I know make the speed of the vibration increase to represent my Max Speed. And what about my Max Power? I know. Make the beating go up and up down.
He then adds the # of Workouts, ie the satellites, back into the mix so that you can see that they rotate around the "planet."
Is it showing off when he then visualizes an axis for the planets to represent the Avg Distance for the rides so that I can tell whether I ride shorter or longer with different instructors, by class duration, by day?
Although the application allows 18, I'm not sure that you really need more to understand the concept. The impact of seeing 12 elements at one time, in such an easily consumable way really gives me a different story of my data.
My heart appreciates the impacts that my Peloton has made to my health.
My brain appreciates the fact that Qlik Sense is foundationally an Open API so that I can consume the ride data in so many eloquent ways.
So for now this ends the Peloton Blog series. At some point, I may circle back around with attempting to combine AI/ML with the Peloton data to build a "PerscriptiveWorkout" analysis. Taking a look at my workout history and metrics and using that data as a recommendation engine for what types of workouts I should take in the future.
As always, reach out and comment - and happy to share a link for you to try this out for yourself!