SHOWCASE: Twitter & Facebook Scraper

Standard

Using Twitter and Facebook API, we could extract information from Twitter easily, this project is to use R programming to extract the information from Twitter and Facebook – especially from Public Profile.

Twitter Scraper

  1. Sign up for Twitter API at https://apps.twitter.com/ and create an app
  2. Jot down ‘Key & Access Tokens’ Information
  3. Using the ROAuth / twitteR to obtain the information

library(ROAuth)
library(twitteR)
my_oauth consumer_key = “xxx”,
consumer_secret =”xxx”,
access_token = “xxx”,
access_secret = “xxx”)
#Specify KW and Search
tweets_search = searchTwitter(“Sherlock”, n=100)
#Convert to DF
tweets_df = twListToDF(tweets_search)

write.csv(tweets_df,”test.csv”)

## Ref: https://cran.r-project.org/web/packages/twitteR/twitteR.pdf

Facebook Scraper

  1. Sign up for Facebook API at https://developers.facebook.com/ and create an app
  2. Set website URL for the app (in basic setting) to ‘http://localhost:1410/’
  3. Jot down ‘App ID’ and ‘Secret’
  4. Using the Rfacebook to obtain the information

library(Rfacebook)
# OAUTH
# Create Facebook App > Add Platform = Web > URL = http://localhost:1410/
fb_oauth

# Use page name or get id from http://findmyfbid.com/
facebook_name = “singaporeair”

pagedat = getPage(facebook_name, token=fb_oauth, feed=T, n=200, since = “2016-12-01″)

write.csv(pagedat,”PagePost.csv”)

# get comments in specific post
postment = getPost(pagedat$id[1], token = fb_oauth)$comments

# Ref: https://cran.r-project.org/web/packages/Rfacebook/Rfacebook.pdf

More Project Showcase

If you would like to establish projects similar to above, please feel free to contact me.

gmailp.kanokkorn@gmail.com
linkedinKanokkorn Prasongthanakit

The rest of this blog (except the showcases above) was written in Thai as I intended this to be a personal journal.

Marketing Research vs. Data Analytics

Standard

ในงาน Marketing Research กับงาน Marketing Analytics นั้น จริงจะว่ามันคล้ายกันมากก็ได้ หรือจะมองว่ามันโคตรแตกต่างกันก็ได้ ในส่วนของความแตกต่าง หลักๆแล้วมันก็คือ แหล่งที่มาของข้อมูลแหละ ถ้าเป็นสาย Digital Analytics ก็มีพวกข้อมูลจาก Google Analytics หรือ tracking tools อื่นๆ ขณะที่สาย Marketing Research ก็จะได้ข้อมูลจากการทำ Primary Research เช่น Focus Group หรือ Questionnaire มากมาย

ท่ามกลางความแตกต่างเหล่านั้น จากประสบการณ์เราว่ามันก็มีคอนเซปหลักๆที่ประยุกต์ใช้ด้วยกันได้ทั้งคู่นะ

Focus at Objective

ก่อนที่เราจะทำ รีเสิช หรือดึงดาต้ามาอ่านจาก Google Analytics สิ่งที่สำคัญที่สุดคือ คำถามที่เราจะตั้ง ว่า “เราอยากรู้อะไรกันแน่” มันคือสิ่งแรกที่เราควรจะมี ก่อนที่จะเข้าไปหาดาต้า เพราะไม่งั้นแล้วหาไปหามา หลงทางจ้าาาาา…

การปักหมุด objectives ไว้สำคัญมาก เพราะมันคือเหตุผลที่ว่าทำไมเราถึงต้องทำ research / analysis อันนี้  แล้วเราก็ค่อยขุดๆๆๆๆ หา assumption หาหลักฐาน หาอะไรสนับสนุน เพื่อที่จะตอบโจทย์มัน เพราะสิ่งหลักๆแล้วคือ เวลาเราเจอดาต้า บู้ม เรากลายเป็นโกโก้ครั้นช์ค่ะ ถ้าสายรีเสิชเจอคำถามไป 60 ข้อ “หนูนี่ไม่รู้จะเลือกอ่านอะไรก่อนเลยค่ะ” ส่วนถ้าสายดิจิตอล เข้า Google Analytics ไปเจอเป็นหมื่นสิ่ง (ซึ่งไม่รู้ set-up tag ถูกมั้ยอีกต่างหาก) “หนูนี่ก็มึนไปเลยค่ะ”

 

Data Analysis

หลังจากได้ดาต้าแล้ว สิ่งหลักๆที่เราใช้ในการวิเคราะห์ดาต้า ถ้าเป็นสายรีเสิช จะเรียกมันว่า “banner” และ “dummy” (ซึ่งบอกตรงๆใช้เวลาประมาณสองเดือน ในการเข้าใจว่ามันคืออะไร) แต่ถ้าเป็นสาย Digital / Analytics จะเรียกมันว่า “metrics” กับ “dimensions” ว่าแต่มันคืออะไรล่ะ?

