You are on page 1of 92

22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Project: Global YouTube Statistics Analysis 2023


Link dữ liệu: https://www.kaggle.com/datasets/nelgiriyewithana/global-youtube-
statistics-2023

Description

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 1/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Chào mừng các bạn đến với YouTube, mạng xã hội chuyên chia sẻ video đang được người dùng mọi lứa tuổi, đặc biệt là giới
trẻ, truy cập và sử dụng hàng ngày. Nhiều người còn coi đây là một kênh kiếm tiền, cho thu nhập cao. Theo thống kê từ
Similarweb, Youtube.com có lượt xem đứng thứ 3 Việt Nam, chỉ sau Google và Facebook. Còn trên thế giới, nó đứng ở vị trí thứ
2, chỉ sau "cỗ máy tìm kiếm" Google.
Một tập hợp những người thành công nhất trên YouTube, bộ dữ liệu này sẽ mang đến những cái nhìn sâu sắc và có giá trị
thông qua việc thực hiện các phân tích chuyên sâu. Với những thông tin chi tiết về số lượng người đăng kí, lượt xem video, tần
suất đăng tải, quốc gia xuất xứ, thu nhập,... của những người sáng tạo hàng đầu, đây sẽ là một nguồn cung cấp những quan
sát hữu ích cho những ai có niềm đam mê về dữ liệu nói chung và những người đang bị thu hút bởi bối cảnh phát triển của các
nội dung trực tuyến đang phát triển nói riêng.

Business Objective/Problem
Thông qua tập dữ liệu gồm có 995 kênh YouTube hàng đầu thế giới, hãy phân tích những yếu tố tạo nên
sự thành công của một kênh YouTube và xu hướng danh mục của người dùng. Từ đó đưa ra những đề
xuất hiệu quả cho những người muốn xây dựng một kênh YouTube cá nhân trong tương lai.
1. Top 10 Youtuber có lượng subscribers và Top 10 YouTuber có lượt views cao nhất là ai?
2. Một kênh YouTube có lượng người dùng đăng kí càng cao thì có đồng nghĩa với lượt xem của kênh càng cao không?
3. Một kênh YouTube càng đăng nhiều video sẽ dẫn đến lượng subscribers và lượt views tăng cao phải không?
4. Những loại kênh youtube nào có số lượng video đăng tải nhiều nhất?
5. Số lượng kênh youtube ở mỗi danh mục?
6. Xu hướng người dùng youtube thông qua lượng subscribers và lượt views ở mỗi danh mục?
7. Tương tác của người dùng ở các danh mục này như thế nào (được đo bằng lượt xem trên mỗi người đăng kí)?
8. Những nội dung (kí tự) trong tên của các kênh YouTube có ảnh hưởng đến lượt xem của người dùng không?
9. Những YouTuber hàng đầu đến từ những quốc gia nào?
9.1. Tỷ lệ thất nghiệp ở mỗi quốc gia?
9.2. Tỷ lệ tham gia đại học ở mỗi quốc gia?
9.3 Tỷ lệ dân sống ở thành thị của mỗi quốc gia?
10. Những kênh YouTube thành công nhất được thành lập vào năm nào?
11. Xu hướng sáng tạo nội dung theo thời gian của các kênh?
12. Khả năng sinh lời trung bình theo tháng ở từng danh mục như thế nào?
13. Có phải lượt xem càng cao sẽ tạo ra nguồn thu nhập trên kênh càng cao không?

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 2/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Key Features
rank : Position of the YouTube channel based on the number of subscribers
Youtuber : Name of the YouTube channel
subscribers : Number of subscribers to the channel
video views : Total views across all videos on the channel
category : Category or niche of the channel
Title : Title of the YouTube channel
uploads : Total number of videos uploaded on the channel
Country : Country where the YouTube channel originates
Abbreviation : Abbreviation of the country
channel_type : Type of the YouTube channel (e.g., individual, brand)
video_views_rank : Ranking of the channel based on total video views
country_rank : Ranking of the channel based on the number of subscribers within its country
channel_type_rank : Ranking of the channel based on its type (individual or brand)
video_views_for_the_last_30_days : Total video views in the last 30 days
lowest_monthly_earnings : Lowest estimated monthly earnings from the channel
highest_monthly_earnings : Highest estimated monthly earnings from the channel
lowest_yearly_earnings : Lowest estimated yearly earnings from the channel
highest_yearly_earnings : Highest estimated yearly earnings from the channel
subscribers_for_last_30_days : Number of new subscribers gained in the last 30 days
created_year : Year when the YouTube channel was created
created_month : Month when the YouTube channel was created
created_date : Exact date of the YouTube channel's creation
Gross tertiary education enrollment (%) : Percentage of the population enrolled in tertiary education in the country
Population : Total population of the country
Unemployment rate : Unemployment rate in the country
Urban_population : Percentage of the population living in urban areas
Latitude : Latitude coordinate of the country's location
Longitude : Longitude coordinate of the country's location

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 3/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

1. Import libraries
In [92]: import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
from dataprep.datasets import load_dataset
from dataprep.eda import create_report, plot
import scipy
import warnings
warnings.filterwarnings('ignore')
from dataprep.clean import clean_headers
from scipy import stats
import re
from wordcloud import WordCloud, STOPWORDS
np.set_printoptions(suppress=True)

2. Read information basic dataset


In [93]: data = pd.read_csv('Global YouTube Statistics.csv', encoding='latin-1') #'ISO-8859-1'

In [94]: data.reset_index(drop= True, inplace= True)

In [95]: data.head()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 4/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[95]:

rank Youtuber subscribers video views category Title uploads Country Abbreviation channel_type ... subscribe

0 1 T-Series 245000000 2.280000e+11 Music T-Series 20082 India IN Music ...

YouTube Film & United


1 2 170000000 0.000000e+00 youtubemovies 1 US Games ...
Movies Animation States

United
2 3 MrBeast 166000000 2.836884e+10 Entertainment MrBeast 741 US Entertainment ...
States

Cocomelon Cocomelon -
United
3 4 - Nursery 162000000 1.640000e+11 Education Nursery 966 US Education ...
States
Rhymes Rhymes

4 5 SET India 159000000 1.480000e+11 Shows SET India 116536 India IN Entertainment ...

5 rows × 28 columns

 

In [96]: data.tail()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 5/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[96]:

rank Youtuber subscribers video views category Title uploads Country Abbreviation channel_type ... subscribe

990 991 Natan por Aï¿ 12300000 9.029610e+09 Sports Natan por Aï¿ 1200 Brazil BR Entertainment ...

Free Fire India People & Free Fire India


991 992 12300000 1.674410e+09 1500 India IN Games ...
Official Blogs Official

United
992 993 Panda 12300000 2.214684e+09 NaN HybridPanda 2452 GB Games ...
Kingdom

993 994 RobTopGames 12300000 3.741235e+08 Gaming RobTopGames 39 Sweden SE Games ...

994 995 Make Joke Of 12300000 2.129774e+09 Comedy Make Joke Of 62 India IN Comedy ...

5 rows × 28 columns

 

