Noise to Signal


It’s Time to Rethink how Analysts Work and Collaborate

Any keen observer of this blog may have noticed that I’ve been spending a lot of time on creative applications of R towards web analytics. While each individual application of R is interesting in itself, what I’ll present in this post is a vision for how integrating R into an analytics team can fundamentally alter how analysts work individually and collectively through code. This is a first step towards developing a set of broadly applicable principles and best practices I’m calling MeasureOps (akin to DevOps and DataOps.)

Before I get to my vision, let me start with an anecdote from last Summer. A local agency’s analytics director was going on maternity leave and I was tapped to fill in her role during her absence. During our hand-off call, she called out a client presentation but mentioned that it should be out the door before I arrived. Lo-and-behold, that client moved the presentation date back and the responsibility shifted to me. No problem, right? I opened the presentation and was faced with 100 slides of charts and graphs pulled from Google Analytics into Excel and then into PowerPoint. I had access to the Excel files, but not the queries that generated them and certainly not the thinking that went along each decision. Even worse, when I attempted to recreate specific charts, I received different results. This meant that simple alterations requested by the client (for example, altering a date range) potentially invalidated the analysis presented in the slide.

The horror story above exposes something that doesn’t receive enough attention in the #measure community: analysts don’t play well with other analysts. But it isn’t their fault! In many cases, analysts are spread out across separate departments and don’t have an opportunity to work together. In other situations, the processes and technologies they inherit are not built for collaboration. This is a vicious cycle: it’s hard to collaborate, so collaboration doesn’t happen, and analysts don’t learn how to collaborate.

What if I had a solution that not only addresses the collaboration issue, but makes individual analysts more efficient and capable of delivering high quality deliverables? Would you pay $100? $50? How about $0 for the free & open source data-first programming tools, R and R Studio!? My vision is one where analysts individually make use of the powerful data exploration and visualization capabilities of R while they collectively collaborate using the same methods developers use: code libraries and version control.

Ok, organizational change isn’t easy and neither is learning a new tool so $0 may be an exaggeration. But let me paint a picture of what’s possible through a retelling of the anecdote above:

Sharon leaves for maternity leave and Adam learns that he’s responsible for the presentation. Fortunately, Sharon compiled the PowerPoint presentation from an Rmarkdown file which was checked into an agency Github repository. Adam was able to retrieve the file along with the commit history which provided useful context around how the analysis evolved over time. Once inside the file, Adam noticed Sharon used googleAnalyticsR to pull data directly from Google Analytics and build useful charts. He also noticed that some commonly used functions were pulled from an agency-wide library accessible to all analysts on the team, neat! By compiling the Rmarkdown file, Adam was able to reproduce Sharon’s results precisely. Furthermore, the markdown file contained helpful comments within the code about why certain date ranges were selected or fields omitted. When presenting the report, Adam had all the knowledge necessary to back up the analysis. Furthermore, when the client requested that the date range of the entire presentation be moved back 5 days, Adam was able to update 1 line of code and reproduce the presentation.

Much better, right? That story doesn’t even touch upon some additional benefits of incorporating R such as the potential to work entirely within a browser, build interactive dashboards, or automate tasks in the cloud.

I realize this isn’t as simple as flipping a switch. So, what are some of the barriers and why don’t analysts or teams look into this option more seriously? Here’s what I’ve come up with, but I would love feedback on this matter.

Analysts aren’t developers. How can you expect them to learn how to code?

This is a reasonable point, though I have a strong suspicion that a majority of analysts have confronted enough JavaScript or VBScript to make them ‘code adept’ or at least ‘code curious’. It’s my belief that with a little bit of training and a lot of pre-built code templates, any willing analyst can reap the benefits I described above. I also believe that R (and the tidyverse in particular) provides the easiest on-ramp to those seeking to manipulate data and visualizations in code.

I love my [insert BI/Visualization tool], why would I change tools?

There are likely combinations of tools that deflate the gains I’ve promised with R. If your team is working in Excel, then you would see 100% of the gains. If you’re using Tableau, then maybe you’re automating your slide creation so only 80% of the benefits would apply. I would like to do more research into where this methodology makes sense and where it doesn’t, but the principle of treating analyst work products as versioned, commented code should be universally beneficial.

Isn’t R just for data scientists and machine learning? I’m not a statistician!

R was developed for the scientific community, but at the end of the day it’s a data-first language. There is plenty to offer without ever touching its statistics or machine learning capabilities. Though that’s certainly encouraged (hat tip to Dartistics).

My clients/stakeholders aren’t complaining. Why change?

No stakeholder will complain about an insight they didn’t know they could receive. In evaluating my suggestion, you have to answer the question: Would using R help me generate new or stronger insights? If the answer is yes, and I have a high degree of confidence it can, then your clients/boss will be even more satisfied. To take an example of a new, interesting analysis you may not have previously considered, try generating a market basket analysis in Excel, Tableau, or Looker. Now try it in R.

