5 สิ่งที่ได้เรียนรู้จากการเป็น data analyst 1 ปี

Him Apisit
2 min readDec 26, 2020

Intro

ผมเชื่อว่ามีหลายคนที่สนใจ หรือหลายคนที่อยากเข้ามาทำงานในสายงานนี้แต่อาจจะยังสับสนระหว่างหลายอาชีพที่ใกล้เคียงกัน data analyst เองก็มีหลายลักษณะในการทำงาน มันค่อนข้างกว้างพอสมควรซึ่งผมอยากลงรายละเอียดเล็กน้อยเพื่อความเข้าใจ ประสบการณ์ของผมอ้างอิงจากการทำงานใน Agoda เท่านั้น ของบริษัทอื่นอาจจะแตกต่างกันไปเล็กน้อย ลองไปดูใน job description อีกทีนะครับเพื่อความชัว

Photo by Wonderlane on Unsplash

3 types of data analyst

  1. Production Analyst
  2. Business Analyst
  3. Research Analyst

ทั้งสามอันด้านบนนี้ถูกเรียกว่าเป็น data analyst ด้วยกันทั้งหมดเพราะยังไงเราก็ต้องใช้ data เหมือนกันจุดที่เหมือนกันระหว่างทั้ง 3 อย่างก็คือต้องเขียน SQL ได้เพื่อนำข้อมูลมาใช้ แต่จุดประสงค์ของการนำข้อมูลมาใช้ หรือรูปแบบของการนำไปใช้จะบ่งบอกว่างานเป็นลักษณะไหน

Production Analyst จะเน้น process/automation/execution เขา/เธออาจเขียน query เพื่อ generate data ลงใน table, ทำ dashboard, investigate strange data/outlier/missing data, เป้าหมายคือการสร้าง data ที่ต้องการออกมาใช้งาน

Business Analyst สิ่งที่แตกต่างระหว่าง business analyst กับ production analyst คือจุดประสงค์ของการนำไปใช้ business analyst เริ่มต้นจากฝั่ง business ที่ต้องการหา insight อะไรบางอย่าง, investigate บาง issue ที่ตัวเองกำลังสนใจ นำโจทย์จากฝั่งธุรกิจมาหาข้อมูลจาก data ทำให้มันมีเหตุมีผล มีข้อมูลรองรับเพื่อนำกลับไปตัดสินใจในฝั่งธุรกิจอีกที

Research Analyst แตกต่างจากสองอันด้านบนตรงจุดที่จำเป็นต้องใช้ coding language ภาษาอื่นนอกจาก SQL เพื่อทำการวิเคราะห์ข้อมูลซึ่งเขาอาจจะใช้ machine learning, statistical model, mathematical model เพื่อบรรลุจุดประสงค์บางอย่าง/โจทย์บางอย่างที่มีความซับซ้อนมากยิ่งขึ้น

อย่างไรก็ตาม 3 ลักษณะงานด้านบนอาจซ้อนทับกันได้เมื่อคุณหรือแม้แต่ผมเองได้ลองไปทำงานก็ต้องดูว่าชอบแบบไหน แบบไหนเหมาะกับเราประกอบด้วย

มองหาวิธีที่ง่ายที่สุดในการทำ analysis/model, machine learning is not required

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

ผมเข้าใจว่าโจทย์ที่ซับซ้อนจำเป็นต้องใช้วิธีที่ซับซ้อนในการแก้ไข หลายครั้งมันเป็นแบบนั้นเนื่องด้วยข้อจำกัดบางอย่างเช่น เรามีข้อมูลไม่เพียงพอ หรือเราไม่มีวิธีการที่ตรงไปตรงมาในการหาสิ่งที่ต้องการ ความซับซ้อนมาพร้อมข้อจำกัดไม่ว่า metric ที่เราใช้วัดผลจะเป็นอย่างไร model ที่เราไม่เข้าใจแม้จะดูดีในตอนแรกแต่เมื่อเวลาผ่านไปสิ่งที่ model learn มาได้ก็อาจเปลี่ยนแปลงไปตามกาลเวลา

ปัญหาต่อมาของการสร้างสิ่งที่ซับซ้อนให้ใช้การได้คือเราต้องมีคนที่ทำมันเป็นจริงๆ ผมพบว่า manager ของผมมีประสบการณ์เยอะมากและเรียนจบป.เอก เขา qualify ที่จำดูแลทีมนี้ได้จริงไม่ใช่ newbie แบบผม

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

ที่เขียนมาทั้งหมดก็ไม่ใช่ว่าไม่เห็นด้วยกับการใช้ solution ที่มีความซับซ้อนแต่อย่างใด เพียงแต่จำเป็นต้องพิจารณาถึง context ต่างๆ ของงานที่เรากำลังทำอยู่ urgency ของ task ที่จำเป็นต้องทำออกมา และการนำไปใช้งานจริง บางอย่างไม่จำเป็นต้องสมบูรณ์แบบเพราะมันอาจจะเป็นแค่ pilot project/MVP

