ก้าวแรกของการทำ Data Analytic เริ่มต้นง่ายๆ ด้วย Alteryx Designer

Jutarut Junchaiyapoom
3 min readApr 8, 2021

--

How can I predict how much a customer will spend?

ในบทความนี้เราจะมาลองทำ Data Analytic ง่ายๆ โดยใช้ Alteryx tools ในการช่วยเราทำนายว่าลูกค้าที่เข้ามาจะใช้จ่ายประมาณเท่าไหร่กันนะ

Alteryx Designer คืออะไร???

ก่อนที่เราจะเริ่มก้าวแรกกับการทำ Data Analytic ด้วย Alteryx ได้อย่างหัวข้อนั้น เราคงต้องเริ่มต้นทำความรู้จักกับ Alteryx Designer กันก่อน 😂

โลโก้ Software: Alteryx

Alteryx Designer เรียกได้ว่าเป็นโซลูชันด้านการจัดการข้อมูลแบบครบวงจร เนื่องจาก Alteryx มีทั้งเครื่องมือในการเตรียมข้อมูล (Data Preparation), การผสานรวมข้อมูล (Data Blending), การวิเคราะห์ข้อมูล (Data Analytics) และการวิเคราะห์เชิงทำนาย (Predictive Analytics) ซึ่ง Alteryx เนี่ยจะโดดเด่นมากทางด้านการทำ Data Preparation และ Data Blending

โดยลักษณะการใช้งานคือการ Drag and Drop เครื่องมือของ Alteryx ลงมาสร้างเป็น Diagram หรือที่เรียกกันว่า Workflow เพื่อทำเป็น Data Pipeline ในการจัดการกับข้อมูลด้วยเครื่องมือต่างๆ ในรูปแบบของ GUI ซึ่งช่วยให้ผู้ใช้งานไม่จำเป็นต้องเขียน code หรือมีความรู้เชิง technical มากนักก็สามารถใช้งานได้ แต่ Alteryx เองก็มาพร้อมกับฟังก์ชันรองรับนักโปรแกรมเมอร์ทั้งหลายด้วยการที่สามารถเขียน python/R เข้าไปที่ workflow ได้เช่นกัน เรียกว่าตอบโจทย์ผู้ใช้งานทั้งสองกลุ่มเลยทีเดียว

📣Download และติดตั้งได้ที่ https://www.alteryx.com/resources/product-support/download-alteryx

เริ่มต้นการทำนายว่าลูกค้าจะใช้จ่ายเท่าไหร่กันเลยดีกว่า

1️⃣ การจัดเตรียมข้อมูล (Prepare Data)

นำข้อมูลเข้ามาใน Alteryx ซึ่งในที่นี้เราแบ่งชุดข้อมูลเป็นสองส่วน
🔹 ส่วนแรกคือข้อมูลเริ่มต้นในการสร้างโมเดลเพื่อทำนาย
(Products Sold, Order Attribution, Customer Information)
🔹 ส่วนที่สองคือข้อมูลชุดใหม่สำหรับการนำมาเข้าโมเดลเพื่อทำนายผล
(Predicting New Customer’s Spend)

ตัวอย่างชุดข้อมูลสำหรับสร้างโมเดลและทำนายผล

◾️ นำข้อมูล Product Sold มา set data type และทำการ groupby OrderID และ sum Sales ด้วยเครื่องมือ Summarize เพื่อให้ได้ยอดรวมของแต่ละคำสั่งซื้อ (TotalOrdersales)
◾️ นำข้อมูล Order Attribution มา Filter เพื่อสนใจเฉพาะ TrafficSource = Display หรือก็คือสนใจเฉพาะ Order ที่เข้ามาดูแต่ยังไม่สั่งซื้อนั่นเอง
◾️ จากนั้นนำเครื่องมือ join มาเชื่อมระหว่างสองส่วนที่ทำไว้ด้านบนโดยเชื่อมกันด้วย OrderID เพื่อให้ทราบว่าลูกค้ารายใด ใช้เวลาในการเลือกซื้อผ่านช่องทางไหน ระยะเวลาเท่าไหร่ แล้วเกิดคำสั่งซื้อมูลค่ารวมกี่เป็นเท่าใดบ้าง

◾️ เพื่อหาเหตุผลในยอดการใช้จ่ายแต่ละครั้งมากยิ่งขึ้น จึงนำข้อมูล Customer Information มาวิเคราะห์ประกอบ โดยการ join ร่วมกับผลลัพธ์ที่ได้จากขั้นตอนก่อนหน้าด้วย CustomerID เพื่อนำผลลัพธ์ที่ได้ไปสร้างโมเดลในลำดับถัดไป

ผลลัพธ์ที่ได้หลังจากการรวมข้อมูล Product Sold,Order Attribution และ Customer Information เข้าด้วยกัน

2️⃣ การสร้างโมเดล (Create Model)

◾️ ใช้เครื่องมือ select ในการแปลง data type
◾️ จากนั้นใช้เครื่องมือ Create Samples ในการแบ่งข้อมูลออกเป็นส่วนของการ training set และ test set ซึ่งในที่นี้กำหนดให้ Estimation Sample (train set)= 80% และ Evaluation Sample (test set) = 20% 😃 แอบบอกว่าส่วนใหญ่ก็จะแบ่ง 80:20 หรือ 70:30 กันนะ