In [97]: data.info()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 6/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 995 entries, 0 to 994
Data columns (total 28 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 rank 995 non-null int64
1 Youtuber 995 non-null object
2 subscribers 995 non-null int64
3 video views 995 non-null float64
4 category 949 non-null object
5 Title 995 non-null object
6 uploads 995 non-null int64
7 Country 873 non-null object
8 Abbreviation 873 non-null object
9 channel_type 965 non-null object
10 video_views_rank 994 non-null float64
11 country_rank 879 non-null float64
12 channel_type_rank 962 non-null float64
13 video_views_for_the_last_30_days 939 non-null float64
14 lowest_monthly_earnings 995 non-null float64
15 highest_monthly_earnings 995 non-null float64
16 lowest_yearly_earnings 995 non-null float64
17 highest_yearly_earnings 995 non-null float64
18 subscribers_for_last_30_days 658 non-null float64
19 created_year 990 non-null float64
20 created_month 990 non-null object
21 created_date 990 non-null float64
22 Gross tertiary education enrollment (%) 872 non-null float64
23 Population 872 non-null float64
24 Unemployment rate 872 non-null float64
25 Urban_population 872 non-null float64
26 Latitude 872 non-null float64
27 Longitude 872 non-null float64
dtypes: float64(18), int64(3), object(7)
memory usage: 217.8+ KB

In [98]: data.shape

Out[98]: (995, 28)

In [99]: data.columns

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 7/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[99]: Index(['rank', 'Youtuber', 'subscribers', 'video views', 'category', 'Title',


'uploads', 'Country', 'Abbreviation', 'channel_type',
'video_views_rank', 'country_rank', 'channel_type_rank',
'video_views_for_the_last_30_days', 'lowest_monthly_earnings',
'highest_monthly_earnings', 'lowest_yearly_earnings',
'highest_yearly_earnings', 'subscribers_for_last_30_days',
'created_year', 'created_month', 'created_date',
'Gross tertiary education enrollment (%)', 'Population',
'Unemployment rate', 'Urban_population', 'Latitude', 'Longitude'],
dtype='object')

In [100… #clean columns in the dataset


data.columns = data.columns.str.replace('_',' ')
data.columns = data.columns.str.title()
data.columns

Out[100]: Index(['Rank', 'Youtuber', 'Subscribers', 'Video Views', 'Category', 'Title',


'Uploads', 'Country', 'Abbreviation', 'Channel Type',
'Video Views Rank', 'Country Rank', 'Channel Type Rank',
'Video Views For The Last 30 Days', 'Lowest Monthly Earnings',
'Highest Monthly Earnings', 'Lowest Yearly Earnings',
'Highest Yearly Earnings', 'Subscribers For Last 30 Days',
'Created Year', 'Created Month', 'Created Date',
'Gross Tertiary Education Enrollment (%)', 'Population',
'Unemployment Rate', 'Urban Population', 'Latitude', 'Longitude'],
dtype='object')

3. Select variables to analyst


In [101… youtube = data[['Youtuber', 'Subscribers', 'Video Views', 'Uploads', 'Category', 'Country', 'Abbreviation', 'Lowest M

In [102… youtube.head(10)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 8/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[102]: Gross
Lowest Highest Tertiary
Unemploymen
Youtuber Subscribers Video Views Uploads Category Country Abbreviation Monthly Monthly Education
Rat
Earnings Earnings Enrollment
(%)

0 T-Series 245000000 2.280000e+11 20082 Music India IN 564600.0 9000000.00 28.1 5.3

YouTube Film & United


1 170000000 0.000000e+00 1 US 0.0 0.05 88.2 14.7
Movies Animation States

United
2 MrBeast 166000000 2.836884e+10 741 Entertainment US 337000.0 5400000.00 88.2 14.7
States

Cocomelon
United
3 - Nursery 162000000 1.640000e+11 966 Education US 493800.0 7900000.00 88.2 14.7
States
Rhymes

4 SET India 159000000 1.480000e+11 116536 Shows India IN 455900.0 7300000.00 28.1 5.3

5 Music 119000000 0.000000e+00 0 NaN NaN NaN 0.0 0.00 NaN NaN

ýýý Kids
People & United
6 Diana 112000000 9.324704e+10 1111 US 182900.0 2900000.00 88.2 14.7
Blogs States
Show

7 PewDiePie 111000000 2.905804e+10 4716 Gaming Japan JP 9800.0 156700.00 63.2 2.2

People &
8 Like Nastya 106000000 9.047906e+10 493 Russia RU 12200.0 195800.00 81.9 4.5
Blogs

Vlad and United


9 98900000 7.718017e+10 574 Entertainment US 145100.0 2300000.00 88.2 14.7
Niki States

 

Có các ký tự đặc biệt ở dữ liệu cột Youtuber và Title cần phải xử lý

4. Data pre-processing
In [103… #remove special characters
pattern = r'[^a-zA-Z0-9\s.,!?&\'-]'

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 9/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

#Youtuber feature
youtube['Youtuber'] = youtube['Youtuber'].apply(lambda x: re.sub(pattern, '', x))
youtube['Youtuber'] = youtube['Youtuber'].str.strip()
youtube['Youtuber'] = youtube['Youtuber'].str.lstrip('- ')

In [104… #check special characters in Youtuber feature


filter_youtuber_rows = youtube['Youtuber'].str.contains(pattern, regex = True)
filter_youtuber_rows_results = filter_youtuber_rows[filter_youtuber_rows == True]
print("Youtuber's special characters:",filter_youtuber_rows_results)

Youtuber's special characters: Series([], Name: Youtuber, dtype: bool)

In [105… youtube.head()

Out[105]: Gross
Lowest Highest Tertiary
Unemploymen
Youtuber Subscribers Video Views Uploads Category Country Abbreviation Monthly Monthly Education
Rat
Earnings Earnings Enrollment
(%)

0 T-Series 245000000 2.280000e+11 20082 Music India IN 564600.0 9000000.00 28.1 5.3

YouTube Film & United


1 170000000 0.000000e+00 1 US 0.0 0.05 88.2 14.7
Movies Animation States

United
2 MrBeast 166000000 2.836884e+10 741 Entertainment US 337000.0 5400000.00 88.2 14.7
States

Cocomelon
United
3 - Nursery 162000000 1.640000e+11 966 Education US 493800.0 7900000.00 88.2 14.7
States
Rhymes

4 SET India 159000000 1.480000e+11 116536 Shows India IN 455900.0 7300000.00 28.1 5.3

 

In [106… youtube.info()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 10/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 995 entries, 0 to 994
Data columns (total 14 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Youtuber 995 non-null object
1 Subscribers 995 non-null int64
2 Video Views 995 non-null float64
3 Uploads 995 non-null int64
4 Category 949 non-null object
5 Country 873 non-null object
6 Abbreviation 873 non-null object
7 Lowest Monthly Earnings 995 non-null float64
8 Highest Monthly Earnings 995 non-null float64
9 Gross Tertiary Education Enrollment (%) 872 non-null float64
10 Unemployment Rate 872 non-null float64
11 Population 872 non-null float64
12 Urban Population 872 non-null float64
13 Created Year 990 non-null float64
dtypes: float64(8), int64(2), object(4)
memory usage: 109.0+ KB

In [107… youtube.columns

Out[107]: Index(['Youtuber', 'Subscribers', 'Video Views', 'Uploads', 'Category',


'Country', 'Abbreviation', 'Lowest Monthly Earnings',
'Highest Monthly Earnings', 'Gross Tertiary Education Enrollment (%)',
'Unemployment Rate', 'Population', 'Urban Population', 'Created Year'],
dtype='object')

In [108… #Remove data null in column 'Created Year'


youtube = youtube.dropna(subset= ['Created Year'])
youtube['Created Year'] = youtube['Created Year'].astype('object')
# youtube.info()
# youtube['Created Year'] = pd.to_datetime(youtube['Created Year'], format= '%Y')
youtube.info()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 11/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

<class 'pandas.core.frame.DataFrame'>
Int64Index: 990 entries, 0 to 994
Data columns (total 14 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Youtuber 990 non-null object
1 Subscribers 990 non-null int64
2 Video Views 990 non-null float64
3 Uploads 990 non-null int64
4 Category 944 non-null object
5 Country 870 non-null object
6 Abbreviation 870 non-null object
7 Lowest Monthly Earnings 990 non-null float64
8 Highest Monthly Earnings 990 non-null float64
9 Gross Tertiary Education Enrollment (%) 869 non-null float64
10 Unemployment Rate 869 non-null float64
11 Population 869 non-null float64
12 Urban Population 869 non-null float64
13 Created Year 990 non-null object
dtypes: float64(7), int64(2), object(5)
memory usage: 116.0+ KB

In [109… #Check Created Year data


youtube['Created Year'].unique()

Out[109]: array([2006.0, 2012.0, 2013.0, 2015.0, 2010.0, 2016.0, 2018.0, 2014.0,


2007.0, 2020.0, 2008.0, 2005.0, 2011.0, 2009.0, 2017.0, 2021.0,
1970.0, 2019.0, 2022.0], dtype=object)

In [110… #Check Created Year is 1970


youtube[youtube['Created Year'] == 1970]

Out[110]: Gross
Lowest Highest Tertiary
Unemployment
Youtuber Subscribers Video Views Uploads Category Country Abbreviation Monthly Monthly Education P
Rate
Earnings Earnings Enrollment
(%)

News & United


101 YouTube 36300000 3.010785e+09 744 US 5300.0 84400.0 88.2 14.7 32
Politics States

 

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 12/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Youtube ra đời vào ngày 14/02/2005. Chúng ta có thể nhận thấy một sự nhầm lẫn trong thời gian thanh lập của kênh Youtube
này.
Đây có thể là kênh đại diện cho nền tảng Youtube, ta sẽ tạm thay thế dữ liệu thời gian thành lập kênh này thành ngày Youtube
ra đời

In [111… youtube[youtube['Youtuber'] == 'YouTube'] = youtube[youtube['Youtuber'] == 'YouTube'].replace(1970, 2005)


youtube[youtube['Youtuber'] == 'YouTube']

Out[111]: Gross
Lowest Highest Tertiary
Unemployment
Youtuber Subscribers Video Views Uploads Category Country Abbreviation Monthly Monthly Education P
Rate
Earnings Earnings Enrollment
(%)

News & United


101 YouTube 36300000 3.010785e+09 744 US 5300.0 84400.0 88.2 14.7 32
Politics States

 

In [112… youtube['Created Year'].unique()

Out[112]: array([2006.0, 2012.0, 2013.0, 2015.0, 2010.0, 2016.0, 2018.0, 2014.0,


2007.0, 2020.0, 2008.0, 2005.0, 2011.0, 2009.0, 2017.0, 2021.0,
2019.0, 2022.0], dtype=object)

In [113… #After remomved characters, we will some blanks data in column 'Youtuber'. Let's check it
blanks_data_youtuber = youtube[youtube['Youtuber'] == '']
blanks_data_youtuber

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 13/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[113]: Gross
Lowest Highest Tertiary
Unemploymen
Youtuber Subscribers Video Views Uploads Category Country Abbreviation Monthly Monthly Education
Rate
Earnings Earnings Enrollment
(%)

Film &
64 43200000 3.645873e+10 1478 Russia RU 75900.0 1200000.0 81.9 4.59
Animation

United
161 30400000 1.799996e+10 532 NaN US 30700.0 491700.0 88.2 14.70
States

United
433 19000000 4.924054e+09 60 Education US 5400.0 86300.0 88.2 14.70
States

447 18800000 9.594189e+09 530 Entertainment Ukraine UA 17000.0 272000.0 82.7 8.88

United
561 16500000 2.440934e+09 421 Entertainment US 5500.0 87800.0 88.2 14.70
States

People &
606 15900000 1.845330e+09 0 Russia RU 0.0 0.0 81.9 4.59
Blogs

Saudi
632 15500000 8.265130e+09 1021 Shows SA 33800.0 540100.0 68.0 5.93
Arabia

People &
700 14900000 4.390980e+05 1 Russia RU 2.0 31.0 81.9 4.59
Blogs

Howto &
707 14800000 7.018015e+09 2387 Ukraine UA 11800.0 188500.0 82.7 8.88
Style

Saudi
714 14700000 2.230986e+09 1385 Entertainment SA 673.0 10800.0 68.0 5.93
Arabia

South
752 14400000 6.001543e+08 364 Entertainment KR 342.0 5500.0 94.3 4.15
Korea

784 14100000 3.920221e+09 65 Entertainment NaN NaN 5.0 81.0 NaN NaN

795 14000000 7.719743e+09 2210 Gaming Russia RU 37600.0 602300.0 81.9 4.59

United
810 13900000 8.451755e+09 504 NaN US 28600.0 457000.0 88.2 14.70
States

People &
866 13300000 6.482687e+09 608 Russia RU 22600.0 361000.0 81.9 4.59
Blogs

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 14/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Gross
Lowest Highest Tertiary
Unemploymen
Youtuber Subscribers Video Views Uploads Category Country Abbreviation Monthly Monthly Education
Rate
Earnings Earnings Enrollment
(%)

920 12900000 5.585085e+09 1255 Shows Ukraine UA 17800.0 284500.0 82.7 8.88

In [114… # Remove rows from with blank Youtuber as these are channels with only special characters
youtube = youtube.drop(blanks_data_youtuber.index)
youtube.reset_index(drop= True, inplace= True)
youtube[youtube['Youtuber'] == '']

Out[114]: Gross
Lowest Highest Tertiary
Video Unemployment
Youtuber Subscribers Uploads Category Country Abbreviation Monthly Monthly Education Population
Views Rate P
Earnings Earnings Enrollment
(%)

 

In [115… #Check duplicate data


youtube.duplicated().sum()

Out[115]: 0

In [116… #Check zero data video views


zero_views = youtube[youtube['Video Views'] == 0]
zero_views

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 15/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[116]: Gross
Lowest Highest Tertiary
Video Unemployment
Youtuber Subscribers Uploads Category Country Abbreviation Monthly Monthly Education Populati
Views Rate
Earnings Earnings Enrollment
(%)

YouTube Film & United


1 170000000 0.0 1 US 0.0 0.05 88.2 14.7 32823952
Movies Animation States

5 Music 119000000 0.0 0 NaN NaN NaN 0.0 0.00 NaN NaN N

12 Gaming 93600000 0.0 0 NaN NaN NaN 0.0 0.00 NaN NaN N

United
18 Sports 75000000 0.0 3 NaN US 0.0 0.06 88.2 14.7 32823952
States

101 News 36300000 0.0 0 NaN NaN NaN 0.0 0.00 NaN NaN N

Popular
171 on 29300000 0.0 3 NaN NaN NaN 0.0 0.00 NaN NaN N
YouTube

Minecraft
357 20900000 0.0 0 NaN NaN NaN 0.0 0.00 NaN NaN N
- Topic

584 Live 16100000 0.0 0 NaN NaN NaN 0.0 0.00 NaN NaN N

 

There are a number of YouTube channels which have 0 video views, these appear to be YouTube topics & not valid channels,
for the purpose of this analysis these rows will be removed

In [117… #Remove zero data video views


youtube = youtube.drop(zero_views.index)
youtube.reset_index(drop= True, inplace= True)
youtube[youtube['Video Views'] == 0]

Out[117]: Gross
Lowest Highest Tertiary
Video Unemployment
Youtuber Subscribers Uploads Category Country Abbreviation Monthly Monthly Education Population
Views Rate P
Earnings Earnings Enrollment
(%)

 

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 16/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

In [118… youtube.shape

Out[118]: (966, 14)

In [119… #Check null/nan data


youtube.isnull().sum()

Out[119]: Youtuber 0
Subscribers 0
Video Views 0
Uploads 0
Category 37
Country 113
Abbreviation 113
Lowest Monthly Earnings 0
Highest Monthly Earnings 0
Gross Tertiary Education Enrollment (%) 114
Unemployment Rate 114
Population 114
Urban Population 114
Created Year 0
dtype: int64

In [120… #There are lots of missing value in the category variables


#We will filter all missing to 'Other'

#Select category columns


categorical_variables = youtube.select_dtypes(include= 'O').columns

#Replace object datatype column missing values with 'Other'


youtube[categorical_variables] = youtube[categorical_variables].fillna('Other')

In [121… #check missing value


youtube.isna().sum()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 17/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[121]: Youtuber 0
Subscribers 0
Video Views 0
Uploads 0
Category 0
Country 0
Abbreviation 0
Lowest Monthly Earnings 0
Highest Monthly Earnings 0
Gross Tertiary Education Enrollment (%) 114
Unemployment Rate 114
Population 114
Urban Population 114
Created Year 0
dtype: int64

In [122… youtube.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 966 entries, 0 to 965
Data columns (total 14 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Youtuber 966 non-null object
1 Subscribers 966 non-null int64
2 Video Views 966 non-null float64
3 Uploads 966 non-null int64
4 Category 966 non-null object
5 Country 966 non-null object
6 Abbreviation 966 non-null object
7 Lowest Monthly Earnings 966 non-null float64
8 Highest Monthly Earnings 966 non-null float64
9 Gross Tertiary Education Enrollment (%) 852 non-null float64
10 Unemployment Rate 852 non-null float64
11 Population 852 non-null float64
12 Urban Population 852 non-null float64
13 Created Year 966 non-null float64
dtypes: float64(8), int64(2), object(4)
memory usage: 105.8+ KB

In [123… #Youtube is not null


youtube_not_null = youtube.dropna(subset= ['Gross Tertiary Education Enrollment (%)','Unemployment Rate', 'Population

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 18/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

#Mean Education Enrollment


mean_edu = round(youtube_not_null['Gross Tertiary Education Enrollment (%)'].mean(),1)
print('Mean Gross Tertiary Education Enrollment:', mean_edu)

#Mean Unemployment Rate


mean_unemp = round(youtube_not_null['Unemployment Rate'].mean(),1)
print('Mean Unemployment Rate:', mean_unemp)

#Mean Population
mean_popu = round(youtube_not_null['Population'].mean(),0)
print('Mean Population:', mean_popu)

#Mean Urban Population


mean_urban = round(youtube_not_null['Urban Population'].mean(),0)
print('Mean Urban Population:', mean_urban)

Mean Gross Tertiary Education Enrollment: 63.2


Mean Unemployment Rate: 9.3
Mean Population: 436369043.0
Mean Urban Population: 226156206.0

In [124… #There are lots of missing value in the numeric variables


#Replace object datatype column missing values with Mean Values
youtube['Gross Tertiary Education Enrollment (%)'] = youtube['Gross Tertiary Education Enrollment (%)'].fillna(mean_e
youtube['Unemployment Rate'] = youtube['Unemployment Rate'].fillna(mean_unemp)
youtube['Population'] = youtube['Population'].fillna(mean_popu)
youtube['Urban Population'] = youtube['Urban Population'].fillna(mean_urban)

In [125… youtube.info()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 19/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 966 entries, 0 to 965
Data columns (total 14 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Youtuber 966 non-null object
1 Subscribers 966 non-null int64
2 Video Views 966 non-null float64
3 Uploads 966 non-null int64
4 Category 966 non-null object
5 Country 966 non-null object
6 Abbreviation 966 non-null object
7 Lowest Monthly Earnings 966 non-null float64
8 Highest Monthly Earnings 966 non-null float64
9 Gross Tertiary Education Enrollment (%) 966 non-null float64
10 Unemployment Rate 966 non-null float64
11 Population 966 non-null float64
12 Urban Population 966 non-null float64
13 Created Year 966 non-null float64
dtypes: float64(8), int64(2), object(4)
memory usage: 105.8+ KB

In [126… # Convert several float data typescolumns to integars


youtube = youtube.astype({
'Video Views': 'int64',
'Created Year': 'int64',
'Population': 'int64',
'Urban Population': 'int64'
})

# Validate results of datatype change


youtube.info()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 20/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 966 entries, 0 to 965
Data columns (total 14 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Youtuber 966 non-null object
1 Subscribers 966 non-null int64
2 Video Views 966 non-null int64
3 Uploads 966 non-null int64
4 Category 966 non-null object
5 Country 966 non-null object
6 Abbreviation 966 non-null object
7 Lowest Monthly Earnings 966 non-null float64
8 Highest Monthly Earnings 966 non-null float64
9 Gross Tertiary Education Enrollment (%) 966 non-null float64
10 Unemployment Rate 966 non-null float64
11 Population 966 non-null int64
12 Urban Population 966 non-null int64
13 Created Year 966 non-null int64
dtypes: float64(4), int64(6), object(4)
memory usage: 105.8+ KB

In [127… #sorting the dataframe and resetting index (by 'Subscribers)


youtube = youtube.sort_values(by = 'Subscribers', ascending= False).reset_index(drop= True)
youtube

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 21/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[127]: Gross
Lowest Highest Tertiary
Unemploy
Youtuber Subscribers Video Views Uploads Category Country Abbreviation Monthly Monthly Education
Earnings Earnings Enrollment
(%)

0 T-Series 245000000 228000000000 20082 Music India IN 564600.0 9000000.0 28.1

United
1 MrBeast 166000000 28368841870 741 Entertainment US 337000.0 5400000.0 88.2
States

Cocomelon -
United
2 Nursery 162000000 164000000000 966 Education US 493800.0 7900000.0 88.2
States
Rhymes

3 SET India 159000000 148000000000 116536 Shows India IN 455900.0 7300000.0 28.1

Kids Diana People & United


4 112000000 93247040539 1111 US 182900.0 2900000.0 88.2
Show Blogs States

... ... ... ... ... ... ... ... ... ... ...

961 Natan por A 12300000 9029609749 1200 Sports Brazil BR 138100.0 2200000.0 51.3

Free Fire India People &


962 12300000 1674409945 1500 India IN 16200.0 258900.0 28.1
Official Blogs

United
963 Panda 12300000 2214684303 2452 Other GB 17.0 268.0 60.0
Kingdom

964 RobTopGames 12300000 374123483 39 Gaming Sweden SE 968.0 15500.0 67.0

965 Make Joke Of 12300000 2129773714 62 Comedy India IN 6000.0 96000.0 28.1

966 rows × 14 columns

 

In [128… youtube.to_csv('Global_Youtube_Statistics_2023_new.csv', index = False)

This dataset cleaned

5. Exploratory Data Analysis


localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 22/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Create color palettes

In [129… youtube_color_barchart_10 = ['#f00000','#ff2424','#ff3838','#ff554f','#fb7571','#cccccc','#b6b6b6','#9e9e9e','#888888

In [130… youtube_color_donutchart = ['#f00000', '#ff3838', '#fb7571','#cccccc','#b6b6b6','#9e9e9e','#777777']

In [131… youtube_color_barchart_freestyle1 = ['#f00000', '#f00000', '#777777', '#777777', '#777777', '#777777', '#777777', '#7

In [132… youtube_color_barchart_freestyle2 = ['#FE0000','#F4E0B9','#A8A196','#7D7463']

In [133… youtube_color_barchart_freestyle3 = ['#f00000', '#777777', '#777777', '#777777', '#777777', '#777777', '#777777', '#7

Correlation of Numeric Variables

In [134… #Statistics table correlation


correlation = youtube.corr()
correlation

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 23/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[134]: Gross
Lowest Highest Tertiary
Video Unemployment Urban Created
Subscribers Uploads Monthly Monthly Education Population
Views Rate Population Year
Earnings Earnings Enrollment
(%)

Subscribers 1.000000 0.823659 0.087606 0.427319 0.426945 -0.015456 -0.023950 0.083580 0.077677 -0.132192

Video Views 0.823659 1.000000 0.163997 0.549752 0.549121 -0.009473 0.000665 0.075701 0.072778 -0.137299

Uploads 0.087606 0.163997 1.000000 0.164597 0.164955 -0.214767 -0.189159 0.139848 0.069912 -0.163753

Lowest
Monthly 0.427319 0.549752 0.164597 1.000000 0.999955 -0.053732 -0.040113 0.096322 0.074386 0.075421
Earnings

Highest
Monthly 0.426945 0.549121 0.164955 0.999955 1.000000 -0.053519 -0.039891 0.096296 0.074401 0.075385
Earnings

Gross Tertiary
Education -0.015456 -0.009473 -0.214767 -0.053732 -0.053519 1.000000 0.682986 -0.571518 -0.296061 -0.153923
Enrollment (%)

Unemployment
-0.023950 0.000665 -0.189159 -0.040113 -0.039891 0.682986 1.000000 -0.225163 0.132932 -0.120141
Rate

Population 0.083580 0.075701 0.139848 0.096322 0.096296 -0.571518 -0.225163 1.000000 0.910204 0.118703

Urban
0.077677 0.072778 0.069912 0.074386 0.074401 -0.296061 0.132932 0.910204 1.000000 0.080779
Population

Created Year -0.132192 -0.137299 -0.163753 0.075421 0.075385 -0.153923 -0.120141 0.118703 0.080779 1.000000

 

In [135… #Visualization heatmap

plt.figure(figsize= (10,8))
plt.title('Correlation Matrix Heatmap', fontweight = 'heavy', fontsize = 16)
sb.heatmap(correlation, annot= True,
cmap= 'Reds',
vmin= -1, vmax= 1,
linecolor = 'white', linewidths = 0.5,
fmt = '.2f'

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 24/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

)
plt.show()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 25/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 26/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Nhận xét:

Thông qua biểu đồ heatmap thể hiện sự tương quan (correlation) giữa các biến số liên tục, có thể thấy được sự tương quan
khá cao giữa 2 biến Subscribers và Video Views .
Sự tương quan của 2 biến này đối với các biến còn lại chỉ đạt ở mức trung bình yếu, thậm chí không có sự tương quan đến
biến Uploads .
Hai biến Lowest Monthly Earnings và Highest Monthly Earnings có sự tương quan tuyệt đối với nhau (100%).

=> Đi vào cái nhìn chi tiết hơn về sự tương quan của các biến thông qua việc trực quan hóa bằng biểu đồ scatter plot.

1. Top 10 Youtuber có lượng subscribers và Top 10 YouTuber có lượt views cao nhất là ai?
In [136… #Statistics by Subscribers

#Select columns to show output


select_columns = ['Youtuber', 'Subscribers']

#Filter dataframe for top 10 most subscribers Youtuber channels


top_10_subs = youtube[select_columns].head(10)

#Convert 'Subscriber' in millions


top_10_subs['Subscribers (million)'] = (top_10_subs['Subscribers'] / 1000000).astype('int')
top_10_subs = top_10_subs[['Youtuber', 'Subscribers (million)']]

#Show dataframe
top_10_subs

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 27/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[136]: Youtuber Subscribers (million)

0 T-Series 245

1 MrBeast 166

2 Cocomelon - Nursery Rhymes 162

3 SET India 159

4 Kids Diana Show 112

5 PewDiePie 111

6 Like Nastya 106

7 Vlad and Niki 98

8 Zee Music Company 96

9 WWE 96

In [137… #Visualization
plt.figure(figsize= (10,6))
plt.title('Top 10 Youtuber Channels by Subscribers (2023)',fontweight = 'heavy', fontsize = 16)
sb.barplot(top_10_subs,x = 'Subscribers (million)' ,y = 'Youtuber', palette= youtube_color_barchart_10 )
plt.xlabel('Subscribers (million)',fontweight = 'heavy', fontsize = 12)
plt.ylabel('Youtuber Channel',fontweight = 'heavy', fontsize = 12)
plt.yticks(size = 9)
sb.despine(left=True, bottom=True)
plt.grid(axis = 'x', linestyle ='--')
plt.show()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 28/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

In [138… #Statistics by Video Views

#Select columns to show output


select_columns = ['Youtuber', 'Video Views']

#Filter dataframe for top 10 most video views Youtuber channels


youtube_videoviews = youtube[select_columns]
top_10_views = youtube_videoviews.sort_values(by = 'Video Views', ascending= False).head(10)

#Convert 'Video Views' in billions


top_10_views['Video Views (billion)'] = (top_10_views['Video Views'] / 1000000000).astype('int')
top_10_views = top_10_views[['Youtuber', 'Video Views (billion)']].sort_values(by= 'Video Views (billion)', ascending

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 29/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

#Show dataframe
top_10_views

Out[138]: Youtuber Video Views (billion)

0 T-Series 228

1 Cocomelon - Nursery Rhymes 164

2 SET India 148

3 Sony SAB 101

4 Kids Diana Show 93

5 Like Nastya 90

6 WWE 77

7 Vlad and Niki 77

8 Zee TV 73

9 Colors TV 61

In [139… #Visualization
plt.figure(figsize= (10,6))
plt.title('Top 10 Youtuber Channels by Video Views (2023)',fontweight = 'heavy', fontsize = 16)
sb.barplot(top_10_views,x = 'Video Views (billion)' ,y = 'Youtuber', palette= youtube_color_barchart_10 )
plt.xlabel('Video Views (billion)',fontweight = 'heavy', fontsize = 12)
plt.ylabel('Youtuber Channel',fontweight = 'heavy', fontsize = 12)
plt.yticks(size = 9)
sb.despine(left=True, bottom=True)
plt.grid(axis = 'x', linestyle ='--')
plt.show()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 30/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Nhận xét:

Nhìn chung qua 2 biểu đồ bar ở trên thì ta thấy được 7 trên 10 kênh có lượng subscriber cao nhất cũng có mặt trong top 10
kênh có lượt video views cao nhất.
Có sự thay đổi không quá đáng kể giữa các vị trí trong top 10 khi chuyển từ Subscribers sang Video Views ngoại trừ kênh T-
Series vẫn giữ vị trí đầu bảng ở cả 2 hạng mục.

=> Như vậy, liệu có sự tương quan gì giữa lượng người theo dõi và lượt xem không? Hãy đi sâu hơn vào mối quan hệ giữa hai đại
lượng này ở phần kế tiếp.

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 31/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

2. Một kênh youtube có lượng người dùng đăng kí càng cao thì có đồng nghĩa với lượt
xem của kênh càng cao không?
In [140… #Statistics Subscriber (million), Video Views (billion) & Uploads (k.)

#Select columns to show output


select_columns = ['Youtuber', 'Subscribers', 'Video Views', 'Uploads']

#Filter dataframe by select_columns


youtube_corr_statistics = youtube[select_columns]

#Convert 'Subscriber' in millions


youtube_corr_statistics['Subscribers (million)'] = (youtube_corr_statistics['Subscribers'] / 1000000).astype('int')

#Convert 'Video Views' in millions


youtube_corr_statistics['Video Views (billion)'] = (youtube_corr_statistics['Video Views'] / 1000000000).astype('int

#Convert 'Uploads' in thousand


youtube_corr_statistics['Uploads (k.)'] = (youtube_corr_statistics['Uploads'] / 1000)

youtube_corr_statistics = youtube_corr_statistics[['Youtuber', 'Subscribers (million)', 'Video Views (billion)', 'Upl

#Show dataframe
youtube_corr_statistics.head()

Out[140]: Youtuber Subscribers (million) Video Views (billion) Uploads (k.)

0 T-Series 245 228 20.082

1 MrBeast 166 28 0.741

2 Cocomelon - Nursery Rhymes 162 164 0.966

3 SET India 159 148 116.536

4 Kids Diana Show 112 93 1.111

In [141… youtube_corr_statistics['Video Views (billion)'].mean()

Out[141]: 10.711180124223603

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 32/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

In [142… youtube_corr_statistics['Subscribers (million)'].mean()

Out[142]: 22.27225672877847

In [143… per_subs = round(np.percentile(youtube_corr_statistics['Subscribers (million)'], 95))


per_views = round(np.percentile(youtube_corr_statistics['Video Views (billion)'], 95))

print('95% các kênh youtube có lượng Subscribers dưới:', per_subs, 'million')


print('95% các kênh youtube có lượt Video Views dưới:', per_views, 'billion')

95% các kênh youtube có lượng Subscribers dưới: 46 million


95% các kênh youtube có lượt Video Views dưới: 28 billion

In [144… fig, (ax1, ax2) = plt.subplots(1,2, figsize = (20,6))


sb.histplot(youtube_corr_statistics['Subscribers (million)'], color= 'red',ax = ax1)
ax1.set_title('Distribution of Subscribers', fontweight = 'heavy', fontsize = 16)
ax1.set_xlabel('Subscribers (million)', fontweight = 'heavy', fontsize = 12)
ax1.set_ylabel('Count', fontweight = 'heavy', fontsize = 12)

sb.histplot(youtube_corr_statistics['Video Views (billion)'], color= 'red', ax = ax2)


ax2.set_title('Distribution of Video Views', fontweight = 'heavy', fontsize = 16)
ax2.set_xlabel('Video Views (billion)', fontweight = 'heavy', fontsize = 12)
ax2.set_ylabel('Count', fontweight = 'heavy', fontsize = 12)

Out[144]: Text(0, 0.5, 'Count')

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 33/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

In [145… # Calculate the correlation coefficient


correlation = youtube_corr_statistics['Subscribers (million)'].corr(youtube_corr_statistics['Video Views (billion)'])

# Set scaling factor of circle size


scaling_factor = 2

# Calculate the size of circles


sizes = youtube_corr_statistics['Video Views (billion)'] * scaling_factor

# Chart
plt.figure(figsize= (10,6))
plt.title('Correlation between Subscribers and Video Views (2023)', fontweight = 'heavy', fontsize = 16 )
sb.scatterplot(data= youtube_corr_statistics, x='Video Views (billion)', y='Subscribers (million)', color = 'red',alp
sb.regplot(data= youtube_corr_statistics, x='Video Views (billion)', y='Subscribers (million)', scatter=False, ci=No
plt.xlabel('Video Views (billion)', fontweight = 'heavy', fontsize = 12)
plt.ylabel('Subscribers (million)', fontweight = 'heavy', fontsize = 12)
# plt.grid(True, which = 'both', linestyle = '--', linewidth = 0.5)

sb.despine(left=False, bottom=False)
plt.grid(axis = 'y', linestyle ='')
# Note correlation
plt.annotate(f'Correlation: {correlation:.2f}',
xy = (0.85, 0.01),
xycoords = 'axes fraction',

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 34/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

fontsize = 10,
weight = 'bold')
plt.show()

Nhận xét:

Từ kết quả top 10 giữa lượng người theo dõi và lượt xem trước đó với tỷ lệ tương quan lên đến 82%. Biểu đồ scatter plot thể
hiện chi tiết hơn về mối quan hệ tích cực giữa 2 biến này (một kênh YouTube càng có nhiều lượt theo dõi sẽ kéo theo lượt xem

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 35/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

trên kênh càng cao).


Nhìn vào biểu đồ scatter plot, chúng ta thấy được sự phân bố phần lớn dữ liệu tập trung ở phạm vi thấp hơn đáng kể so với
top 10 đã đề cập ở câu 1, trong khi chỉ một bộ phận nhỏ các kênh có số lượng theo dõi và lượt xem vượt trội hơn phần còn lại.
Cụ thể khi thông qua biểu đồ histplot, dữ liệu đã cho thấy có đến 95% số kênh YouTube có dưới 46 triệu lượng người theo dõi
và tỷ lệ này ở lượt xem là dưới 28 tỷ.

=> Điều này dẫn đến kết luận rằng:


- Thực tế có sự phụ thuộc đáng kể giữa số người theo dõi và lượt xem. Đồng thời những con số cũng thể hiện chỉ một số ít kênh
thực sự vượt trội hơn so với phần còn lại về mức độ thành công (được đo lường dựa trên lượng Subscribers và Views).
- Vậy câu hỏi đặt ra là những nhân tố nào góp phần tạo nên sự thành công của một kênh YouTube?

3. Một kênh YouTube càng đăng nhiều video sẽ dẫn đến lượng subscribers và lượt views
tăng cao phải không?
In [146… top_upload_channels = youtube[['Youtuber', 'Category', 'Uploads']].sort_values(by= 'Uploads', ascending= False).reset
top_upload_channels

Out[146]: Youtuber Category Uploads

0 ABP NEWS People & Blogs 301308

1 GMA Integrated News News & Politics 296272

2 TV9 Bharatvarsh People & Blogs 293516

3 Aaj Tak News & Politics 283775

4 IndiaTV News & Politics 273255

5 KOMPASTV News & Politics 269050

6 Thairath Online News & Politics 244899

7 News 24 News & Politics 211620

8 ABS-CBN News News & Politics 209520

9 TEDx Talks Nonprofits & Activism 200933

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 36/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

In [147… fig, ax = plt.subplots(1, 2, figsize = (25,8))

#Upload & Subscribers


# Calculate the correlation coefficient
correlation_ax0 = youtube_corr_statistics['Uploads (k.)'].corr(youtube_corr_statistics['Subscribers (million)'])
# Set scaling factor of circle size
scaling_factor_ax0 = 2
# Calculate the size of circles
sizes_ax0 = youtube_corr_statistics['Subscribers (million)'] * scaling_factor_ax0
# Chart
plt.figure(figsize= (10,6))
ax[0].set_title('Correlation between Uploads and Subscribers (2023)', fontweight = 'heavy', fontsize = 16 )
sb.scatterplot(data= youtube_corr_statistics, x='Subscribers (million)', y='Uploads (k.)', color = 'gray',alpha=0.6,
sb.regplot(data= youtube_corr_statistics, x='Subscribers (million)', y='Uploads (k.)', scatter=False, ci=None,line_k
ax[0].set_xlabel('Subscribers (million)', fontweight = 'heavy', fontsize = 12)
ax[0].set_ylabel('Video Uploads (k.)', fontweight = 'heavy', fontsize = 12)
ax[0].spines['top'].set_visible(False) #bỏ trục x ở trên
ax[0].spines['right'].set_visible(False) #bỏ trục y ở bên phải
# ax[0].grid(True, which = 'both', linestyle = '--', linewidth = 0.5)
# Note correlation
ax[0].annotate(f'Correlation: {correlation_ax0:.2f}',
xy = (0.87, 0.01),
xycoords = 'axes fraction',
fontsize = 10,
weight = 'bold')

#Uploads & Video Views


# ax1 = ax[1]
# Calculate the correlation coefficient
correlation_ax1 = youtube_corr_statistics['Uploads (k.)'].corr(youtube_corr_statistics['Video Views (billion)'])
# Set scaling factor of circle size
scaling_factor_ax1 = 2
# Calculate the size of circles
sizes_ax1 = youtube_corr_statistics['Video Views (billion)'] * scaling_factor
# Chart
plt.figure(figsize= (10,6))
ax[1].set_title('Correlation between Uploads and Video Views (2023)', fontweight = 'heavy', fontsize = 16 )
sb.scatterplot(data= youtube_corr_statistics, x='Video Views (billion)', y='Uploads (k.)', color = 'gray',alpha=0.6,
sb.regplot(data= youtube_corr_statistics, x='Video Views (billion)', y='Uploads (k.)', scatter=False, ci=None,line_k
ax[1].set_xlabel('Video Views (billion)', fontweight = 'heavy', fontsize = 12)
ax[1].set_ylabel('Video Uploads (k.)', fontweight = 'heavy', fontsize = 12)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 37/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

# ax[1].grid(True, which = 'both', linestyle = '--', linewidth = 0.5)


# Note correlation
ax[1].annotate(f'Correlation: {correlation_ax1:.2f}',
xy = (0.87, 0.01),
xycoords = 'axes fraction',
fontsize = 10,
weight = 'bold')
ax[1].spines['top'].set_visible(False)
ax[1].spines['right'].set_visible(False)

plt.show();

<Figure size 1000x600 with 0 Axes>


<Figure size 1000x600 with 0 Axes>

Nhận xét:

Với tỉ lệ tương quan vô cùng thấp (lần lượt là 0.9% và 17%) kèm theo đó là sự phân tán dữ liệu không nhất quán, có thể đưa ra
kết luận rằng một kênh YouTube có nhiều video được đăng tải không đồng nghĩa với việc kênh đó nhận được nhiều lượt theo
dõi và lượt xem.
Điều này ngụ ý đến chất lượng và nội dung của video có thể đóng vai trò quan trọng hơn trong việc thu hút người đăng ký và
người xem thay vì chỉ tập trung vào số lượng video tải lên.

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 38/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Ngoài ra, có một ngoại lệ được biểu thị thông qua 2 biểu đồ phân tán dữ liệu ở trên rằng có một số ít kênh thể hiện sự tương
phản độc đáo khi có số lượng người đăng ký và lượt xem rất thấp nhưng số lượng video đăng tải lại cao đáng kể. Đây có thể là
gợi ý cho sự hiện diện của một nhóm nội dung đang được khai thác mạnh mẽ bởi những tổ chức có nhiều nguồn lực và hoạt
động trong một thời gian dài. Hợp lý hơn khi phỏng đoán những kênh này có thể thuộc những lĩnh vực giải trí, tin tức hoặc âm
nhạc được biết đến với việc đăng tải nhiều video có thời lượng ngắn theo chu kỳ 24h, chẳng hạn như tiêu đề về tin tức hoặc
trích đoạn phỏng vấn.

=> Vậy những danh mục nào đang được khai thác với tần suất cao?

4. Những loại kênh YouTube nào có số lượng video đăng tải nhiều nhất?
In [148… #Statistics by Category

#Group by lots of feature by Category


statis_category = youtube.groupby('Category').agg({'Category' : 'count',
'Uploads' : 'sum',
'Subscribers' : 'sum',
'Video Views' : 'sum'
})
#Rename count feature
statis_category = statis_category.rename(columns= {'Category' : 'Count of Category'}).reset_index()

#Unit conversion
statis_category['Video Views (billion)'] = (statis_category['Video Views']/1000000000).astype('int')
statis_category['Subscribers (million)'] = (statis_category['Subscribers']/1000000).astype('int')
statis_category['Uploads (k.)'] = (statis_category['Uploads']/1000).astype('int')

#Select feature
statis_category = statis_category[['Category', 'Count of Category', 'Uploads (k.)','Subscribers (million)', 'Video Vi

#Show statistics table


statis_category

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 39/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[148]: Category Count of Category Uploads (k.) Subscribers (million) Video Views (billion)

0 Autos & Vehicles 2 3 35 15

1 Comedy 69 77 1388 550

2 Education 44 141 1175 691

3 Entertainment 235 2867 5061 2500

4 Film & Animation 44 127 1101 507

5 Gaming 92 403 1928 706

6 Howto & Style 39 64 760 194

7 Movies 2 7 51 15

8 Music 200 471 5155 3103

9 News & Politics 26 2924 536 270

10 Nonprofits & Activism 2 205 55 10

11 Other 37 39 669 278

12 People & Blogs 128 1212 2720 1251

13 Pets & Animals 4 17 72 44

14 Science & Technology 17 35 316 66

15 Shows 11 354 512 432

16 Sports 11 159 298 147

17 Trailers 2 13 78 33

18 Travel & Events 1 0 12 3

In [149… #Select feature to to summary about Uploads


uploads_category = statis_category[['Category', 'Uploads (k.)']]

#Group features with counts under 300 into the general category other
uploads_category.loc[uploads_category['Uploads (k.)'] < 300, 'Category'] = 'Other'
uploads_category = uploads_category.groupby(['Category'])['Uploads (k.)'].sum().reset_index().sort_values(by = 'Uploa

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 40/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

total = sum(uploads_category['Uploads (k.)'])


uploads_category['Percent Uploads (%)'] = [round((value / total) * 100,0) for value in uploads_category['Uploads (k.)
uploads_category.reset_index(drop= True, inplace= True)

#Show statistics table


uploads_category

Out[149]: Category Uploads (k.) Percent Uploads (%)

0 News & Politics 2924 32.0

1 Entertainment 2867 31.0

2 People & Blogs 1212 13.0

3 Other 887 10.0

4 Music 471 5.0

5 Gaming 403 4.0

6 Shows 354 4.0

In [150… labels = uploads_category['Category']


sizes = uploads_category['Uploads (k.)']

explode = [0.07, 0, 0, 0, 0, 0, 0]
plt.figure(figsize= (9,6))
plt.pie(sizes, labels= labels,
autopct='%1.0f%%',
startangle=0,
explode= explode,
colors= youtube_color_donutchart,
pctdistance=0.86)
#
# plt.legend(title = 'Category',bbox_to_anchor=(1.1, 1), labels = labels)
plt.axis('equal')
plt.title('Percent Uploads by Category', fontweight = 'heavy', fontsize = 16)
plt.tight_layout()

circle = plt.Circle(xy= (0,0), radius= .70, facecolor = 'white')


plt.gca().add_artist(circle)
plt.show();

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 41/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Có thể thấy được sự phỏng đoán ở phần phía trước là có cơ sở: Gần 2/3 (63.5%) tổng lượt Uploads được chia đều cho 2 danh
mục News & Politics và Entertainment. Trong đó dẫn đầu là danh mục New & Politics chiếm 32.1% (2924K Uploads) tổng lượng
video được đăng tải (cách biệt không quá đáng kể với vị trí thứ hai là Entertainment với tỷ lệ 31.4%). Các danh mục còn lại
chiếm tỷ lệ rất nhỏ.

Vậy điều gì làm nên sự khác biệt của 2 danh mục này so với phần còn lại?

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 42/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

News & Politics là danh mục chuyên đăng tải những video về tin tức và chính trị bao gồm các bản tin, phóng sự, phỏng
vấn, thảo luận và các chương trình truyền hình khác. Các nội dung của danh mục này yêu cầu độ chính xác và cập nhật thông
tin mới liên tục đồng nghĩa với việc không mang đến xu hướng xem lại những bản tin cũ. Thực tế, những chủ đề trong danh
mục này thường yêu cầu phía sau là một đội ngũ với nguồn lực lớn để khai thác. Đó có thể chính là các tổ chức thuộc quyền
sở hữu và quản lý của nhà nước, những bộ phận cấp cao có tiếng nói ảnh hưởng đến đại chúng vì mục đích đưa ra những
thông tin có ích cho người xem. Đây chính là một trong những ngoại lệ từ YouTube khi có số lượng video đăng tải nhiều nhất
mà không phụ thuộc vào lượt xem và theo dõi.
Ngược lại, Entertainment là danh mục giải trí hàng đầu với đa dạng các chủ đề như: Âm nhạc, trò chơi, tin tức – giải trí,
phim – chương trình truyền hình,... Đây gần như là danh mục có thể dành cho hầu hết các cá nhân, tổ chức không phân biệt
lớn nhỏ, bất kì ai cũng có thể khai thác nội dung từ danh mục này vì tính mở rộng nhiều chủ đề từ đó nâng số lượng Uploads
Video gần xấp xỉ vị trí dẫn đầu. Các kênh YouTube thuộc danh mục này thường chịu ảnh hưởng nhiều từ lượt xem và theo dõi,
đó gần như là yếu tố để thúc đẩy và duy trì sự phát triển của các kênh do cá nhân xây dựng.
Hiện nay, xu hướng phát triển ngày càng nhiều những nội dung được truyền tải dưới dạng video ngắn từ TikTok, Reels của
Instagram, Short-form video của Facebook,… thì với YouTube đó là Short. Mô hình này có thể tạo ra rất nhiều lượt Uploads
trong một thời gian ngắn nhưng vẫn thu hút được số đông người xem hiện đại. Các Hot Tiktoker, KOL,.. chính là những người
dẫn đầu việc sản xuất những video ngắn ít kinh phí chỉ từ 30 giây đến 1 phút nhưng vẫn nhận về nhiều lượt tương tác từ nhiều
nền tảng, trong đó có YouTube.

=> Như vậy, có phải số lượng video đăng tải của 2 danh mục trên cao hơn các danh mục còn lại là do có nhiều YouTuber đang khai
thác 2 danh mục đó không?

5. Số lượng kênh YouTube ở mỗi danh mục?


In [151… #Select features
count_category = statis_category[['Category', 'Count of Category']].sort_values(by = 'Count of Category', ascending=

# Group features with counts under 300 into the general category other
count_category.loc[count_category['Count of Category'] < 20, 'Category'] = 'Other'
count_category = count_category.groupby(['Category'])['Count of Category'].sum().reset_index().sort_values(by = 'Coun

# total = sum(count_category['Count of Category'])


# count_category['Percent Category'] = [round((value / total) * 100,0) for value in count_category['Count of Category
count_category.reset_index(drop= True, inplace= True)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 43/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

#Show statistics table


count_category

Out[151]: Category Count of Category

0 Entertainment 235

1 Music 200

2 People & Blogs 128

3 Gaming 92

4 Other 89

5 Comedy 69

6 Education 44

7 Film & Animation 44

8 Howto & Style 39

9 News & Politics 26

In [152… sb.set_style("whitegrid",{'axes.grid' : False})

plt.figure(figsize=(10,7))
# Select data for categoies and values feature
cnt_category = count_category['Count of Category'].to_list()

#Chart
plt.title('Number of Youtube Channels by each Category (2023)', fontsize = 16, fontweight = 'heavy')
sb.barplot(data= count_category, x = 'Category', y = 'Count of Category', palette= youtube_color_barchart_10)

#Add number for each columns


for i, value in enumerate(cnt_category):
plt.text(i, value + 1, cnt_category[i], ha = 'center', fontsize=10, fontweight = 'heavy')

sb.despine(left=True, bottom=True)
plt.grid(axis = 'y', linestyle ='--')
plt.xlabel('Category', fontsize = 13, fontweight = 'heavy')
plt.ylabel('Count of Category', fontweight = 'heavy', fontsize = 13)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 44/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

plt.xticks(rotation = 65)
plt.yticks([]) #loại bỏ các tham số trên trục y
plt.show();

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 45/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 46/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Chúng ta có thể thấy được chỉ với 3 danh mục Entertainment (236 kênh), Music (202 kênh) và People & Blogs (129
kênh) đã tạo ra gần 60% số lượng kênh YouTube so với tổng thể.
Ở vị trí thứ nhất ,như đã dẫn chứng trước đó danh mục Entertainment có số lượng Uploads Video cao thứ 2 nhờ sự đa
dạng nội dung có thể khai thác với bất kì cá nhân tổ chức nào. Đây là danh mục béo bỡ cho mọi cá nhân có khả năng sáng
tạo của mình đều có thể khai thác những mỏ vàng của thời đại công nghệ.
Với sự đa dạng về thể loại nhạc đã tạo cơ hội tiếp cận rộng lớn đến những người sáng tạo âm nhạc. Cùng với đó là sự phổ
biến, dễ dàng tạo và chia sẽ với tất cả người dùng thông qua nhiều hình thức như cover, video tự sáng tác hoặc làm về lĩnh vực
âm nhạc mà họ yêu thích. Đây là những lý do mà Music trở thành danh mục có số lượng kênh chiếm vị trí thứ 2.
Điểm đáng chú ý chính là các danh mục Education , Howto & Style và News & Politics đều nằm ở những vị trí cuối
bảng xếp hạng. Đây là các danh mục truyền tải những nội dung hữu ích đối với người xem nhưng lại có số lượng kênh tương
đối hạn chế. Một số lý do điển hình đã được nêu ra ở trên là trường hợp của danh mục News & Politics, với đặc thù cần nhiều
tài nguyên để duy trì và phát triển, thêm vào đó là yêu cầu gắt gao về nội dung cũng như tính chính xác gần như tuyệt đối thì
chỉ một số ít các tổ chức có thể đảm nhiệm. Giáo dục và các kênh chứa nội dung hướng dẫn về một lĩnh vực cụ thể nào đó
trong cuộc sống có yêu cầu đặc biệt về vốn kiến thức cùng với kinh nghiệm ở lĩnh vực họ muốn truyền tải, điều này phần nào
giới hạn phạm vi những người có khả năng sáng tạo, phát triển và duy trì kênh.

=> Vậy ngoài những lý do trên, có phải thực chất chỉ vì sự đa dạng, tính phổ biến hoặc mang nhiều nội dung có thể dễ dàng được
khai thác bởi bất kì cá nhân nào mà gần 60% số lượng kênh thành công nhất lại tập trung vào 3 danh mục Entertainment, Music và
People & Blogs? Hay đây cũng chính là xu hướng của người dùng YouTube?

6. Xu hướng người dùng YouTube thông qua lượng subscribers và lượt views ở mỗi danh
mục?
In [153… sub_youtuber_cate = youtube[['Youtuber', 'Category', 'Subscribers']].sort_values(by = 'Subscribers', ascending= False
sub_youtuber_cate

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 47/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[153]: Youtuber Category Subscribers

0 T-Series Music 245000000

1 MrBeast Entertainment 166000000

2 Cocomelon - Nursery Rhymes Education 162000000

3 SET India Shows 159000000

4 Kids Diana Show People & Blogs 112000000

5 PewDiePie Gaming 111000000

6 Like Nastya People & Blogs 106000000

7 Vlad and Niki Entertainment 98900000

8 Zee Music Company Music 96700000

9 WWE Sports 96000000

In [154… #Select feature for subscribers chart


subs_category = statis_category[['Category', 'Subscribers (million)']].sort_values(by= 'Subscribers (million)', ascen
subs_category['Percent (%)'] = round((subs_category['Subscribers (million)'] / sum(subs_category['Subscribers (millio
subs_category

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 48/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[154]: Category Subscribers (million) Percent (%)

0 Music 5155 24.0

1 Entertainment 5061 23.0

2 People & Blogs 2720 12.0

3 Gaming 1928 9.0

4 Comedy 1388 6.0

5 Education 1175 5.0

6 Film & Animation 1101 5.0

7 Howto & Style 760 3.0

8 Other 669 3.0

9 News & Politics 536 2.0

10 Shows 512 2.0

11 Science & Technology 316 1.0

12 Sports 298 1.0

13 Trailers 78 0.0

14 Pets & Animals 72 0.0

15 Nonprofits & Activism 55 0.0

16 Movies 51 0.0

17 Autos & Vehicles 35 0.0

18 Travel & Events 12 0.0

In [155… view_youtuber_cate = youtube[['Youtuber', 'Category', 'Video Views']].sort_values(by = 'Video Views', ascending= Fals
view_youtuber_cate

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 49/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[155]: Youtuber Category Video Views

0 T-Series Music 228000000000

1 Cocomelon - Nursery Rhymes Education 164000000000

2 SET India Shows 148000000000

3 Sony SAB Shows 101000000000

4 Kids Diana Show People & Blogs 93247040539

5 Like Nastya People & Blogs 90479060027

6 WWE Sports 77428473662

7 Vlad and Niki Entertainment 77180169894

8 Zee TV Entertainment 73139054467

9 Colors TV Shows 61510906457

In [156… #Select feature for views chart


views_category = statis_category[['Category', 'Video Views (billion)']].sort_values(by= 'Video Views (billion)', asce
views_category['Percent (%)'] = round((views_category['Video Views (billion)'] / sum(views_category['Video Views (bil
views_category

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 50/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[156]: Category Video Views (billion) Percent (%)

0 Music 3103 29.0

1 Entertainment 2500 23.0

2 People & Blogs 1251 12.0

3 Gaming 706 7.0

4 Education 691 6.0

5 Comedy 550 5.0

6 Film & Animation 507 5.0

7 Shows 432 4.0

8 Other 278 3.0

9 News & Politics 270 2.0

10 Howto & Style 194 2.0

11 Sports 147 1.0

12 Science & Technology 66 1.0

13 Pets & Animals 44 0.0

14 Trailers 33 0.0

15 Autos & Vehicles 15 0.0

16 Movies 15 0.0

17 Nonprofits & Activism 10 0.0

18 Travel & Events 3 0.0

In [157… sb.set_style("whitegrid",{'axes.grid' : True})

fig, ax = plt.subplots(1, 2, figsize = (25,8))

#Subscribers chart
sb.barplot(data= subs_category, x= 'Category', y = 'Subscribers (million)', ax= ax[0], palette = youtube_color_barcha
ax[0].set_title('Numbers of Subscribers by Channel Category ', fontweight = 'heavy', fontsize = 20)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 51/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

ax[0].set_ylabel('Subscribers (million)', fontsize = 15, fontweight = 'heavy')


ax[0].set_xlabel('Category', fontsize = 15, fontweight = 'heavy')
ax[0].grid(axis = 'y', linestyle ='--')
ax[0].spines['top'].set_visible(False)
ax[0].spines['right'].set_visible(False)
ax[0].spines['bottom'].set_visible(False)
ax[0].spines['left'].set_visible(False)
plt.sca(ax[0])
plt.xticks(rotation = 90)

#Views chart
sb.barplot(data= views_category, x= 'Category', y = 'Video Views (billion)', ax= ax[1], palette = youtube_color_barch
ax[1].set_title('Numbers of Views by Channel Category ', fontweight = 'heavy', fontsize = 20)
ax[1].set_ylabel('Views (billion)', fontsize = 15, fontweight = 'heavy')
ax[1].set_xlabel('Category', fontsize = 15, fontweight = 'heavy')
ax[1].grid(axis = 'y', linestyle ='--')
ax[1].spines['top'].set_visible(False)
ax[1].spines['right'].set_visible(False)
ax[1].spines['bottom'].set_visible(False)
ax[1].spines['left'].set_visible(False)
plt.sca(ax[1])
plt.xticks(rotation = 90)

plt.show();

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 52/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Nhận xét:

Chỉ với 2 danh mục Music và Entertainment đã chiếm 47% số người theo dõi và 52% lượt xem so với tổng thể.
Trong đó, dẫn đầu bảng xếp hạng ở cả 2 thước đo chính là danh mục Music với xấp xỉ 5.2 tỷ người theo dõi và hơn 3100 tỷ
lượt xem.
Nhìn chung, cả 2 đều là những danh mục mang tính giải trí trên mọi nên tảng và với YouTube, chúng lại càng được nhân rộng
thêm. Những con số kể trên có thể cho chúng ta cái nhìn tổng quan về xu hướng người dùng YouTube.
Music
Phổ biến toàn cầu: Âm nhạc là một ngôn ngữ toàn cầu. Mọi người trên khắp thế giới yêu thích âm nhạc và tìm kiếm
nó trên YouTube.
Nghệ sĩ nổi tiếng: Nhiều nghệ sĩ nổi tiếng sử dụng YouTube để chia sẻ âm nhạc của họ, thu hút sự quan tâm lớn từ
fan hâm mộ và người xem.
Chất lượng cao: Video âm nhạc thường có chất lượng cao, bao gồm hình ảnh và âm thanh, tạo trải nghiệm tốt cho
người xem.
Entertainment

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 53/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Đa dạng nội dung giải trí: Danh mục "Entertainment" trên YouTube bao gồm nhiều loại nội dung giải trí, từ vlog cá
nhân, video hài hước đến thử thách, trò chơi điện tử, đánh giá phim và nhiều nội dung khác.
Sự sáng tạo: Nội dung giải trí thường rất đa dạng từ đo thúc đẩy tính tự do sáng tạo đối với nhiều kênh YouTube cá
nhân.
Cả hai danh mục đều cung cấp cho người xem một cách thức để giải trí, thư giãn và tìm hiểu về sở thích của họ, đặt biệt ở
trong thời đại số khi mà mọi thứ chuyển đổi quá nhanh khiến nhu cầu về giải trí của con người ngày càng được đặt lên hàng
đầu. Điều này làm cho chúng trở thành hai danh mục phổ biến nhất trên YouTube.

7. Tương tác của người dùng ở các danh mục này như thế nào (được đo bằng lượt xem
trên mỗi người đăng kí)?
In [158… #Group subscribers and video views by categories
subs_views_category = youtube.groupby('Category').agg({'Subscribers' : 'sum',
'Video Views' : 'sum'})

#Create View-to-Subscriber Ratio


subs_views_category['View-to-Subscriber Ratio'] = (subs_views_category['Video Views'] / subs_views_category['Subscrib
subs_views_category.sort_values(by= 'View-to-Subscriber Ratio', ascending= False, inplace= True)
subs_views_category.reset_index( inplace= True)

#Show statistics table


subs_views_category

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 54/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[158]: Category Subscribers Video Views View-to-Subscriber Ratio

0 Shows 512600000 432356612140 843

1 Pets & Animals 72400000 44866745899 619

2 Music 5155300000 3103516219048 602

3 Education 1175400000 691690418531 588

4 News & Politics 536400000 270391919347 504

5 Sports 298200000 147986290620 496

6 Entertainment 5061400000 2500154780534 493

7 Film & Animation 1101700000 507963782337 461

8 People & Blogs 2720900000 1251773521276 460

9 Trailers 78000000 33262717607 426

10 Autos & Vehicles 35700000 15003458141 420

11 Other 669400000 278191674947 415

12 Comedy 1388500000 550112774315 396

13 Gaming 1928500000 706166809255 366

14 Movies 51300000 15383255129 299

15 Howto & Style 760800000 194799530478 256

16 Travel & Events 12500000 3140883140 251

17 Science & Technology 316500000 66976747110 211

18 Nonprofits & Activism 55500000 10862911785 195

In [159… sb.set_style("whitegrid",{'axes.grid' : False})


plt.figure(figsize= (12,8))

#Convert variable to a list


labels = subs_views_category['View-to-Subscriber Ratio'].to_list()

#Chart

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 55/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

plt.title('Average View to Subscriber Ratio by Channel Category (2023)', fontweight = 'heavy', fontsize = 16)
sb.barplot(data= subs_views_category, x = 'Category', y = 'View-to-Subscriber Ratio', color = '#f00000') #palette= yo
plt.xlabel('Channel Category', fontsize = 12, fontweight = 'heavy')
plt.ylabel('View to Subscriber Ratio', fontsize = 12, fontweight = 'heavy')

#Add label for each columns in chart


for i, value in enumerate(labels):
plt.text(i, value + 6, labels[i], ha = 'center', fontsize=10)

sb.despine(left=True, bottom=True)
plt.xticks(rotation = 90)
plt.yticks([])
plt.show();

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 56/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 57/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

In [160… print('Trung bình lượt xem trên mỗi người đăng ký của tất cả danh mục:',round(subs_views_category['View-to-Subscriber

Trung bình lượt xem trên mỗi người đăng ký của tất cả danh mục: 437.0

Nhận xét

Danh mục Show dẫn đầu với tỷ lệ lượt xem trên số người đăng ký trung bình cao hơn 27% so với danh mục liền kề là Pets &
Animals. Đây thực sự là một bất ngờ khi trước đó, danh mục này có số lượng người đăng kí và lượt xem vô cùng khiêm tốn
(512 triệu người đăng kí và 432 tỷ lượt xem).
Trong khi đó, hai danh mục dẫn đầu xu hướng của người dùng YouTube lại có số lượt xem trên mỗi người đăng kí chỉ ở mức
trung bình khá, lần lượt là 602 đối với Music và 493 đối với Entertainment .
Tỷ lệ xem trên số người đăng ký cao cho thấy rằng:
Nhóm người hâm mộ trung thành: Những người đăng ký kênh thường xuyên quay lại xem khi nội dung mới được đăng
tải, thể hiện sự kết nối bền chặt giữa người sáng tạo nội dung và khán giả.
Nhóm nội dung có chất lượng cao kéo theo mức độ tương tác cao: Những chủ đề hay, hấp dẫn và bắt kịp xu hướng theo
thời gian tạo cho người đăng kí cảm giác tích cực khi xem nội dung thường xuyên, có khả năng xem lại video, từ đó dẫn
đến nhiều lượt xem hơn trên mỗi người đăng kí.
So với các danh mục có tỷ lệ xem trên người đăng ký thấp có thể có một số lý do dẫn đến việc này như:
Nhóm nội dung có tính lan truyền: Kênh có một vài video lan truyền mang lại lượng lớn lượt xem tại một thời điểm nhưng
không duy trì được điều này xuyên suốt các video được đăng tải trên kênh, từ đó không chuyển hóa được lượt xem thành
người đăng ký.
Sức hấp dẫn rộng rãi: Những nội dung có sức hấp dẫn rộng rãi thường được chia sẻ hoặc đăng tải trên nhiều nên tảng
khác nhau ngoài YouTube, từ đó thu hút lượt xem từ những người chỉ xem qua chứ không thực sự muốn đăng ký.
Nội dung thân thiện với tìm kiếm: Các kênh tạo nội dung trả lời các câu hỏi phổ biến như Howto & Style , Travel &
Events , Science & Technology hoặc đề cập đến các chủ đề phổ biến, giúp các video này có khả năng được khám
phá cao thông qua tìm kiếm trên YouTube hoặc Google. Tuy nhiên, sau khi nhận được câu trả lời hoặc thông tin họ cần,
người xem có thể không cảm thấy cần phải đăng ký.

8. Những nội dung (kí tự) trong tên của các kênh YouTube có ảnh hưởng đến lượt xem
của người dùng không?
In [161… # Determine the 75th percentile of video views
percentile_75th = youtube['Video Views'].quantile(0.75)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 58/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

# Filter channels with views above the 75th percentile


high_view_channels = youtube[youtube['Video Views'] > percentile_75th]

# Combine the names of high-view channels into a single string


text = ' '.join(high_view_channels['Youtuber'])

# Create the word cloud


wordcloud = WordCloud(background_color = 'white', width = 800, height = 400, max_words= 100).generate(text)

# Plot the word cloud


plt.figure(figsize= (10,8))
plt.imshow(wordcloud, interpolation = 'bilinear')
plt.axis('off')
plt.title('Word Cloud of High-View YouTube Channel Descriptions', fontsize = 18, fontweight = 'heavy')
plt.show()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 59/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Nhận xét

Những từ nổi bật nhất trong biểu đồ Word Cloud ở trên là Music , Kids , Songs , Entertainment , Nursery Rhymes ,
Record đều có sự liên quan rất lớn đối với các xu hướng danh mục YouTube của người dùng đã được trình bày ở các phân
tích trước đó như Music , Entertainment , Shows .
Mối tương quan chặt chẽ giữa các kí tự trong tên kênh YouTube và danh mục kênh có thể do một số nguyên nhân như:
Xác định rõ thương hiệu: Người sáng tạo thường muốn tên kênh của họ phản ánh loại nội dung họ sản xuất. Điều này
giúp những người dùng tiềm năng dễ dàng hiểu ngay trọng tâm của kênh. Một cái tên phù hợp với nội dung sẽ mang lại
thương hiệu rõ ràng hơn và giúp đặt ra kỳ vọng của khán giả.
Khả năng nhận diện: Những kênh có các từ khóa trong tên của mình cũng nằm trong các từ khóa của danh mục kênh có
thể giúp cải thiện khả năng hiện thị của kênh trong kết quả tìm kiếm.

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 60/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Sự nhất quán giữa tên và nội dung: Nếu tên kênh tương quan trực tiếp với tên danh mục thì kênh đó sẽ mang lại trải
nghiệm nhất quán cho người xem. Ví dụ một kênh có tên Action Movies thuộc danh mục Movies thì kênh đó sẽ phù
hợp với những gì mà người dùng mong đợi thông qua tên.

9. Các YouTuber hàng đầu đến từ những quốc gia nào? (Distribution of YouTube Channels
by Country (2023))
In [162… map_chart = youtube.groupby(['Country','Abbreviation'])[['Youtuber']].count().reset_index().rename(columns={'Youtuber
map_chart.reset_index(drop = True, inplace= True)

map_chart['Percent'] = round((map_chart['Count of Country'] / sum(map_chart['Count of Country']))*100,1)


map_chart

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 61/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[162]: Country Abbreviation Count of Country Percent

0 United States US 306 31.7

1 India IN 168 17.4

2 Other Other 113 11.7

3 Brazil BR 61 6.3

4 United Kingdom GB 43 4.5

5 Mexico MX 33 3.4

6 Indonesia ID 28 2.9

7 Spain ES 22 2.3

8 Thailand TH 18 1.9

9 South Korea KR 16 1.7

10 Canada CA 15 1.6

11 Argentina AR 13 1.3

12 Philippines PH 12 1.2

13 Russia RU 11 1.1

14 Colombia CO 11 1.1

15 Australia AU 8 0.8

16 Saudi Arabia SA 7 0.7

17 United Arab Emirates AE 7 0.7

18 Pakistan PK 6 0.6

19 Germany DE 6 0.6

20 Japan JP 5 0.5

21 Ukraine UA 5 0.5

22 France FR 5 0.5

23 Turkey TR 4 0.4

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 62/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Country Abbreviation Count of Country Percent

24 Sweden SE 4 0.4

25 Netherlands NL 3 0.3

26 Vietnam VN 3 0.3

27 Jordan JO 3 0.3

28 Chile CL 3 0.3

29 Singapore SG 3 0.3

30 Italy IT 2 0.2

31 Iraq IQ 2 0.2

32 Egypt EG 2 0.2

33 Ecuador EC 2 0.2

34 Switzerland CH 1 0.1

35 Venezuela VE 1 0.1

36 Afghanistan AF 1 0.1

37 Samoa WS 1 0.1

38 Peru PE 1 0.1

39 Morocco MA 1 0.1

40 Malaysia MY 1 0.1

41 Andorra AD 1 0.1

42 Kuwait KW 1 0.1

43 Finland FI 1 0.1

44 El Salvador SV 1 0.1

45 Cuba CU 1 0.1

46 China CN 1 0.1

47 Barbados BB 1 0.1

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 63/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Country Abbreviation Count of Country Percent

48 Bangladesh BD 1 0.1

49 Latvia LV 1 0.1

In [185… import plotly.graph_objs as go


import plotly.express as px
custom_colorscale = [
[0, "#115f9a"],
[0.05, "#1984c5"],
[0.1, "#22a7f0"],
[0.2, "#48b5c4"],
[0.4, "#76c68f"],
[0.6, "#a6d75b"],
[0.7, "#c9e52f"],
[0.8, "#d0ee11"],
[1, "#f4f100"]
]

# Create the choropleth map with the custom colorscale


fig = px.choropleth(map_chart,
locations='Country',

locationmode='country names',
color='Count of Country',
color_continuous_scale=custom_colorscale,
hover_name='Country',
title='Distribuiton of Channels per Country',
projection='equirectangular')

# Customize the colorbar title


fig.update_coloraxes(colorbar_title= 'Count of Country')

fig.update_layout(
title = dict(text = "Distribuiton of Channels per Country", x = 0.3),
title_font = dict(size = 18),
height = 630,
width = 1100

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 64/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

# fig.update_geos(
#
# showcountries = True
# )
fig.update_layout(
geo=dict(
showcoastlines=True,
coastlinecolor="Black",
showland=True,
landcolor="LightGray",
showocean=True,
oceancolor="LightBlue"
))

# scattergeo_trace = go.Scattergeo(
# locationmode='country names',
# locations=map_chart['Country'], # Các vị trí của quốc gia
# text=map_chart['Abbreviation'], # Tên của từng quốc gia
# mode='text', # Chế độ hiển thị văn bản
# showlegend=False, # Ẩn chú thích
# textfont=dict(size=7, color='black', family='Arial') # Đặt độ đậm của văn bản
# )

# Thêm trace scattergeo vào biểu đồ


# fig.add_trace(scattergeo_trace)

Nhận xét
Một phần đáng chú ý của tập dữ liệu này khi có tới 11% các kênh thiếu dữ liệu quốc gia cụ thể. Việc thu thập dữ liệu còn thiếu này có
thể ảnh hưởng tương đối đến số lượng kênh của các quốc gia hàng đầu.

Hoa Kỳ và Ấn Độ dẫn đầu bảng xếp hạng trên thế giới về các kênh YouTube hàng đầu vào năm 2023, xấp xỉ 50% tổng số kênh
trong tập dữ liệu này. Trong đó Hoa Kỳ giữ vị trí cao nhất với 32% tương ứng 306 kênh, xếp sau là Ấn Độ với 17% tương đương
168 kênh.
Cả 2 đều là những quốc gia có dân số lớn kèm theo đó là một nền công nghiệp truyền thông phát triển mạnh mẽ. Với
Hollywood tại Hoa Kỳ và Bollywood tại Ấn Độ là 2 kinh đô điện ảnh bậc nhất của thế giới, nhiều người sáng tạo trong đó đã

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 65/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

tìm đến YouTube để chia sẽ nội dung giải trí.

=> Vậy điều gì khiến Hoa Kỳ có thể vượt trội hơn so với các quốc gia còn lại về số lượng kênh YouTube thành công đến như thế?
Hãy tìm hiểu điều đó thông qua một số đặc tính về dữ liệu của từng quốc gia của tập dữ liệu này.

9.1. Tỷ lệ thất nghiệp ở mỗi quốc gia?

In [164… #Select data for 'Unemployment Rate by Country chart'


unempl_rate = youtube[['Country', 'Unemployment Rate']].sort_values(by= 'Unemployment Rate', ascending= False).reset_
unempl_rate = unempl_rate.drop_duplicates().reset_index(drop= True)
unempl_rate.head()

Out[164]: Country Unemployment Rate

0 Jordan 14.72

1 United States 14.70

2 Spain 13.96

3 Turkey 13.49

4 Iraq 12.82

In [165… #Setup color for Unemployment Rate (%) chart


unempl_colors = []
for i in range(len(unempl_rate['Country'])):
if unempl_rate['Country'][i] == 'United States':
unempl_colors.append('red')
else:
unempl_colors.append('gray')
#Chart
plt.figure(figsize = (10,6))
sb.barplot(data = unempl_rate, x = 'Country', y = 'Unemployment Rate', palette= unempl_colors)
plt.title('Unemployment Rate by Country', fontweight = 'heavy', fontsize = 18)
plt.xlabel('Country', fontweight = 'heavy', fontsize = 12)
plt.ylabel('Unemployment Rate (%)', fontweight = 'heavy', fontsize = 12)
plt.xticks(rotation = 90)
sb.despine(left=True, bottom=True)
plt.grid(axis = 'y', linestyle ='--')

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 66/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

plt.tight_layout()
plt.show();

Sự tác động của tỷ lệ thất nghiệp ở một quốc gia đến sự thành công của kênh YouTube:

Sáng tạo nội dung: YouTube là một cơ hội đối với những người thất nghiệp nhưng có khả năng sáng tạo nội dung cao, từ
đó tạo ra một hướng đi mới giúp cải thiện cuộc sống của họ. Những người có khả năng sáng tạo sẽ có nhiều thời gian hơn để
tập trung vào việc phát triển nội dung và kênh của mình trong giai đoạn không có công việc ổn định.
Nhu cầu cho nội dung giáo dục và việc làm: Trong thời kỳ thất nghiệp, các nội dung về giáo dục và hướng dẫn tìm
kiếm việc làm hoặc phát triển sự nghiệp trở thành một trong những xu hướng hàng đầu. Những người tạo nội dung có thể

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 67/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

nắm bắt xu hướng này để giúp người xem tìm hiểu về cách viết đơn xin việc, phỏng vấn, hoặc phát triển kỹ năng chuyên môn.

9.2. Tỷ lệ tham gia đại học ở mỗi quốc gia?

In [166… #Select data for 'Gross Tertiary Education Enrollment Rate by Country chart'
education_rate = youtube[['Country', 'Gross Tertiary Education Enrollment (%)']].sort_values(by= 'Gross Tertiary Educ
education_rate = education_rate.drop_duplicates().reset_index(drop= True)
education_rate.head(10)

Out[166]: Country Gross Tertiary Education Enrollment (%)

0 Australia 113.1

1 South Korea 94.3

2 Argentina 90.0

3 Spain 88.9

4 Chile 88.5

5 United States 88.2

6 Finland 88.2

7 Latvia 88.1

8 Netherlands 85.0

9 Singapore 84.8

In [167… #Setup color for Gross Tertiary Education Enrollment Rate (%) chart
education_colors = []
for i in range(len(education_rate['Country'])):
if education_rate['Country'][i] == 'United States':
education_colors.append('red')
else:
education_colors.append('gray')
#Chart
plt.figure(figsize = (10,6))
sb.barplot(data = education_rate, x = 'Country', y = 'Gross Tertiary Education Enrollment (%)', palette= education_co
plt.title('Gross Tertiary Education Enrollment Rate by Country', fontweight = 'heavy', fontsize = 18)
plt.xlabel('Country', fontweight = 'heavy', fontsize = 12)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 68/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

plt.ylabel('Gross Tertiary Education Enrollment (%)', fontweight = 'heavy', fontsize = 12)


plt.xticks(rotation = 90)
sb.despine(left=True, bottom=True)
plt.grid(axis = 'y', linestyle ='--')
plt.tight_layout()
plt.show();

Sự tác động của tỷ lệ dân số tham gia đại học (GTER) đến sự thành công của kênh YouTube:

Chất lượng nội dung: Các kênh YouTube do những người tạo nội dung có trình độ học vấn cao (GTER) có thể tạo ra các
nội dung về giáo dục, nghiên cứu cùng nhiều lĩnh vực mang tính học thuật khác trở nên thú vị và chất lượng hơn.

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 69/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Khả năng giao tiếp và giảng dạy: Người có học vấn cao có thể có khả năng tốt hơn trong việc giảng dạy và truyền đạt
kiến thức đến người xem, từ đó tạo được sự hiệu quả đối với phương pháp học trực tuyến.
Thị trường mục tiêu: Tỷ lệ dân số tham gia đại học của một quốc gia cho thấy được một thị trường tiềm năng về các
danh mục thuộc lĩnh vực giáo dục trên YouTube tại quốc gia đó. Các quốc gia có chỉ số GTER cao có thể mang đến nhu cầu
cao hơn về nội dung giáo dục và hướng dẫn.

9.3. Tỷ lệ dân sống ở thành thị của mỗi quốc gia?

In [168… #Create column 'Urbanization Rate (%)' in youtube dataset


youtube['Urbanization Rate (%)'] = round((youtube['Urban Population']/youtube['Population']) * 100,0)

urban_rate = youtube[['Country','Abbreviation', 'Urbanization Rate (%)']].sort_values(by= 'Urbanization Rate (%)', as


urban_rate = urban_rate.drop_duplicates().reset_index(drop= True)
urban_rate.head(20)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 70/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[168]: Country Abbreviation Urbanization Rate (%)

0 Singapore SG 100.0

1 Kuwait KW 100.0

2 Argentina AR 92.0

3 Japan JP 92.0

4 Netherlands NL 92.0

5 Jordan JO 91.0

6 Venezuela VE 88.0

7 Sweden SE 88.0

8 Chile CL 88.0

9 United Arab Emirates AE 87.0

10 Brazil BR 86.0

11 Australia AU 85.0

12 Finland FI 85.0

13 United Kingdom GB 84.0

14 Saudi Arabia SA 84.0

15 Canada CA 83.0

16 United States US 82.0

17 Mexico MX 81.0

18 Colombia CO 81.0

19 Spain ES 81.0

In [169… #Setup color for Urbanization Rate (%) chart


urban_colors = []
for i in range(len(urban_rate['Country'])):
if urban_rate['Country'][i] == 'United States':
urban_colors.append('red')
else:

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 71/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

urban_colors.append('gray')
#Chart
plt.figure(figsize = (10,6))
sb.barplot(data = urban_rate, x = 'Country', y = 'Urbanization Rate (%)', palette= urban_colors)
plt.title('Urbanization Rate by Country', fontweight = 'heavy', fontsize = 18)
plt.xlabel('Country', fontweight = 'heavy', fontsize = 12)
plt.ylabel('Urbandization Rate (%)', fontweight = 'heavy', fontsize = 12)
plt.xticks(rotation = 90)
sb.despine(left=True, bottom=True)
plt.grid(axis = 'y', linestyle ='--')
plt.tight_layout()
plt.show();

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 72/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Sự tác động của tỷ lệ dân số sống ở thành thị đến sự thành công của kênh YouTube:

Khả năng tiếp cận Internet: Thành thị thường có cơ sở hạ tầng Internet và kết nối mạng lưới tốt hơn so với nông thôn.
Do đó, người dân sống ở thành thị có khả năng tiếp cận Internet nhanh chóng và ổn định hơn, điều này giúp họ dễ dàng truy
cập và xem nội dung trên YouTube.
Nhu cầu cho nội dung đô thị: Dân số sống ở thành thị thường có nhu cầu về nội dung liên quan đến cuộc sống đô thị,
văn hóa đô thị, và các vấn đề xã hội liên quan đến thành thị. Các kênh YouTube tạo nội dung về các chủ đề này có thể hấp dẫn
một lượng lớn người xem trong các khu vực đô thị.

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 73/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Thị trường quảng cáo tốt hơn: Thành thị thường có thị trường quảng cáo phát triển hơn, và các người tạo nội dung
sống ở thành thị có thể có cơ hội tốt hơn để hợp tác với các nhà quảng cáo và kiếm tiền từ quảng cáo trên YouTube.
Tạo đối tượng mục tiêu lớn hơn: Thành thị thường có dân số đông hơn, điều này có nghĩa là kênh YouTube có tiềm
năng tiếp cận nhóm đối tượng mục tiêu lớn hơn.

Kết luận:

Từ những quan sát ở trên chúng ta có thể đưa ra một số dẫn chứng cho thấy lý do vì sao Hoa Kỳ trở thành quốc gia có nhiều
kênh YouTube thành công nhất:
Theo Wikipedia và MS News, Hoa Kỳ là quốc gia đông dân thứ 3 trên thế giới với 336 triệu dân. Trong đó, tỷ lệ thất nghiệp
tại đây lên đến 14.7% tương đương 49 triệu người, một con số rất lớn.
Với sự khó khăn trong giai đoạn việc làm không ổn định thì một số hướng đi ngách có thể trở thành những lựa chọn
tương đối lý tưởng, trong đó có việc xây dựng một kênh YouTube cá nhân. Tại Hoa Kỳ, một quốc gia có đa dạng mọi chủ
đề trong cuộc sống, nơi mà bất kì người nào với sự sáng tạo của bản thân đều có thể tìm cho mình một nội dung để khai
thác trên nền tảng YouTube.
Bên cạnh đó, Hoa Kỳ là quốc gia có nền giáo dục bậc nhất thế giới. Với 88.2% tỷ lệ người dân tham gia đại học, điều này là
một lợi thế lớn khi lực lượng lao động tại đây có trình độ học vấn rất cao. Từ những người có trình độ học vấn cao, họ có
thể sáng tạo ra những nội dung chất lượng, hấp dẫn hơn về các mảng liên quan đến giáo dục, nghiên cứu,... Bến cạnh đó,
những người này sẽ có khả năng truyền đạt rất tốt, giúp người xem dễ dàng tiếp cận với tri thức hơn.
Tại một quốc gia mà nền giáo dục đứng đầu thế giới thì việc học hỏi liên tục là điều tất yếu. Hiện nay, việc học không chỉ
dừng lại ở giảng đường mà đã nhân rộng ra đa nền tảng nhờ sự chuyển đổi mạnh mẽ của Internet. Và danh mục
Education trên YouTube là một minh chứng khi luôn nằm trong top 5 danh mục có lượng người theo dõi và lượt xem
cao nhất kèm theo đó là 588 lượt xem trên mỗi người đăng kí, cho thấy đây là một danh mục tiềm năng mà những người
có trình độ học vấn cao có thể khai thác một cách mạnh mẽ.
Cuối cùng, vị trí chính là điều kiện cho sự phát triển của 2 ý đã đề cập ở trên. Với 82% dân số sống ở thành thị, nơi mà
người dân dễ dàng tiếp cận với Internet và sử dụng được nhiều nền tảng, trong đó có YouTube. Khi dân số ở thành thị
cao, xu hướng nội dung của người dùng cũng rộng hơn. Cùng với đó là cơ hội tốt để tăng khả năng hợp tác và quảng cáo
với các công ty hoặc nhãn hàng thông qua những hợp đồng tài trợ, giúp các kênh YouTube ở thành thị có khả năng kiếm
được nhiều tiền hơn.

10. Những kênh YouTube thành công nhất được thành lập vào năm nào?

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 74/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

In [170… cnt_created_year = youtube.groupby('Created Year').size().to_frame().reset_index().rename(columns= {0 : 'Count'})


cnt_created_year.sort_values(by = 'Count', ascending= False)

Out[170]: Created Year Count

9 2014 95

1 2006 89

6 2011 81

11 2016 76

8 2013 71

10 2015 70

7 2012 68

12 2017 63

4 2009 52

2 2007 49

5 2010 48

3 2008 45

13 2018 43

14 2019 33

15 2020 30

0 2005 25

16 2021 23

17 2022 5

In [171… sb.set_style("whitegrid",{'axes.grid' : False})


plt.figure(figsize= (12,8))

plt.figure( figsize= (10,6))


plt.title('Youtube Channels by Created Year', fontweight = 'heavy', fontsize = 18)
sb.lineplot(data = cnt_created_year, y = 'Count', x = 'Created Year', color = 'red')

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 75/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

label_points = [(2014, 95), (2006, 89), (2011, 81)]


for point in label_points:
plt.text(point[0], point[1], f'{point[1]}', ha='center', va='bottom')

for point in label_points:


x, y = point
plt.scatter(x, y, color='red', marker='o', s=20)

plt.xlabel('Created Year', fontweight = 'heavy', fontsize = 14)


plt.ylabel('Count', fontweight = 'heavy', fontsize = 14)
sb.despine(left=False, bottom=False)
# plt.grid(axis = 'x', linestyle ='-.')
plt.tight_layout()
plt.xticks(cnt_created_year['Created Year'])
plt.show()

<Figure size 1200x800 with 0 Axes>

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 76/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Nhận xét:

Có thể thấy rằng những mốc thời gian cho ra đời các kênh YouTube thành công nhất tập trung ở 3 năm: 2006, 2011 và 2015.
Sự ra đời của YouTube: Được thành lập và ra mắt công chúng vào năm 2005, nhưng đến năm 2006 YouTube mới thực sự
bắt đầu thu hút sự chú ý rộng rãi và phát triển đáng kể. Trong giai đoạn này, nền tảng YouTube còn mới mẻ, cạnh tranh
chưa quá khóc liệt cho phép nhiều kênh nổi lên nhanh chóng và xây dựng được lượng người hâm mộ trung thành thuở sơ
khai.
Sự thúc đẩy của nền tảng: Theo Wikipedia, hơn ba tỷ lượt xem mỗi ngày và 48 giờ cảnh quay được tải lên mỗi phút vào
năm 2011. Nền tảng này đã phát triển nhanh chóng và trở thành một phần không thể thiếu trong cuộc sống hằng ngày

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 77/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

của mọi người. Trang mạng xã hội Google+ đã được tích hợp trực tiếp với YouTube và trình duyệt web Chrome, đặt nền
móng cho sự tương tác giữa người xem và người sáng tạo. Bên cạnh đó, năm 2011 đã xuất hiện nhiều thể loại nội dung
khác nhau bao gồm giải trí, hướng dẫn, vlog, gaming,... mở ra nhiều cơ hội cho những người sáng tạo nội dung trên
YouTube.
Tích hợp mạng xã hội: Năm 2015, sự bùng nổ của các nền tảng mạng xã hội như Facebook và Twitter cùng với sự tích hợp
của YouTube đã mang lại một lượng lớn người xem kênh. Bên cạnh đó sự phát triển của điện thoại thông minh và ứng
dụng di động đã làm đa dạng tệp người dùng YouTube. Cùng với sự phát triển của quảng cáo trực tuyến đã giúp nhiều
kênh YouTube thu hút nguồn đầu tư bởi các công ty quảng cáo từ đó tạo được nguồn thu nhập ổn định, thúc đẩy nhiều
kênh YouTube ra đời ở giai đoạn này và xem đây như một nghề hái ra tiền.

11. Xu hướng sáng tạo nội dung theo thời gian của các kênh?
In [172… top_cnt_channel_by_year = youtube.groupby(['Created Year', 'Category'])['Youtuber'].count().reset_index().sort_values
top_cnt_channel_by_year.reset_index(drop= True, inplace=True)
top_cnt_channel_by_year

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 78/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[172]: Created Year Category Youtuber

0 2005 Music 9

1 2006 Entertainment 22

2 2007 Music 17

3 2008 Music 15

4 2009 Music 24

5 2010 Music 18

6 2011 Music 23

7 2012 Music 18

8 2013 Entertainment 19

9 2014 Entertainment 18

10 2015 Entertainment 25

11 2016 People & Blogs 17

12 2017 People & Blogs 19

13 2018 Entertainment 10

14 2019 Other 10

15 2020 Entertainment 8

16 2021 People & Blogs 7

17 2022 Entertainment 2

In [173… plt.figure(figsize= (12,6))


sb.barplot(data = top_cnt_channel_by_year, x = 'Created Year', y = 'Youtuber', hue = 'Category', dodge=False, palette
plt.title('Top Cateogry Channel by Year', fontweight = 'heavy', fontsize = 18)
plt.xlabel('Created Year', fontweight = 'heavy', fontsize = 12)
plt.ylabel('Count', fontweight = 'heavy', fontsize = 12)
plt.xticks(rotation = 0, ha = 'center')
sb.despine(left=True, bottom=True)
plt.grid(axis = 'y', linestyle ='--')
plt.show()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 79/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

In [174… youtube[((youtube['Created Year'] >2012) & (youtube['Created Year'] <2016)) & (youtube['Category'] == 'Entertainment

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 80/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[174]: Gross
Lowest Highest Tertiary
Unemploym
Youtuber Subscribers Video Views Uploads Category Country Abbreviation Monthly Monthly Education
R
Earnings Earnings Enrollment
(%)

United
32 Marshmello 56400000 14696003229 436 Entertainment US 28000.0 448400.0 88.2 14
States

51 Voc 44700000 7828610828 1558 Entertainment Brazil BR 12000.0 192100.0 51.3 12

88 one31 37500000 27262462114 117152 Entertainment Thailand TH 35200.0 563000.0 49.3 0

Saregama
100 35500000 15657673422 7566 Entertainment India IN 133400.0 2100000.0 28.1 5
Music

Ryan's United
105 35200000 55299840198 2453 Entertainment US 59700.0 954500.0 88.2 14
World States

119 Ch3Thailand 33500000 29611914495 96214 Entertainment Thailand TH 0.0 0.0 49.3 0

147 TheDonato 31200000 6187804950 3027 Entertainment Argentina AR 47700.0 762700.0 90.0 9

154 AH 30400000 4332274962 2197 Entertainment Indonesia ID 5400.0 85800.0 36.3 4

United
168 Zhong 29200000 14727238483 1513 Entertainment US 0.0 0.0 88.2 14
States

Dushyant
193 27100000 17318452893 889 Entertainment India IN 107400.0 1700000.0 28.1 5
kukreja

 

Nhận xét:

Danh mục Music và Entertainment là hai danh mục dẫn đầu xu hướng sáng tạo nội dung của các kênh YouTube thành
công nhất khi góp mặt trong 14 trên 18 năm hình thành và phát triển của nền tảng này.
Chúng ta dễ dàng thấy được xu hướng thành lập kênh chuyển đổi rõ rệch từ lĩnh vực âm nhạc sang giải trí. Cụ thể:
Giai đoạn từ 2007 - 2012: Xu hướng sáng tạo kênh tập trung vào hạng mục âm nhạc. Ở giai đoạn này, khi sự bùng nổ của
Internet đang diễn ra, âm nhạc cũng phát triển nhanh chóng từ các hình thức đĩa, băng hình sang các nền tảng nghe nhạc
trực tuyến như itunes của Apple vào năm 2003, hay Spotify vào năm 2006. Và năm 2005, YouTube ra đời như một bước
ngoặc lịch sử của ngành âm nhạc, nơi mà mọi người có thể tận hưởng những video theo nhu cầu tìm kiếm của mỗi cá

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 81/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

nhân ở bất kì nơi nào có kết nối Internet. Một chiếc video với cả âm thanh lẫn hình ảnh nhưng không tính phí người dùng
từ YouTube đang canh tranh trực tiếp với những nền tảng nghe nhạc trước đó.
Giai đoạn từ 2013 - 2022: Xu hướng sáng tạo kênh chủ yếu tập trung vào danh mục Entertainment mặc dù không độc tôn
như giai đoạn xu hướng âm nhạc trước đó. Ba năm tiếp theo của giai đoạn xu hướng âm nhạc phát triển, YouTube đang
dần trở nên phổ biến. Người dùng ngày càng tăng cao thúc đẩy sự sáng tạo kênh trên nền tảng này không chỉ dừng lại ở
việc phát triển âm nhạc. Giải trí nổi lên như một nhu cầu thiết yếu đối với đời sống hằng ngày của con người. Sự phát triển
mạnh mẽ của nội dung giải trí trên nền tảng YouTube từ năm 2013 và đạt đỉnh điểm số lượng kênh thành công vào năm
2015.
Càng về sau, xu hướng người dùng ngày càng đa dạng hơn. Trong giai đoạn xu hương giải trí đang phát triển mạnh mẽ thì
chủ đề People & Blogs xuất hiện như một trào lưu. Vào năm 20016 - 2017, giai đoạn phát triển của các mạng xã hội và tích
hợp video đã thúc đẩy sự phát triển của các kênh mang nội dung People & Blogs. Những nội dung về cuộc sống hằng
ngày, vlogs và các cuộc trò chuyện cá nhân đã thu hút được hàng triệu lượt xem và người theo dõi trên toàn thế giới.

12. Khả năng sinh lời trung bình theo tháng ở từng danh mục như thế nào?
In [175… potentially_lucrative = youtube[['Category', 'Lowest Monthly Earnings', 'Highest Monthly Earnings']]
potentially_lucrative.sample(5)

Out[175]: Category Lowest Monthly Earnings Highest Monthly Earnings

830 People & Blogs 261.0 4200.0

36 Education 204000.0 3300000.0

194 Howto & Style 125700.0 2000000.0

478 People & Blogs 12900.0 206700.0

459 Entertainment 0.0 0.0

In [176… potentially_lucrative['Average Monthly Earnings'] = (potentially_lucrative['Lowest Monthly Earnings'] + potentially_l


potentially_lucrative.sample(5)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 82/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[176]: Category Lowest Monthly Earnings Highest Monthly Earnings Average Monthly Earnings

757 Music 15700.0 250600.0 133150.0

117 Film & Animation 28900.0 463200.0 246050.0

13 Howto & Style 0.0 0.0 0.0

419 Entertainment 4300.0 69000.0 36650.0

427 Entertainment 27000.0 432000.0 229500.0

In [177… category_avg_earnings = potentially_lucrative.groupby('Category')['Average Monthly Earnings'].mean().reset_index()


category_avg_earnings['Average Monthly Earnings (1000$)'] = (category_avg_earnings['Average Monthly Earnings'] /1000)
category_avg_earnings.sort_values(by= 'Average Monthly Earnings (1000$)', ascending= False, inplace= True)
category_avg_earnings.reset_index(drop = True, inplace= True)
category_avg_earnings

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 83/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[177]: Category Average Monthly Earnings Average Monthly Earnings (1000$)

0 Shows 1.239268e+06 1239

1 Other 6.365854e+05 636

2 Autos & Vehicles 5.773250e+05 577

3 Sports 4.285000e+05 428

4 Pets & Animals 4.222039e+05 422

5 Film & Animation 3.924375e+05 392

6 Education 3.766251e+05 376

7 Comedy 3.550899e+05 355

8 News & Politics 3.414123e+05 341

9 Entertainment 3.384038e+05 338

10 People & Blogs 2.980894e+05 298

11 Music 2.963804e+05 296

12 Movies 2.415500e+05 241

13 Nonprofits & Activism 2.074000e+05 207

14 Trailers 1.922500e+05 192

15 Gaming 1.440938e+05 144

16 Science & Technology 1.073393e+05 107

17 Howto & Style 1.024930e+05 102

18 Travel & Events 6.590000e+04 65

In [178… plt.figure(figsize=(12,8))
sb.barplot(data= category_avg_earnings, x = 'Category', y = 'Average Monthly Earnings (1000$)', palette= youtube_colo
plt.title('Average Monthly Earnings by Channel Category', fontweight = 'heavy', fontsize = 16)
sb.despine(left=True, bottom=True)
plt.grid(axis = 'y', linestyle ='--')
plt.xlabel('Channel Category', fontweight = 'heavy', fontsize = 12)
plt.ylabel('Average Monthly Earnings (1000$)', fontweight = 'heavy', fontsize = 12)

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 84/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

plt.xticks(rotation = 75)
plt.show()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 85/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 86/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Nhận xét?

Một số kênh không xác định được danh mục có thu nhập trung bình hàng tháng đúng vị trí thứ 2 trên bảng xếp hạng. Đây là
một ngoại lệ được tạo ra do thiếu dữ liệu danh mục. Nó không ảnh hưởng quá nhiều đến các danh mục khác khi chỉ chiếm
khoảng 3% dữ liệu nên có thể xem xét bỏ qua khi đề cập trong phân tích biểu đồ trên.
Show là danh mục nổi bật nhất về khả năng kiếm tiền của kênh khi đứng vị trí thứ nhất với trung bình một tháng hơn 1,2
triệu đô. Con số này bỏ xa hơn gấp đôi so với danh mục liền kề. Đặc thù của các Show là có khả năng hợp tác với những công
ty sản xuất hoặc đối tác thương mại khác để tạo ra nội dung quảng cáo, từ đó thu hút được sự tài trợ từ các bên thứ ba giúp
gia tăng đáng kể nguồn thu nhập.
Mặc dù các phân tích trước đây chỉ ra rằng Music và Entertainment là những danh mục phổ biến hàng đầu, nhưng điều
đáng ngạc nhiên là chúng lại nằm ở mức trung bình đến thấp hơn khi xét về khả năng thu nhập. Sự khác biệt này đặt ra câu
hỏi về mối quan hệ giữa lượng người xem, mức độ phổ biến và tiềm năng doanh thu trên nên tảng này, một kênh YouTube có
thu nhập cao không nhất thiết phụ thuộc vào lượt xem của người dùng mà có thể đến từ đa dạng các nguồn thu nhập khác.

13. Có phải lượt xem càng cao sẽ tạo ra nguồn thu nhập trên kênh càng cao không?
In [180… #Select 4 columns (Youtuber, Video Views, Lowest Monthly Earnings and Highest Monthly Earnings)
views_earnings = youtube[['Youtuber', 'Video Views', 'Lowest Monthly Earnings', 'Highest Monthly Earnings']]

#Add column Avg for Earnings


views_earnings['Average Monthly Earnings'] = (views_earnings['Lowest Monthly Earnings'] + views_earnings['Highest Mon

#Change the unit of Earnings (1000$)


views_earnings['Average Monthly Earnings (1000$)'] = (views_earnings['Average Monthly Earnings'] /1000).astype('int')

#Change the unit of Video Views (billion)


views_earnings['Video Views (billion)'] = (views_earnings['Video Views'] /1000000000).astype('int')

#Select final column


views_earnings = views_earnings[['Youtuber', 'Video Views (billion)', 'Average Monthly Earnings (1000$)']]

#Show statistics table


views_earnings.head()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 87/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Out[180]: Youtuber Video Views (billion) Average Monthly Earnings (1000$)

0 T-Series 228 4782

1 MrBeast 28 2868

2 Cocomelon - Nursery Rhymes 164 4196

3 SET India 148 3877

4 Kids Diana Show 93 1541

In [181… # Calculate the correlation coefficient


correlation = views_earnings['Average Monthly Earnings (1000$)'].corr(views_earnings['Video Views (billion)'])

In [182… #Edit chart


sb.set_style("whitegrid",{'axes.grid' : False})
plt.figure(figsize=(10,8))
sb.scatterplot(data = views_earnings, x = 'Average Monthly Earnings (1000$)', y = 'Video Views (billion)', color = 'g
plt.title('Correlation between Video Views & Average Monthly Earnings', fontsize = 16, fontweight = 'heavy')
plt.xlabel('Average Monthly Earning (1000$)', fontsize = 12, fontweight = 'heavy')
plt.ylabel('Video Views (billion)', fontsize = 12, fontweight = 'heavy')

sb.despine(left=False, bottom=False)
plt.grid(axis = 'y', linestyle ='')
# Note correlation
plt.annotate(f'Correlation: {correlation:.2f}',
xy = (0.85, 0.01),
xycoords = 'axes fraction',
fontsize = 10,
weight = 'bold')
plt.show()

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 88/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 89/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Nhận xét:

Mặc dù có mối quan hệ tích cực nhưng sự tương quan không quá mạnh mẽ. Điều này cho thấy rằng chỉ với lượt xem cao sẽ
không đảm bảo được nguồn thu nhập cao tương ứng. Một số yếu tố khác bao gồm: thời lượng video, sự tương tác của người
dùng hoặc vị trị đặt quảng cáo có thể sẽ ảnh hướng đến doanh thu của kênh.
Chất lượng của video có thể quan trọng hơn số lượng tuyệt đối (ví dụ: tỷ lệ giữ chân người xem, tỷ lệ nhấp vào quảng cáo,..).
Những kênh tập trung vào việc tạo nội dung hấp dẫn, chất lượng cao để thu hút được các người dùng trung thành có thể
mang về thu nhập trung bình tháng cao hơn ngay cả khi ít lượt xem hơn.
Mối tương quan này phần nào củng cố luận điểm trước đó rằng các kênh YouTube thành công có thể có đa dạng nguồn
doanh thu. Doanh thu từ bán hàng hóa, nội dung được tài trợ, tiếp thị liên kết và đóng góp của người hâm mộ. Điều này khiến
họ ít phụ thuộc hơn vào doanh thu quảng cáo truyền thống hoặc doanh thu từ lượt xem của người dùng.

6. Conclusion
Có rất nhiều yếu tố quyết định đến sự thành công của một kênh YouTube, trong khi đó bài phân tích này chỉ dựa trên các biến số
đã được cung cấp, cần có nhiều thông tin hơn về mặt dữ liệu để có thể đưa ra những cái nhìn sâu sắc và hữu ích hơn cho những
người đang muốn tiếp cận nền tảng này.
Một số yếu tố quyết định sự thành công của một kênh YouTube và các xu hướng chính có thể rút ra từ bộ dữ liệu này như sau:

Những yếu tố quyết định sự thành công:


Lượng người theo dõi trung thành: Những kênh YouTube có bộ phận người đăng ký mạnh mẽ sẽ có xu hướng thu
hút được nhiều lượt xem video hơn. Việc xây dựng được một cơ sở người đăng ký trung thành cần phải mất nhiều thời
gian cũng như độ hiệu quả từ những nội dung mà người sáng tạo kênh mang lại. Đó là lí do vì sao các kênh YouTube
được xây dựng trong những mốc thời gian quan trọng lại có sự thành công. Tổng thể là cả một quá trình kiên trì và sáng
tạo không ngừng.
Lựa chọn nội dung phù hợp: Các danh mục Entertainment, Music, Gaming hay Comedy chiếm ưu thế về mức độ phổ
biến. Các kênh sáng tạo nội dung từ những danh mục này thường thu hút được người xem hơn đặc biệt là về giải trí và
âm nhạc. Trong khi đó Education và How to & Style là hai danh mục luôn có chỗ đứng tương đối trên bảng xếp hạng mặc
dù không quá cao nhưng cũng đủ để cho thấy rằng mức độ cần thiết của những kênh truyền tải hai nội dung này đối với
mọi người. Show là danh mục có tỷ lệ xem trên mỗi người đăng ký cao nhất, đây cũng ngụ ý về số lượng người theo dõi
trung thành của kênh và nội dung chất lượng cao. Tuy nhiên, có thể thấy được một số danh mục mang những nội dung có

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 90/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

tính lan truyền hoặc thân thiện với việc tìm kiếm đang không thực sự hiệu quả khi chỉ thu hút về lượt xem không bền
vững, điển hình là danh mục Travel & Events.
Nguồn thu nhập không chỉ phụ thuộc vào lượt xem: Mặc dù lượt xem có sự tương quan tích cực với thu nhập
nhưng mối quan hệ này không thực sự mạnh mẽ. Thu nhập của kênh có thể phụ thuộc vào một số yếu tố nhưng mức độ
tương tác, thời lượng video hay vị trí đặt quảng cáo, đây là những hạn chế của tập dữ liệu này khi không thể hiện được,
phần nào gây khó xác định đâu mới là nguồn thu nhập hiệu quả từ nền tảng. Nhưng nhìn chung với những gì chúng ta
đang có, Show đang là danh mục mang lại cơ hội kiếm tiền đáng kể, mặc dù âm nhạc và giải trí có độ phổ biến hơn.
Chất lượng hơn số lượng: Như một phân tích phía trên cho thấy việc tải lên nhiều video không thực sự thu lại được
nhiều lượt theo dõi cũng như lượt xem tương ứng. Những YouTuber hàng đầu luôn ưu tiên tập trung vào chất lượng nội
dung video vì nội dung là yếu tố quan trọng nhất. Video phải cung cấp giá trị cho người xem. Phải hấp dẫn và thú vị thì
mới có thể thúc đẩy sự tương tác và thỏa mãn nhu cầu của đối tượng mục tiêu.
Tính nhất quán: Luôn có sự liên kết chắt chẽ giữa nội dung video, danh mục kênh và tên của kênh. Sự liên kết này
giúp người xem dễ dàng tìm thấy nội dung mà mình cần. Điều này tăng khả năng đề suất khi có một lượt tìm kiếm nào
đó, giúp kênh tiếp cận với người dùng một cách rộng rãi.
Xu hướng của người dùng qua những kênh YouTube thành công nhất:
Trong quá khứ, giai đoạn nửa đầu của lịch sử phát triển nền tảng YouTube, Music là xu hướng chính của người dùng khi
kéo dài 6 năm liên tục (từ 2007 đến 2012). Từ giai đoạn nửa sau đến nay, xu hướng của người dùng đã có sự chuyển dịch
dần về các nội dung giải trí nhiều hơn, điển hình là Entertainment.
Âm nhạc và giải trí là hiện đang là hai danh mục phổ biến nhất trên nền tảng (luôn dẫn đầu về số người theo dõi và lượt
xem). Tuy nhiên, danh mục Show lại có tần suất xem của người dùng thông qua số lượt xem trên mỗi người đăng ký
chiếm vị trí đầu bảng. Điều này cho thấy Show hiện đang có những nội dung thu hút được những khách hàng tiềm năng,
những người mang đến khả năng xem lại các nội dung trên kênh.
Có thể thấy được điểm chung của cả 3 danh mục kể trên đều đang tạo ra xu hướng giải trí đa dạng cho người dùng.

Một số đề suất cho việc xây dựng một kênh YouTube hiệu quả trong tương lai:

Xác định nội dung và xây dựng nhóm người dùng phù hợp: Thế giới ngày càng phát triển, các chủ đề ngày càng đa
dạng, việc tìm một nội dung phù hợp với khả năng sáng tạo của mình từ đó xác định được tệp đối tượng có liên quan là bước
đầu tiên khi bước chân vào nền tảng này.
Nội dung chất lượng: Như đã đề cập xuyên suốt bài phân tích, nội dung luôn là yếu tố được đặt lên hàng đầu. Một kênh
có những video hấp dẫn và đáp ứng nhu cầu của người xem sẽ có khả năng chuyển hóa lượt xem thành lượt đăng kí.

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 91/92
22:26 05/11/2023 Global_YouTube_Statistics_Analysis_2023

Sự tương tác với người xem: Phản hồi bình luận, tương tác trên các mạng xã hội và tạo cộng đồng hỗ trợ là một phần
quan trọng trong việc xây dựng những người theo dõi trung thành.
Chia sẽ trên nhiều nền tảng có liên kết: Thông qua một số nền tảng khác được lên kết với YouTube, việc chia sẽ
video và nội dung (lịch phát hành, video demo, teaser,..) lên các trang mạng xã hội có thể giúp tăng khả năng nhận diện và
tiếp cận các đối tượng mục tiêu.
SEO (Search Engine Optimization): Tối ưu hóa cả nội dung video và mô tả để tăng khả năng xuất hiện trong các kết
quả tìm kiếm trên YouTube.
Xây dựng thương hiệu cá nhân: Liên tục cập nhật và bổ sung các kiến thức cần thiết để phát triển chuyên sâu về nội
dung chính mà kênh của mình đang khai thác. Cố gắng tận dụng khả năng sáng tạo của bản thân để tạo ra những nội dung
độc đáo, nổi bật so với các kênh khác.
Thời gian và sự kiên nhẫn: Xây dựng kênh và tạo ra một lượng lớn người dùng trung thành là một quá trình lâu dài. Sự
kiên trì, nỗ lực không ngừng để bắt kịp xu hướng của thời đại là một điều mà bất cứ YouTuber nào cũng cần phải có.

localhost:8890/nbconvert/html/Global_YouTube_Statistics_Analysis_2023.ipynb?download=false 92/92

You might also like