Quality Assurance is super important!!!

ผมช็อคไปเลยตอนทำ performance review หรือว่าการประเมินผลการทำงานรายครึ่งปีของตัวเอง ผมทำงานผิดมากที่สุดในทีม(ปล.ในทีมผมมีผมเป็น data analyst คนเดียว ที่เหลือถ้าไม่ใช่ data science ก็เป็นsenior data analyst) ซึ่งเป็นโอกาสที่ดีที่เราจะพัฒนาตัวเองขึ้นไปหามาตรฐานที่สูงมาก มันทำให้ผมได้นึกย้อนว่าตัวเองเป็นคนใจร้อนและไม่รอบคอบมากแค่ไหน ผมเป็นคนแบบนั้นมันเป็นสิ่งที่ผมคุ้นเคย การเปลี่ยนแปลงต้องใช้เวลามากทีเดียว

“Speed is not important if the work is wrong, better deliver correct analysis.”

นี่เป็นประโยคที่ manager บอกผมเอาไว้ว่างานเสร็จเร็วไม่สู้งานที่ถูกต้อง ส่วนใหญ่แล้วงานของผมเป็นงานที่ไม่เดือดเลย แต่ผมก็ยังทำผิดประจำไม่ว่าจะเป็น query หรือว่า python ซึ่งผมก็เซ็งทุกครั้งที่ทำผิด ตั้งแต่ตอนที่ผมเริ่มทำงานใหม่ๆ ผมไม่ตรวจงานตัวเองเลยทำเสร็จก็ส่ง ไม่ว่าจะเป็นจะกลัวตัวเองทำงานช้า หรืออยากให้งานจบๆ ไปจึงทำงานผิดบ่อยมาก

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

ตรวจอะไรได้บ้าง(อาจถามตัวเองว่า ทำไม…ถึงเป็นแบบนี้?)

  1. Raw data: ข้อมุลที่ดึงออกมาใช่ที่เราต้องการรึเปล่า? มี filter อะไรที่เราใช้และอันนี้คือสิ่งที่จะใช้จริงมั้ย?
  2. Distribution of interested metric: การแจกแจงของข้อมูลดังกล่าวดูมีเหตุมีผล เป็นไปได้จริงมั้ย หรือมีค่าอะไรที่ดูผิดปกติ
  3. Calculation: การคำนวนของเราถูกต้องตามสูตรมั้ย
  4. Extreme value: ค่าสถิติต่างๆ เป็นไปตามที่เราคาดคิดมั้ย หรือมีอะไรผิดปกติ น้อยเกิน มากเกิน หน่วยของมันถูกต้องมั้ย
  5. Missing value: ค่าที่หายไปเพราะเราดึงข้อมูลออกมาผิด สูตรการคำนวนผิด หรือว่าลืม process ข้อมูลอะไรบางอย่างรึเปล่า?
  6. Unit test: การทดสอบด้วย input และ output ที่เรารู้ผลลัพธ์อยู่แล้วเพื่อตรวจสอบว่า process ทั้งหมดที่เราทำหรือ function ที่เรา define ไว้คำนวนถูกต้องมั้ย?

“หัวใจของมันคือการเข้าใจว่า ทำไมมันถึงเป็นแบบนี้ เข้าใจรายละเอียดทำให้เราไม่พลาด” — my DS manager

Experience matter

ประสบการณ์เป็นอะไรที่มีผลอย่างมหาศาลต่อการทำความเข้าใจข้อมูล ทักษะ เทคนิค ความรอบคอบ ผมได้เห็นคนเก่งเยอะแยะในบริษัทที่สามารถคาดการณ์ผลลัพธ์ได้โดยที่ไม่จำเป็นต้องเขียน code เลย พวกเขามี background knowledge เก็บไว้ในใจอยู่แล้ว

มันน่าจะขึ้นอยู่กับคนและเรื่องด้วยว่าเรียนรู้ได้เร็วช้าแค่ไหน เช่นผมเองที่เรียนรู้เรื่องความรอบคอบได้ช้ามาก เรียนรู้เรื่องการเขียน code พอใช้ได้ เรียนรู้เรื่องการแก้ปัญหาให้ง่ายที่สุดได้ช้า

ประสบการณ์ทำให้รู้ว่าเมื่อเจอปัญหาแบบนี้ ควรพลิกแพลงอย่างไร แก้ไขอย่างไร ควรจะทำให้ง่ายที่สุดก่อนนะแล้วค่อยพัฒนาขึ้นเมื่อมันใช้การได้