เริ่มจากศัพท์แสงของสายรีเสิช

  • Dummy – มันคือตารางเปล่าๆ ตารางปลอมๆ ตามชื่อมันเลยค่ะ สิ่งนี้มันมีไว้ให้เรารู้ว่า เราต้องเอาแบบสอบถามข้อนี้ มา cross-tab กับข้อนี้นะ (คือเอาความถี่ในการกินขนม มาแตกดูตามกลุ่มย่อย เช่น แยกดูด้วยเพศ หรืออายุ) ลองดูตัวอย่างในรูปข้างล่างดู.. ซึ่งอีดัมมี่นี่ เรามีไว้เพื่อว่าเราจะได้ไปบริฟพวกพี่ๆ Programmer ที่เค้าจะรัน spss หรือโปรแกรมอะไรของเค้านั่นแหละ มาให้เรา (เพราะเราจะได้ไม่ต้องรันเอง)
    dummy.JPG
  • Banner – พูดตรงๆมันก็คือ “หัวตาราง” (ซึ่งตอนที่พี่เค้าสอนเรา ถึงกับหันไปมอง “นี่พี่ล้อหนูเล่นแน่ๆ หัวตารางคือไรคะ”) แต่นั่นแหละ มันคือคำอธิบายที่ชัดสุดล่ะ มันคืออีหัวของตารางเมื่อกี้นั่นแหละ ว่าเราจะเอาคอลัมน์อะไรใดๆบ้าง เหตุผลที่เราต้องทำอันนี้ไปให้เค้า เพราะว่าเค้าจะสามารถเซตโปรแกรมได้เลยว่า เออ ข้อ 1,2,7,8 แยก subgroup นี้นะ แล้วเค้าก็จะให้ดาต้าเรามาตามนั้น
    banner.JPG
    ประโยชน์อีกอย่างหนึ่งของอีแบนเนอร์นี่ คือการที่เราจะได้รู้ว่า เราจะเทียบ “sig” หรือ Significant Test ระหว่างกลุ่มไหนอะไรยังไง (เชื่อเหอะมันคือ common sense  แต่มันก็มีรายการรันผิดมาตลอดเวลา) รวมถึงเราสามารถเช็ค Base (หรือจำนวนคนตอบทั้งหมด) ได้ว่า เอ๊ะ ข้อนี้ผู้ชายควรตอบ 100 คน ทำไมมีแค่ 20 ล่ะ หรือ ข้อนี้ถามเฉพาะผู้หญิง ทำไมมีผู้ชายตอบมานะ
  • Sig (Significant Test) อันนี้ต้องย้อนกลับไป กาลครั้งหนึ่งนานมาแล้วในวิชา Stat ที่เราเคยเรียน H0 Null Hypothesis , H1 Alternate Hypothesis ว่ามันการเทียบระหว่าง population proportion, population mean, ฯลฯ แต่ช่างมันเหอะ 555 เราแพ้เลข เอาเป็นว่าเรารู้แค่ว่า ผลออกมาคือ “ในทางสถิติแล้ว ไอ่เลขที่เราเห็นว่ามันมากกว่าเนี่ย มันมากกว่าจริงๆ หรือมันมากกว่าเพราะอาจจะแค่สุ่มมาเจอนะ” ถ้ามันติด sig ก็แปลว่า มันควรจะมากกว่าจริงๆนี่แหละ
    ซึ่งค่าซิกนี้ มันจะขึ้นอยู่กับ ความแตกต่างของเลข และ Base (จำนวนคนตอบ) เพราะถ้าสมมุติมีคนตอบ 3 คน เราอาจจะไม่ค่อยมั่นใจในความซิกของเรามะ? (อ่านเพิ่มเติมเรื่องซิกที่นี่)

ไหนๆรู้จักสายรีเสิชแล้ว มารู้จักกับคำพูดที่ติดปากของสาย analytics ดีกว่า ซึ่งนั่นก็คือ metrics และ dimensions

  • Metrics – คือตัวเลข … เอาง่ายๆว่าเราอยากเห็นเลขอะไร เช่น จำนวน session (มีคนเข้าเว็บเรากี่ครั้ง) หรือ click หรือ revenue
  • Dimensions – คือ Category หรือถ้าพูดแบบรีเสิชเช่อ ก็คือแบนเนอร์นั่นแหละ เราแบ่งตามอะไร เช่น ชาย/หญิง คนที่เข้ามาจากทาง SEO /SEM / Facebook (หรือเรียกสั้นๆว่า channel) ฯลฯ

 

ดังนั้นถ้าเราจะมาเปรียบเทียบกันจริงๆ การเขียน dummy หรือ banner มันก็คือการหา dimensions ที่เราต้องการจะดูจากดาต้า และ metrics ก็คือค่าต่างๆที่เรารันลงไปในตาราง (และรันซิก) นั่นเอง และก็ย้อนกลับมาที่เดิมคือ ถ้าเรารู้ว่า objective เราคืออะไร เราก็จะสามารถบอก dimension / banner (กลุ่มย่อย) ที่เราอยากจะอ่าน และ metrics / คำถามที่เราอยากรู้ ได้นั่นเอง 🙂