That last question, ‘why change?’, is an interesting and profoundly personal one. Without any external pressure, change needs to be driven from within by a belief that things will be measurably better on the other side. I hope, over the course of the next few months, to flesh out my vision further and to provide inspiration, code samples, training, and commentary that makes it a convincing vision with a well-defined transition. Let me know if you’re on board!

How to Add Web Vitals to Google Analytics and Reveal a New Search Ranking Signal

Google recently announced an upcoming shift in how website performance will affect search ranking starting in 2021. Moving forward, there will be additional emphasis on a series of metrics called the Core Web Vitals which focus on how users perceive the responsiveness of your website. These vitals address a major flaw in how website performance was measured historically. Older metrics like “page weight” described specific networking or computing resources that might be taxed, but didn’t directly describe the degree to which those bottlenecks affected users. Consequently, it was difficult to ascertain what a “good” page weight might be, beyond the conventional wisdom of smaller is better.

In this article, I’ll show you how you can incorporate core web vitals into Google Analytics. If you’re just looking for the GTM tags and triggers to accomplish this, you can download them here.

Read More

Market Basket Analysis using Google Analytics Data

Ever since I learned about Market Basket Analysis, my head was spinning with ideas on how it could be applied to web data. To back up for a second, Market Basket Analysis (MBA), is a data mining technique that catalogs the strength in relationships between combinations of items placed together during a transaction. Applications often include:

  • Recommending content in the form of “Users who view X and Y also view Z”
  • Offering promotions for combinations of items to increase revenue
  • Better understanding of user behavior and intent
  • Updating editorial decisions based on popular combinations of items
Read More

Viewing Google Analytics Segment Overlap in R

Google Analyitcs segments are a fantastic way to organize the results of an analysis. There are, however, a few limitations of using segments in GA:

  1. They cause reports to become sampled after 500,000 sessions (or 100M with GA360)
  2. Only 4 segments can be compared at one time
  3. Segments are saved under your Google account which makes sharing them a pain
  4. When comparing segments, it’s hard to tell how much they overlap

All of these limitations can be resolved by bringing your Google Analytics data into R with the googleAnalyticsR library, but this post will focus on #4 above: Understanding segment overlap. The code generating this blog post can be found here.

Read More

Mobile App & Live Streaming Analytics: A Case Study with Hope Channel International, Inc.

Over the last 3 years, Noise to Signal has had the pleasure of designing and implementing a robust analytics system for Hope Channel International, the media arm of the Seventh-Day Adventist Church. Hope Channel’s shows focus on faith, health, and community and reaches millions of viewers across dozens of countries in just as many languages. When I was introduced to Hope Channel in 2017, they didn’t have any hard data related to video performance or live-stream viewership. They were, in effect, flying blind as it related to scheduling and programming decisions. Today, they have near real-time access to granular data related to show performance and viewership trends.

Read More

Introducing Differential Scroll Tracking with GTM

One of the benefits of being a freelance analyst is that I have access to dozens of different client instances of Google Analytics and Google Tag Manager. One common implementation I find is scroll tracking. Whether through a custom plug-in or GTM’s out of box tracking, clients often implement events that look like this:

Read More

How to Add GA Segments to Google Data Studio Reports

**Update: Google Data Studio now includes native support for GA Segments. The post below may still be relevant if you are looking to combine data from multiple sources into a single Data Studio report /Update**

Ever since Google released Data Studio in mid-2016, I’ve received a lot of interest from clients who find its data visualization and data sharing capabilities much easier to grasp than the standard Google Analytics reports. However, anyone who has put together a Data Studio report has noticed that its simplicity is both its strength and weakness. You can easily create visually compelling reports in minutes, but it lacks the sophistication of more feature-rich tools such as Tableau. One missing feature that I’ve seen users complain about is its lack of support for GA Segments. Fortunately, with the Google Sheets connector and Google Analytics add-on for Sheets we’re able to work around this limitation. Note that this same process works (and is slightly easier) with Supermetrics, but I’ll demonstrate my solution with the GA add-on for Sheets because it’s free.

Read More

Using Google Analytics to Predict Clicks and Speed Up Your Website

Google Analytics holds a trove of information regarding the path that each user takes on your website. It’s not a leap, then, to imagine using past user behavior to predict the path that a current user will take on your website. What if we could use these predictions to download and render assets before the user requests them? Thanks to the HTML5 prerender command, we can! In this post I’ll discuss how creative applications of Google Analytics, R, Google Tag Manager, and the HTML5 prerender hint were used to create a snappier browsing experience for users of

Read More

Google Analytics Autotrack.js Updated – See What’s New

On August 2nd, Google announced the release of an updated and much improved autotrack.js plug-in that solves many common challenges that people face when implementing Google Analytics. One major change is that the autotrack library is broken out into 9 different discrete plug-ins that can be included in your solution independently of one another through the “Require” command. While there is thorough documentation from Google, I couldn’t find a nice concise description of each plug-in so I’ve provided that here.

Read More

Read More Posts

Home   Blog   Portfolio   Contact  

Bringing clarity to marketers in a noisy world © 2020