Training Set, Test Set คืออะไร สนใจอ่านเพิ่มเติมได้ที่ 👇🏼 https://www.bualabs.com/archives/532/what-is-training-set-why-train-test-split-training-set-validation-set-test-set/

◾️ ต่อมาเมื่อเราแบ่งชุดข้อมูลตัวอย่างได้แล้ว คราวนี้ก็ถึงคราวลองสร้างโมเดล
ซึ่ง Alteryx เองก็รองรับโมเดลหลากหลายมาก แต่ในที่นี้เราเริ่มต้นง่ายๆ ด้วยการเลือกใช้ Algorithm เป็น Linear Regression มาสร้างโมเดลกัน

◾️ ซึ่งการตั้งค่า Algorithm ก็แสนจะง่าย เพียงแค่ระบุ Target field ว่าต้องการทำนายข้อมูลอะไร (ในที่นี้คือ TotalOrderSales) และเลือก feature หรือคอลัมน์ที่เราคาดว่าน่าจะมีความสัมพันธ์กับเจ้า Target field ของเราเท่านั้นเอง

◾️ ซึ่งผลลัพธ์ที่จะได้หลังจากการใช้ Algorithm Linear Regression สามารถแบ่งได้ 3 ส่วน ดังต่อไปนี้

▪️ O (Output): แสดงชื่อ Model และขนาดของ object ที่เป็นผลลัพธ์
▪️ R (Report): แสดงรายงานสรุปของ Model ในส่วนของค่าทางสถิติพื้นฐาน, Coefficients, ANOVA Analysis และ Basic Diagnostic Plots
▪️ I (Interactive): แสดง Dashboard ที่รอบรับการดูแบบ Interactive และ Model exploration

ซึ่งสำหรับ Linear Regression ที่เลือกมานี้ ได้ผลลัพธ์ที่ออกมาดีเกินคาดเลย เนื่องจากเส้นสีส้มที่เป็นเส้นของสมการสำหรับทำนาย ค่อยข้าง fit กับจุดสีฟ้าที่แทนข้อมูลจริงที่กระจายอยู่ด้านหลัง

**ในกรณีที่เส้นไม่เป็นไปในทิศทางเดียวกับข้อมูล หรือดูแล้วไม่สอดคล้อง แนะนำให้ลองเพิ่ม/ลด Features ในการสร้าง Model แต่ถ้าผลลัพธ์ยังไม่ดีขึ้นแนะนำให้เปลี่ยน Algorithm เลย

Model Performance

3️⃣ การนำโมเดลไปใช้ทำนาย (Predictive)

◾️ นำข้อมูลชุดใหม่ที่เราสนใจเข้ามา โดยข้อมูลชุดนั้นควรมีรายละเอียด Features ทั้งหมดที่นำไปใช้สร้าง Model ครบถ้วนน เพื่อให้การประมวลผลมีความแม่นยำมากที่สุด
◾️ นำเครื่องมือ score มาใช้ในการแสดงค่าที่ Model ทำนายได้ โดย ต่อ สาย M เข้ากับข้อมูลชุดใหม่ที่ต้องการทำนายและต่อสาย O เข้ากับ Model ที่เราสร้างไว้ในขั้นตอนที่ 2 ดังภาพด้านล่าง

การแสดงค่าผลลัพธ์ที่ได้จากการทำนายของข้อมูลชุดใหม่

◾️ ซึ่งสามารถกำหนดชื่อ field ใหม่ที่แสดงผลลัพธ์ของการทำนายได้โดยการตั้งค่าที่เครื่องมือ score (ในที่นี้กำหนดให้ผลลัพธ์ที่ได้จากการทำนายชื่อ X) เพียงเท่านี้ก็สามารถหาคำตอบของคำถามที่ว่า “How can I predict how much a customer will spend?” ️ได้แล้ว

การตั้งค่าเครื่องมือ score และผลลัพธ์ที่ได้จากการทำนายของข้อมูลชุดใหม่

◾️ จากผลลัพธ์ที่ได้ สามารถส่งเป็นไฟล์ข้อมูล, นำไปสร้าง report หรือสร้างเป็น Visualization เพื่อนำเสนอแบบ Interactive ต่อไปได้อีกด้วย
◾️ ซึ่งในที่นี้ เราได้นำผลลัพธ์ที่ได้ save output เป็นไฟล์ .tde และนำไปสร้าง Dashboard ผ่าน Tableau จากนั้นทำการบันทึก และเมื่อมีการ run Workflow นี้กับข้อมูลชุดใหม่อีกครั้ง กราฟใน Tableau จะอัพเดทตามข้อมูลเป็นชุดล่าสุดที่ถูกส่งเข้าไปเรียกว่าสะดวกสบายและเป็นการทำ Data Analytic แบบ Full loop มากๆ

Dashboard Visualization ที่ถูกสร้างผ่าน Tableau

จากทั้งหมดที่เล่าไปเป็นตัวอย่างของการทำ Data Analytic ผ่าน Alteryx Designer และมีการนำ Tableau มาช่วยในการแสดงผลลัพธ์ด้วย อาจจะไม่ได้ลงรายละเอียดทุกเครื่องมือมากนัก เพราะกลัวว่าจะยาวมากจนไม่อยากอ่านกันต่อ 😓

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

📢Reference

--

--

Jutarut Junchaiyapoom
Jutarut Junchaiyapoom

No responses yet