ควรทดสอบสมมติฐานด้วยการทำการทดลองจริงเพื่อดูว่าลูกค้าได้ทำสิ่งที่เราอยากให้เขาทำมากขึ้นมั้ย เมื่อเราสร้างปัจจัยแวดล้อมให้แตกต่างกันระหว่างสองกลุ่ม ทดสอบสมมติฐานว่าไอเดียธุรกิจที่เราเชื่อว่าใช้การได้เมื่อทดลองทำ pilot project จริงแล้วมี feedback เป็นอย่างไร ลูกค้าสนใจมั้ย? ลูกค้ายินดีจ่ายเงินเพื่อมันมั้ย? หรือเราแค่มโนไปเองว่ามันดีแล้วก็อยากทำ

ประสบการณ์ทำให้สมองที่ฉลาดเฉียบคมยิ่งขึ้น ในขณะกลับกันการไม่เปิดใจรับสิ่งใหม่ก็ทำให้คุณตันได้เหมือนกัน ประสบการณ์ทำให้คุณเฉียบคมแต่การเปิดใจรับสิ่งใหม่ก็ทำให้คุณพร้อมเรียนรู้สูงขึ้นไปเรื่อยๆ

If there’s formula, there’s ways of analyzing it

ในการคำนวนต่างๆ เราประมวลผลข้อมูลผ่านสูตรบางอย่าง ไม่ว่าสูตรนั้นจะเป็นอะไรมันจะมีอะไรให้เราตรวจสอบอยู่เสมอ นอกจากการตรวจสอบแล้วเรายังสามารถที่จะใช้ค่าสถิติบางอย่างมาใส่ในสูตรได้ด้วย นั่นเชื่อมโยงกับการที่หัวหน้าผมสามารถบอกเลขที่เกิดจากการคำนวนได้โดยไม่ต้องเขียน code เช่น

ยอดขาย = ปริมาณ*ราคา

เราก็ไปหาค่าเฉลี่ยของปริมาณ และค่าเฉลี่ยของเราคามาแล้วก็ยัดใส่ในสูตรเราก็จะได้ค่าเฉลี่ยยอดขายออกมา วิธีคิดแบบนี้เป็นอะไรที่เจ๋งมากสำหรับผมมันเหมือนกับการแปลงการคำนวนแบบ static มาเป็นการคำนวนที่มีปัจจัยความไม่แน่นอนแทรกเข้ามาด้วย

ผมได้มีโอกาสทำ simulation ถึงแม้จะผิดเละเทะก็ตามทีแต่สิ่งที่ผมประทับใจคือการที่หัวหน้า proof ด้วย excel ในระยะเวลา 5 นาทีว่าผมทำผิดได้ยังไง เขาบอกว่า simulation เนี่ยเมื่อเรารู้การแจกแจงอยู่แล้ว หากเราทำการสุ่มหยิบข้อมูลออกมาซ้ำๆ การแจกแจงของข้อมูลต้องใกล้เคียงหรือเรียกได้ว่าเหมือนกันกับการแจกแจงตั้งต้นของเราสุดๆ ซึ่งผมลืมไปหมดแล้ว

Make sense!!!

อันนี้ยากสุดเลย ผมยอมรับเลยว่าพึ่งเข้าใจมันได้แค่นิดเดียวเอง คนส่วนใหญ่ใน Agoda มันจะพูดคำนี้กันบ่อยๆ ไม่ว่าจะเป็นฝั่ง business, strategy team, PO, analyst, Data Science หรือใครก็ตาม มันเป็นคำที่เมื่อใคร่ครวญด้วย logic แล้วพบว่ามันมีเหตุผล แต่ต้องมีวิธีคิด/ข้อมูลประกอบกันด้วยถึงจะเข้าใจว่าเกิดอะไรขึ้นในสถานการณ์ตอนนั้น

บางอย่างผมไม่รู้ด้วยซ้ำว่ามัน make sense ได้ยังไง บางอย่างต้องมาเขียนในกระดาษถึงจะตามได้ทันว่าเขาหมายความว่าอะไร เป็นโจทย์ที่ท้าทายมากว่าเรามีข้อมูลรองรับสิ่งที่เรากำลังพูดและมี logic ที่ดีมีเหตุผลในการตัดสินใจ/วิเคราะห์รึเปล่า

ผมพบว่า Data Science, Data Analyst ที่เป็นหัวหน้าผมมีความสามารถในการแปลตัวเลขที่คำนวนออกมาให้กลายเป็นภาษาคนได้เก่งมาก ผมหมายถึงเขาเข้าใจมันจนสามารถอธิบายได้ว่าเลขนี้หมายถึงอะไร นี่เป็นสิ่งที่ผมห่างไกลมาก แต่ท้าทายมากที่จะฝึกฝนต่อไป

--

--

Him Apisit

Data Scientist @ LMWN | Interested in Tech Startup, Data Analytics, Social Enterprise, Behavioral Economics, Strategy.