Youtuber Light Guidance

For you who want to reach high demand videos

Ekaprana Danian

2021-02-19


Intorduction

Description

YouTube adalah sebuah situs web berbagi video yang dibuat oleh tiga mantan karyawan PayPal pada Februari 2005. Situs web ini memungkinkan pengguna mengunggah, menonton, dan berbagi video.[8] Perusahaan ini berkantor pusat di San Bruno, California, dan memakai teknologi Adobe Flash Video dan HTML5 untuk menampilkan berbagai macam konten video buatan pengguna/kreator, termasuk klip film, klip TV, dan video musik. Selain itu, konten amatir seperti blog video, video orisinal pendek, dan video pendidikan juga ada dalam situs ini. [https://id.wikipedia.org/wiki/YouTube]

Objective

Dalam reporting kali ini akan dilakukan beberapa analisa dari sebuah data frame yang telah ada untuk menunjukan kesimpulan-kesimpulan yang diharapkan dapat bermanfaat bagi para pembuat video yang ingin mengunggah videonya ke platfform youtube.

Data Preparation

Read Data

vids <- read.csv("USvideos.csv")

Dari data yang telah kita read kita ingin melihat 3 data teratas dan terbawah dari data yang akan kita gunakan

head(vids, 3)
tail(vids, 3)

Data Inspection

Pada tahapan ini kita akan melihat type data dari masing-masing variabel apakah sudah sesuai atau belum

str(vids)
## 'data.frame':    13400 obs. of  12 variables:
##  $ trending_date         : chr  "17.14.11" "17.14.11" "17.14.11" "17.14.11" ...
##  $ title                 : chr  "WE WANT TO TALK ABOUT OUR MARRIAGE" "The Trump Presidency: Last Week Tonight with John Oliver (HBO)" "Racist Superman | Rudy Mancuso, King Bach & Lele Pons" "Nickelback Lyrics: Real or Fake?" ...
##  $ channel_title         : chr  "CaseyNeistat" "LastWeekTonight" "Rudy Mancuso" "Good Mythical Morning" ...
##  $ category_id           : int  22 24 23 24 24 28 24 28 1 25 ...
##  $ publish_time          : chr  "2017-11-13T17:13:01.000Z" "2017-11-13T07:30:00.000Z" "2017-11-12T19:05:24.000Z" "2017-11-13T11:00:04.000Z" ...
##  $ views                 : int  748374 2418783 3191434 343168 2095731 119180 2103417 817732 826059 256426 ...
##  $ likes                 : int  57527 97185 146033 10172 132235 9763 15993 23663 3543 12654 ...
##  $ dislikes              : int  2966 6146 5339 666 1989 511 2445 778 119 1363 ...
##  $ comment_count         : int  15954 12703 8181 2146 17518 1434 1970 3432 340 2368 ...
##  $ comments_disabled     : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ ratings_disabled      : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ video_error_or_removed: logi  FALSE FALSE FALSE FALSE FALSE FALSE ...

Berdasarkan penjelasan diatas kita mengetahui massih terdapat data yang belum sesuai tipenya seperti

  • publish time
  • trending date
  • category_id
  • channel_title

Oleh karena itu kita akan coba merubah tipe data diatas agar sesuai dengan tahapan sebagai berikut

# mengubah kolom publish date dan trending date menggunakan function lubridate

library(lubridate)

vids$trending_date <- ydm(vids$trending_date)

vids$publish_time <- vids$publish_time <- ymd_hms(vids$publish_time,tz = "America/New_York")

head(vids)
# mengubah kolom category_id dan channel_title menjadi tipe data factor

vids$category_id <- as.factor(vids$category_id)

vids$channel_title <- as.factor(vids$channel_title)

head(vids)
# Memasukan label untuk Category_id dengan function `sapply()` dan `switch()`


vids$category_id <- sapply(X = as.character(vids$category_id), FUN = switch, 
                           "1" = "Film and Animation",
                           "2" = "Autos and Vehicles", 
                           "10" = "Music", 
                           "15" = "Pets and Animals", 
                           "17" = "Sports",
                           "19" = "Travel and Events", 
                           "20" = "Gaming", 
                           "22" = "People and Blogs", 
                           "23" = "Comedy",
                           "24" = "Entertainment", 
                           "25" = "News and Politics",
                           "26" = "Howto and Style", 
                           "27" = "Education",
                           "28" = "Science and Technology", 
                           "29" = "Nonprofit and Activism",
                           "43" = "Shows")



head(vids)
vids$category_id <- as.factor(vids$category_id)

head(vids)

Membuat function untuk mengkategorikan waktu tayang dari masing-masing video

library(lubridate)

vids$publish_hour <- hour(vids$publish_time)

convert_hour <- function(x){
    if(x < 8){
      x <- "12am to 8am" # Untuk video dengan publish_hour antara tengah malam hingga jam 8 pagi
    }else 
      if(x >= 8 & x < 16){
      x <- "8am to 3pm" # untuk video antara jam 8 pagi hingga jam 3 sore
    } else{
      x <- "3pm to 12am" # untuk video antara jam 3 sore sampai tengah malam
    }  
}

12
## [1] 12
x12 <- convert_hour(12)
x12
## [1] "8am to 3pm"

function convert_hour() hanya menerima 1 input, sedangkan vids$publish_hour adalah vektor yang berisi banyak angka sehingga yang diubah menjadi kategori hanya observasi pertama saja.

Sehingga kita perlu menggunakan function sapply() untuk menerapkan 1 function ke semua observasi atau data.

vids$publish_when <- sapply (X= vids$publish_hour, FUN = convert_hour)

vids

mengubah variabel publish when menjadi tipe data faktor

vids$publish_when <- as.factor(vids$publish_when)
head(vids)

Check NA value

Sebelum menggunakan data kita akan memeriksa terlebih dahulu apakah terdapat missing value dalam data kita sebagai berikut

colSums(is.na(vids))
##          trending_date                  title          channel_title 
##                      0                      0                      0 
##            category_id           publish_time                  views 
##                      0                      0                      0 
##                  likes               dislikes          comment_count 
##                      0                      0                      0 
##      comments_disabled       ratings_disabled video_error_or_removed 
##                      0                      0                      0 
##           publish_hour           publish_when 
##                      0                      0
head(vids)

Hasil diatas menunjukan tidak adanya NA dalam data kita sehingga bisa kita lanjutkan untuk proses Data Explanation

Data Explanation

Langkah pertama yang akan kita lakukan dalam penjelasan data adalah membuat summary

summary(vids)
##  trending_date           title                  channel_title  
##  Min.   :2017-11-14   Length:13400       NFL           :   67  
##  1st Qu.:2017-11-30   Class :character   Refinery29    :   67  
##  Median :2017-12-17   Mode  :character   Vox           :   67  
##  Mean   :2017-12-17                      First We Feast:   66  
##  3rd Qu.:2018-01-03                      ESPN          :   64  
##  Max.   :2018-01-21                      NBA           :   63  
##                                          (Other)       :13006  
##             category_id    publish_time                     views          
##  Entertainment    :3185   Min.   :2008-04-05 14:22:40   Min.   :      687  
##  Music            :2021   1st Qu.:2017-11-25 15:52:30   1st Qu.:    91096  
##  Howto and Style  :1262   Median :2017-12-12 21:23:04   Median :   309796  
##  Comedy           :1215   Mean   :2017-11-18 13:46:37   Mean   :  1234583  
##  People and Blogs :1076   3rd Qu.:2017-12-27 09:00:03   3rd Qu.:   996668  
##  News and Politics:1073   Max.   :2018-01-21 00:44:30   Max.   :149376127  
##  (Other)          :3568                                                    
##      likes            dislikes       comment_count       comments_disabled
##  Min.   :      0   Min.   :      0   Min.   :      0.0   Mode :logical    
##  1st Qu.:   1987   1st Qu.:     85   1st Qu.:    283.8   FALSE:13172      
##  Median :   8907   Median :    322   Median :   1017.5   TRUE :228        
##  Mean   :  45662   Mean   :   3352   Mean   :   5982.4                    
##  3rd Qu.:  29376   3rd Qu.:   1113   3rd Qu.:   3362.2                    
##  Max.   :3093544   Max.   :1674420   Max.   :1361580.0                    
##                                                                           
##  ratings_disabled video_error_or_removed  publish_hour        publish_when 
##  Mode :logical    Mode :logical          Min.   : 0.00   12am to 8am:2392  
##  FALSE:13341      FALSE:13399            1st Qu.: 9.00   3pm to 12am:3511  
##  TRUE :59         TRUE :1                Median :12.00   8am to 3pm :7497  
##                                          Mean   :11.99                     
##                                          3rd Qu.:16.00                     
##                                          Max.   :23.00                     
## 

Summary

  1. Trending date yang ditunjukkan oleh data dimulai pada tanggal 14 November 2017

  2. Emtertainment merupakan caategory yang paling diminati dengan jumlah viewer mencapai 3181 viewers

  3. Dari semua video yang terdapat di data ada sebanyak 228 yang melakukan disable comment

Trying to See Which Videos is more likable by the videos

graphics::barplot(xtabs(likes ~ category_id , vids))

Dari grafik diatas kita dapat melihat bahwa video musik yang paling banyak mendapatkan like dari para viewer

Data Manipulation & Transformation

  1. Channel youtube mana yang memiliki view paling sedikit
summary(vids$views)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##       687     91096    309796   1234583    996668 149376127

dari summary video diatas kita dapat melihat nilai views terendah berada pada pada angka 687

Berdasarkan informasi ini kita akan melihat channel video mana yang memliki angka view sebesar 687

vids [vids$views == 687,]

Answer : Channel youtube dengan viewer yang paling sedikit adalah GoDucksdotcom

  1. Dari kategori Entertainment mana video yang memiliki like terbanyak
Hehe <- vids[vids$category_id == "Entertainment",]

aggPRmax <- aggregate(formula = likes ~ category_id + title , data = Hehe, FUN = max)

aggPRmax <- aggPRmax[order(aggPRmax$like, decreasing =T),]

Answer : Judul video youtube dari kategori Entertainment yang memiliki likes terbanyak adalah YouTube Rewind: The Shape of 2017 | #YouTubeRewind

  1. Video mana yang memiliki views tertinggi dari masing-masing kategori dan waktu tayang
xtabs(views ~ publish_when + category_id ,vids)
##              category_id
## publish_when  Autos and Vehicles     Comedy  Education Entertainment
##   12am to 8am            2507893  155507300    6748914     572525040
##   3pm to 12am           41844474  471996505   14480532     948062797
##   8am to 3pm            45572487  745670893  239560302    3260412864
##              category_id
## publish_when  Film and Animation     Gaming Howto and Style      Music
##   12am to 8am           21285811    8687476       303200160 2444612260
##   3pm to 12am           61672191   51247723       178829268  888610634
##   8am to 3pm           983613906   99015944       436605938 2146265413
##              category_id
## publish_when  News and Politics Nonprofit and Activism People and Blogs
##   12am to 8am          59068306                  74868        204228818
##   3pm to 12am          79523276                  23634        396477234
##   8am to 3pm          175551410                 284865        193547511
##              category_id
## publish_when  Pets and Animals Science and Technology      Shows     Sports
##   12am to 8am         67980316               64388242          0   72590479
##   3pm to 12am         32937250              313547082    1751446  298413390
##   8am to 3pm          78929236              220104908          0   93579716
##              category_id
## publish_when  Travel and Events
##   12am to 8am           6975554
##   3pm to 12am          18674816
##   8am to 3pm           36224520
plot(xtabs(views ~ publish_when + category_id ,vids))

Answer : Berdasarkan informasi yang di dapat diatas dapat disimpulkan bahwa viewers terbanyak didapat dari kategori Entertainment pada jam 8 am ke 3 pm

  1. berapa banyak comment yang diberikan viewer untuk seluruh video youtube yang menjadi trend dari tanggal 14 November 2011 sampai dengan tanggal 21 Januari 2018
sum(vids$comment_count)
## [1] 80164624

Answer : comment yang ada adalah sebanyak 80,164,624

  1. Mencari rata-rata yang tertinggi comment count dari kategori video yang ada
aggPRmean <- aggregate(formula = comment_count ~ category_id, data = vids, FUN = mean)

aggPRmean <- aggPRmean[order(aggPRmean$comment_count, decreasing =T),]

Answer : Music

Conclusion

Video dengan kateogri sports memiliki angka views yang sangat sedikit, berdasarkan data diatas salah satu hal yang dimungkinkan video ini memiliki views yang rendah dikarenakan waktu tayang video ini tidak sesuai dengan waktu para penggemar olah raga terkait menghabiskan waktunya menonton youtube.

Dari kategori video Entertainment dapat kita lihat bahwa video yang menempati 6 posisi teratas dengan like terbanyak adalah video dengan konten yang berkaitan dengan kreatifitas gabungan video-video yang ada di youtube pada tahun tertentu, film yang sedang trending, dan juga video yanng berkaitan dengan permainan tantangan kreatif.

Bagi Youtube content maker yang ingin mendapatkan views banyak maka disarankan mengambil kategori video entertainment pada jam jam 8 am ke 3 pm

Jumlah comment dari data youtube yang kita miliki adalah 80,164,624, namun dari tidak semua kategori video mendapatkan jumlah comment yang sama. Diantara kateogri yang ada kategori Music, entertainment dan gaming memiliki nilai yang tertingi. Berdasarkan hal ini dimungkinan bahwa antusias dari viewer yang menonton video ini cukup tinggi sehingga ingin memberikan komentarnya agar terlibat dari sekedar hanya menonton video saja.