Brand Health

Monitoring the health and strength of a brand amongst an audience is key to any brand strategy.

Typically when building a brand health solution you'll want to look at:

  • how much share of voice and audience a brand achieves compared to competitor brands.
  • how share of voice varies over time.
  • how the brand performs within each demographic group.
  • how the brand performs in different geographies.
  • how audiences engage with a brand.
  • what features, products or services drive engagement for a brand.

In this article we'll outline how you can build a brand health solution using PYLON.

Monitoring brand health using PYLON

pylon-platform-superpublic-800

As a quick reminder, you work with PYLON by:

  • Filtering the stream of data from Facebook to stories and engagements (such as likes and comments) you'd like to analyze. Filtered data is recorded into an index.
  • Classifying the data using your own custom rules to add extra metadata for your use case.
  • Analyzing the data you have recorded to the index.

Specifically when you build a brand health solution with PYLON you will:

  • define an interaction filter that selects interactions which mention the brand or one of its competitors.
  • identify and normalize mentions of each brand within interactions using classification rules.
  • analyze your recorded interactions, taking advantage of the brand classifications you have added to the interactions.

Solution overview

You may have seen a demonstration of PYLON that focuses on the automotive industry. This makes a good illustrative example of a brand health solution.

Filtering interactions

Firstly you need to define an interaction filter that will capture interactions which mention the brand you want to monitor and any competitor brands you will want to compare against.

Carrying on the automotive example, if you wanted to record mentions of automotive brands you could use the following CSDL:

( 
    fb.topics.category in "Cars, Automotive" 
    OR fb.parent.topics.category in "Cars, Automotive" 
) 
AND 
( 
    fb.parent.content contains_any "Ford, BMW, Honda" 
    OR fb.content contains_any "Ford, BMW, Honda" 
)

This example filter uses topics to filter to only interactions that relate to cars and uses keywords to filter to only interactions that mention any of three brands.

When you come to writing a filter for your real-world use case you will need to spend time iterating and testing your filter so it captures the right data to your index.

tip icon


Learn how to make use of super public samples to improve your filter by reading our guide.

Classifying brand mentions

Before you start recording data from your filter you will want to add classification rules. Classification rules surface and normalize features of interactions for use in your analysis.

In this case you will want to classify brands that are mentioned by each interaction recorded to your index. Continuing the example you could add the following rules to your interaction filter to classify mentions of the three brands:

tag.automotive.brand "Ford" { fb.parent.content contains_any "Ford" or fb.content contains_any "Ford" } 
tag.automotive.brand "BMW" { fb.parent.content contains_any "BMW" or fb.content contains_any "BMW" } 
tag.automotive.brand "Honda" { fb.parent.content contains_any "Honda" or fb.content contains_any "Honda" }

Classifying features, products and services

Depending on your use case you may also want to compare features, products or services across brands.

For instance comparing car brands you may want to compare how brands perform across categories of features. You could add tags as follows to identify features mentioned in the interactions and later perform analysis of the mentions across the brands:

tag.automotive.feature "Style"​{ fb.all.content any "paint,matte,white,black,red,blue,silver,bumpers" } 
tag.automotive.feature "Practicality"​{ fb.all.content any "door,doors,seat,seats,boot,capacity,towing" } 
tag.automotive.feature "Purchase Price"​{ fb.all.content any "cost,price,payments,on the road,quote,deal" } 
tag.automotive.feature "Environment"​{ fb.all.content any "co2,emission,emissions,gasses,hydrogen" } 
tag.automotive.feature "Reliability"​{ fb.all.content any "recall,fault,broke down,broken" }

Once you've finished defining your filter and tags you can start your recording. Any interactions which mention the brands will be stored into your index labelled with the brands and features you chose to identify in your tag rules.

Again, when you come to defining tags for your real-world use case you will need to spend time iterating and testing these rules.

Analyzing your recorded audience

When you have started to record classified interactions to an index you can analyze your recorded audience. Let's look at some typical analysis you may want to include.

Share of voice

Firstly, what is the share of voice achieved by each brand?

You can use your brand tags in your analysis. A simple frequency distribution analysis using the interaction.tag_tree target gives you the share of voice for the brands:

share-of-voice

You can also see how the share of voice varies over time. To do so you can submit a time series analysis query, one for each brand, by using query filters and your brand tags you added to your interaction filter.

share-of-voice-time

tip icon

Learn more by reading the analyzing share of voice & audience design pattern.

Viewing verbatim text

The above chart shows a peak of activity for Ford on the 28th November. You may want to take a look at the content of posts during this peak to understand what is being said by your audience.

PYLON's privacy model prevents you from seeing the text of non-public posts, however you can take a look at super public samples during this period to get an understanding of the conversations taking place.

The pylon/sample endpoint gives you access to super public posts. An example post from this day read:

Ford Transit Skyliner Reveal at Galpin Auto Sports https://t.co/b7iYydCbfJ

Studying further posts suggests the peak was related to the launch of a new concept van.

Brand health by demographic group

You can analyze the performance of brands amongst demographic groups such as age groups and gender.

For instance, you can submit a nested analysis query which analyzes the age-gender breakdown for each brand, so analyzing share of voice in each demographic segment.

To do so you would use the demographic targets fb.author.gender and fb.author.age, and the interaction.tag_tree target to access your brand tags.

brand-ag_0

The chart above show the composition of the audience, but to see how the audience compares to the wider Facebook audience you can use a technique called baselining. Redrawing the chart with a 'baseline' (shown in grey) shows how the audience compares to the general population of Facebook.

brand-ag-baselined

tip icon

Learn more about comparing audiences by reading our baselining analysis results design pattern.

Sentiment towards brands

Facebook topic data includes the sentiment of text posted in a story. You can use this metadata to analyze the sentiment expressed by your audience.

In this instance for example you could look at sentiment expressed to towards brands. You can use the fb.sentiment target to inspect sentiment expressed in stories, and the fb.parent.sentiment target to inspect sentiment expressed in stories being engaged with.

brand-sentiment

The sentiment provided with the data is a generic sentiment score. You can use classification rules to introduce your own sentiment and intent concepts to the data.

Brand health by location

You can analyze the performance of brands across countries and regions within countries.

For instance, you can submit a nested analysis query which analyzes each brand broken down by region (in this case US state), so analyzing the share of voice in each region.

In this case you would use the demographic target fb.author.region, and the interaction.tag_tree target to access your brand tags.

brand-map

Types of engagement

If you are looking to see how audiences engage with brands you could analyze the type of content they are posting.

You could use a nested query to break down the media type of stories posted for each brand. In this case you would use the fb.media_type target, and the interaction.tag_tree target to access your brand tags.

brand-media-types

Feature prominence for brands

Finally, you could look to analyze brand performance by feature tags you have added to your recording.

For instance using the feature tags in the example above, you could analyze which features are most discussed for each brand. You could use a nested query using the interaction.tag_tree target to access your brands, and the same target to access your feature tags.

brand-features

These are just some of the analysis results you may want to produce. Take a look at our analysis design patterns for detailed examples.

Related design patterns

Take a look at these related design patterns to learn more.

Improving filters using super public data Remove noise and broaden the audience captured by your interaction filters
Analyzing share of voice & audience Compare engagement with brands within an audience
Baselining analysis results Learn how to baseline you results against a comparison audience