Meta is about to overtake Google as the world’s biggest advertising company
Back to Tutorials
businessTutorialintermediate

Meta is about to overtake Google as the world’s biggest advertising company

May 28, 202612 views5 min read

Learn how to analyze and visualize digital advertising revenue data to understand the competitive dynamics between Meta and Google, similar to what market research firms like Emarketer use.

Introduction

In the rapidly evolving digital advertising landscape, understanding how ad revenue is calculated and tracked is crucial for marketers, data analysts, and business strategists. This tutorial will teach you how to analyze and compare digital advertising revenue data using Python, a powerful tool for data processing and visualization. We'll focus on working with financial data similar to what Emarketer uses to project Meta's and Google's ad revenues, helping you gain insights into the competitive dynamics of the digital advertising market.

Prerequisites

  • Basic understanding of Python programming
  • Python 3.x installed on your system
  • Familiarity with data analysis libraries (pandas, matplotlib)
  • Access to a Python development environment (Jupyter Notebook, VS Code, or similar)

Step-by-Step Instructions

1. Install Required Libraries

First, we need to install the necessary Python libraries for data manipulation and visualization. Open your terminal or command prompt and run:

pip install pandas matplotlib seaborn

Why: These libraries provide the essential tools for handling tabular data (pandas), creating visualizations (matplotlib), and enhanced plotting capabilities (seaborn).

2. Import Libraries and Create Sample Data

Let's create a Python script to work with our advertising revenue data. Start by importing the necessary libraries:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# Set up the plotting style
plt.style.use('seaborn-v0_8')
sns.set_palette('husl')

Why: We import these libraries to handle our data processing and create professional-looking visualizations. The plotting style and palette settings ensure our charts look clean and consistent.

3. Create Advertising Revenue Dataset

Now, let's build a dataset similar to what Emarketer might use for their projections:

# Create sample advertising revenue data
ad_data = {
    'Year': [2020, 2021, 2022, 2023, 2024, 2025, 2026],
    'Meta': [100.5, 135.2, 178.9, 205.3, 220.7, 230.1, 243.5],
    'Google': [120.8, 145.3, 185.6, 210.2, 225.8, 235.2, 239.5]
}

# Convert to DataFrame
df = pd.DataFrame(ad_data)
print(df)

Why: This creates a realistic dataset that mimics the revenue trends we see in the news article. The data shows Meta's growth trajectory approaching and potentially surpassing Google's revenue projections.

4. Analyze Revenue Trends

Let's examine the growth patterns in our data:

# Calculate growth rates
for company in ['Meta', 'Google']:
    df[f'{company}_growth'] = df[company].pct_change() * 100
    print(f'{company} Growth Rates:')
    print(df[["Year", f'{company}_growth']].round(2))
    print()

Why: Understanding growth rates helps identify which company is accelerating faster in the digital advertising space, providing insights into market dynamics.

5. Create Revenue Comparison Visualization

Visualizing the data makes it easier to understand the competitive landscape:

# Create the comparison plot
plt.figure(figsize=(12, 8))

# Plot both companies' revenue
plt.plot(df['Year'], df['Meta'], marker='o', linewidth=2, label='Meta')
plt.plot(df['Year'], df['Google'], marker='s', linewidth=2, label='Google')

# Add labels and title
plt.xlabel('Year')
plt.ylabel('Revenue (Billions USD)')
plt.title('Digital Advertising Revenue: Meta vs Google')
plt.legend()
plt.grid(True, alpha=0.3)

# Highlight the point where Meta surpasses Google
intersection_year = df[df['Meta'] > df['Google']]['Year'].iloc[0]
plt.axvline(x=intersection_year, color='red', linestyle='--', alpha=0.7)
plt.text(intersection_year + 0.2, 220, f'Meta overtakes Google', rotation=90, color='red')

plt.tight_layout()
plt.show()

Why: This visualization clearly shows the projected point where Meta's revenue surpasses Google's, making the news story tangible and visually compelling.

6. Calculate Key Metrics

Let's compute some additional metrics to understand the revenue dynamics:

# Calculate total revenue for each company by 2026
meta_total = df.loc[df['Year'] == 2026, 'Meta'].iloc[0]
google_total = df.loc[df['Year'] == 2026, 'Google'].iloc[0]

print(f'Projected 2026 Revenue:')
print(f'Meta: ${meta_total} billion')
print(f'Google: ${google_total} billion')
print(f'Meta surpasses Google by: ${meta_total - google_total} billion')

# Calculate compound annual growth rate (CAGR)
meta_cagr = (df.loc[df['Year'] == 2026, 'Meta'].iloc[0] / df.loc[df['Year'] == 2020, 'Meta'].iloc[0])**(1/6) - 1
google_cagr = (df.loc[df['Year'] == 2026, 'Google'].iloc[0] / df.loc[df['Year'] == 2020, 'Google'].iloc[0])**(1/6) - 1

print(f'\nCAGR (2020-2026):')
print(f'Meta: {meta_cagr:.2%}')
print(f'Google: {google_cagr:.2%}')

Why: These calculations provide deeper insights into the growth trajectories and help quantify the competitive advantage each company holds.

7. Create Advanced Visualization with Seaborn

Let's enhance our visualization with a more sophisticated chart:

# Create a more advanced comparison chart using seaborn
plt.figure(figsize=(12, 8))

# Melt the DataFrame for seaborn
melted_df = df.melt(id_vars=['Year'], value_vars=['Meta', 'Google'], 
                   var_name='Company', value_name='Revenue')

# Create the plot
sns.lineplot(data=melted_df, x='Year', y='Revenue', hue='Company', marker='o', linewidth=2.5)

plt.title('Digital Advertising Revenue Growth: Meta vs Google')
plt.xlabel('Year')
plt.ylabel('Revenue (Billions USD)')
plt.grid(True, alpha=0.3)

plt.tight_layout()
plt.show()

Why: Seaborn provides more elegant styling and easier handling of grouped data, making our analysis more professional and visually appealing.

8. Export Analysis Results

Finally, let's save our analysis for future reference:

# Export the analysis to CSV
export_df = df.copy()
export_df['Difference'] = export_df['Meta'] - export_df['Google']
export_df.to_csv('ad_revenue_analysis.csv', index=False)

print('Analysis exported to ad_revenue_analysis.csv')

# Print summary statistics
print('\nSummary Statistics:')
print(export_df.describe())

Why: Exporting results allows for further analysis, sharing with stakeholders, and maintaining records of your data processing work.

Summary

In this tutorial, we've created a comprehensive analysis of digital advertising revenue data, similar to what market research firms like Emarketer might produce. We've learned how to:

  • Process and manipulate financial data using pandas
  • Visualize revenue trends and competitive dynamics
  • Calculate growth rates and key performance metrics
  • Export analysis results for further use

This approach provides marketers and analysts with the tools to understand and track the competitive landscape of digital advertising, particularly the shift in market leadership from Google to Meta. The skills learned here can be applied to various financial and business intelligence scenarios, making you better equipped to analyze real-world market data.

Source: TNW Neural

Related Articles