1. บทนำ
อัปเดตล่าสุด 15-09-2021
ข้อมูลที่จำเป็นในการขับเคลื่อนข้อมูลเชิงลึกด้านราคาและการเพิ่มประสิทธิภาพนั้นแตกต่างกันโดยธรรมชาติ (ระบบที่แตกต่างกัน ความสมจริงในท้องถิ่นต่างกัน เป็นต้น) จึงเป็นสิ่งสำคัญในการพัฒนาตาราง CDM ให้มีโครงสร้างที่ดี มีมาตรฐาน และสะอาดตา ซึ่งรวมถึงแอตทริบิวต์หลักสำหรับการเพิ่มประสิทธิภาพการกำหนดราคา เช่น ธุรกรรม ผลิตภัณฑ์ ราคา และลูกค้า ในเอกสารนี้ เราจะอธิบายขั้นตอนต่างๆ ที่ระบุไว้ด้านล่าง ซึ่งจะให้การเริ่มต้นอย่างรวดเร็วสำหรับการวิเคราะห์ราคา ซึ่งคุณสามารถนำไปต่อยอดและปรับแต่งตามความต้องการของคุณเอง แผนภาพต่อไปนี้แสดงขั้นตอนที่กล่าวถึงในเอกสารนี้
- ประเมินแหล่งข้อมูล: ก่อนอื่นคุณต้องได้รับคลังของแหล่งข้อมูลที่จะใช้ในการสร้าง CDM ในขั้นตอนนี้ ระบบจะใช้ Dataprep เพื่อสำรวจและระบุปัญหาจากข้อมูลอินพุตด้วย เช่น ค่าที่หายไปหรือไม่ตรงกัน รูปแบบการตั้งชื่อที่ไม่สอดคล้องกัน ข้อมูลซ้ำ ปัญหาความสมบูรณ์ของข้อมูล ค่าผิดปกติ ฯลฯ
- ทำให้ข้อมูลเป็นมาตรฐาน: ขั้นตอนถัดไปที่เราตรวจพบก่อนหน้านี้จะได้รับการแก้ไขเพื่อให้มั่นใจว่าข้อมูลมีความแม่นยำ ความสมบูรณ์ ความสอดคล้อง และความสมบูรณ์ของข้อมูล กระบวนการนี้อาจรวมถึงการเปลี่ยนรูปแบบต่างๆ ใน Dataprep เช่น การจัดรูปแบบวันที่ การกำหนดค่ามาตรฐาน การแปลงหน่วย การกรองช่องและค่าที่ไม่จำเป็นออก และการแยก การรวม หรือการทำซ้ำข้อมูลต้นฉบับ
- รวมในโครงสร้างเดียว: ขั้นตอนถัดไปของไปป์ไลน์จะรวมแหล่งข้อมูลแต่ละแหล่งไว้ในตารางกว้างตารางเดียวใน BigQuery ที่มีแอตทริบิวต์ทั้งหมดในระดับที่ละเอียดที่สุด โครงสร้างที่ไม่ปรับให้เป็นมาตรฐานนี้ช่วยให้ได้รับการค้นหาเชิงวิเคราะห์ที่มีประสิทธิภาพซึ่งไม่จำเป็นต้องมีการรวมข้อมูล
- นำเสนอข้อมูลวิเคราะห์และ ML/AI: เมื่อข้อมูลสะอาดและจัดรูปแบบสำหรับการวิเคราะห์แล้ว นักวิเคราะห์จะสำรวจข้อมูลย้อนหลังเพื่อทำความเข้าใจผลกระทบของการเปลี่ยนแปลงราคาก่อนหน้านี้ได้ นอกจากนี้ คุณยังใช้ BigQuery ML เพื่อสร้างโมเดลการคาดการณ์ที่ประมาณการยอดขายในอนาคตได้ด้วย คุณรวมเอาต์พุตของรูปแบบเหล่านี้ไว้ในแดชบอร์ดภายใน Looker เพื่อสร้าง "สถานการณ์จำลองแบบเงื่อนไข" ได้ ที่ผู้ใช้แบบธุรกิจสามารถวิเคราะห์ได้ว่าการขายจะมีลักษณะเป็นอย่างไรเมื่อมีการเปลี่ยนแปลงราคา
แผนภาพต่อไปนี้แสดงคอมโพเนนต์ของ Google Cloud ที่ใช้สร้างไปป์ไลน์ข้อมูลวิเคราะห์การเพิ่มประสิทธิภาพการกำหนดราคา
สิ่งที่คุณจะสร้าง
โดยเราจะแสดงวิธีออกแบบคลังข้อมูลการเพิ่มประสิทธิภาพด้านราคา การเตรียมข้อมูลแบบอัตโนมัติเมื่อเวลาผ่านไป ใช้แมชชีนเลิร์นนิงเพื่อคาดการณ์ผลที่การเปลี่ยนแปลงราคาผลิตภัณฑ์ รวมถึงพัฒนารายงานเพื่อมอบข้อมูลเชิงลึกที่นำไปใช้ได้จริงแก่ทีม
สิ่งที่คุณจะได้เรียนรู้
- วิธีเชื่อมต่อ Dataprep กับแหล่งข้อมูลสำหรับการวิเคราะห์ราคา ซึ่งสามารถจัดเก็บไว้ในฐานข้อมูลเชิงสัมพันธ์, ไฟล์ Flat, Google ชีต และแอปพลิเคชันอื่นๆ ที่รองรับ
- วิธีสร้างโฟลว์ Dataprep เพื่อสร้างตาราง CDM ในคลังข้อมูล BigQuery
- วิธีใช้ BigQuery ML เพื่อคาดการณ์รายได้ในอนาคต
- วิธีสร้างรายงานใน Looker เพื่อวิเคราะห์แนวโน้มราคาและการขายที่ผ่านมา รวมถึงเพื่อทำความเข้าใจผลกระทบของการเปลี่ยนแปลงราคาในอนาคต
สิ่งที่ต้องมี
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน ดูวิธียืนยันว่าโปรเจ็กต์เปิดใช้การเรียกเก็บเงินแล้ว
- ต้องเปิดใช้ BigQuery ในโปรเจ็กต์ ระบบจะเปิดใช้ตัวกรองนี้ในโปรเจ็กต์ใหม่โดยอัตโนมัติ หรือเปิดใช้ในโปรเจ็กต์ที่มีอยู่ นอกจากนี้ คุณยังดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน BigQuery จาก Cloud Console ได้ที่นี่
- ต้องเปิดใช้ Dataprep ในโปรเจ็กต์ด้วย Dataprep เปิดใช้จากคอนโซล Google จากเมนูการนำทางด้านซ้ายในส่วน Big Data ทำตามขั้นตอนการลงชื่อสมัครใช้เพื่อเปิดใช้งาน
- หากต้องการตั้งค่าแดชบอร์ด Looker ของคุณเอง คุณต้องมีสิทธิ์เข้าถึงนักพัฒนาซอฟต์แวร์ในอินสแตนซ์ Looker หากต้องการขอทดลองใช้ โปรดติดต่อทีมของเราที่นี่ หรือใช้แดชบอร์ดสาธารณะเพื่อสำรวจผลลัพธ์ของไปป์ไลน์ข้อมูลในข้อมูลตัวอย่างของเรา
- ประสบการณ์การใช้งานภาษาการค้นหาที่มีโครงสร้าง (SQL) และมีความรู้พื้นฐานเกี่ยวกับสิ่งต่อไปนี้จะมีประโยชน์: Dataprep โดย Trifacta, BigQuery, Looker
2. สร้าง CDM ใน BigQuery
ในส่วนนี้ คุณจะได้สร้างโมเดลข้อมูลทั่วไป (CDM) ซึ่งให้มุมมองแบบรวมของข้อมูลที่คุณต้องการวิเคราะห์และแนะนำการเปลี่ยนแปลงราคา
- เปิดคอนโซล BigQuery
- เลือกโปรเจ็กต์ที่ต้องการใช้เพื่อทดสอบรูปแบบการอ้างอิงนี้
- ใช้ชุดข้อมูลที่มีอยู่หรือสร้างชุดข้อมูล BigQuery ตั้งชื่อชุดข้อมูล
Pricing_CDM
- สร้างตาราง
create table `CDM_Pricing`
(
Fiscal_Date DATETIME,
Product_ID STRING,
Client_ID INT64,
Customer_Hierarchy STRING,
Division STRING,
Market STRING,
Channel STRING,
Customer_code INT64,
Customer_Long_Description STRING,
Key_Account_Manager INT64,
Key_Account_Manager_Description STRING,
Structure STRING,
Invoiced_quantity_in_Pieces FLOAT64,
Gross_Sales FLOAT64,
Trade_Budget_Costs FLOAT64,
Cash_Discounts_and_other_Sales_Deductions INT64,
Net_Sales FLOAT64,
Variable_Production_Costs_STD FLOAT64,
Fixed_Production_Costs_STD FLOAT64,
Other_Cost_of_Sales INT64,
Standard_Gross_Margin FLOAT64,
Transportation_STD FLOAT64,
Warehouse_STD FLOAT64,
Gross_Margin_After_Logistics FLOAT64,
List_Price_Converged FLOAT64
);
3. ประเมินแหล่งข้อมูล
ในบทแนะนำนี้ คุณจะได้ใช้แหล่งข้อมูลตัวอย่างที่เก็บไว้ใน Google ชีตและ BigQuery
- Google ชีตสำหรับธุรกรรม ซึ่งมี 1 แถวต่อธุรกรรม ซึ่งจะมีรายละเอียด เช่น จำนวนของผลิตภัณฑ์ที่ขายได้ ยอดขายรวมทั้งหมด และต้นทุนที่เกี่ยวข้อง
- สเปรดชีตใน Google ชีตการกำหนดราคาผลิตภัณฑ์ ซึ่งมีราคาของผลิตภัณฑ์แต่ละรายการสำหรับลูกค้าแต่ละรายสำหรับแต่ละเดือน
- ตาราง BigQuery ของ company_descriptions ซึ่งมีข้อมูลลูกค้าแต่ละราย
คุณสร้างตาราง BigQuery ของบริษัท [company_descriptions] ได้โดยใช้คำสั่งต่อไปนี้
create table `Company_Descriptions`
(
Customer_ID INT64,
Customer_Long_Description STRING
);
insert into `Company_Descriptions` values (15458, 'ENELTEN');
insert into `Company_Descriptions` values (16080, 'NEW DEVICES CORP.');
insert into `Company_Descriptions` values (19913, 'ENELTENGAS');
insert into `Company_Descriptions` values (30108, 'CARTOON NT');
insert into `Company_Descriptions` values (32492, 'Thomas Ed Automobiles');
4. สร้างโฟลว์
ในขั้นตอนนี้ คุณจะได้นำเข้าตัวอย่างขั้นตอน Dataprep ซึ่งคุณใช้เพื่อเปลี่ยนรูปแบบและรวมชุดข้อมูลตัวอย่างที่แสดง ในส่วนก่อนหน้า flow แสดงถึงไปป์ไลน์หรือออบเจ็กต์ที่รวบรวมชุดข้อมูลและสูตรอาหาร ซึ่งใช้ในการเปลี่ยนรูปแบบและรวมชุดข้อมูลเข้าด้วยกัน
- ดาวน์โหลดแพ็กเกจรูปแบบการเพิ่มประสิทธิภาพการกำหนดราคาจาก GitHup แต่อย่าแตกไฟล์ ZIP ไฟล์นี้มีโฟลว์การออกแบบการเพิ่มประสิทธิภาพการกำหนดราคาที่ใช้ในการแปลงข้อมูลตัวอย่าง
- ใน Dataprep ให้คลิกไอคอนโฟลว์ในแถบนำทางด้านซ้าย จากนั้นในมุมมองโฟลว์ ให้เลือกนำเข้าจากเมนูตามบริบท หลังจากนำเข้าขั้นตอนแล้ว คุณสามารถเลือกขั้นตอนเพื่อดูและแก้ไขได้
- ทางด้านซ้ายของขั้นตอนดังกล่าว ราคาผลิตภัณฑ์และธุรกรรมแต่ละรายการใน Google ชีตทั้ง 3 รายการจะต้องเชื่อมต่อกันเป็นชุดข้อมูล ในการดำเนินการนี้ ให้คลิกขวาที่ออบเจ็กต์ชุดข้อมูลของ Google ชีต แล้วเลือกแทนที่ จากนั้นคลิกลิงก์นำเข้าชุดข้อมูล คลิกปุ่ม "แก้ไขเส้นทาง" ดินสอ ดังที่ปรากฏในแผนภาพต่อไปนี้
แทนที่ค่าปัจจุบันด้วยลิงก์ที่นำไปยังธุรกรรมและราคาผลิตภัณฑ์ใน Google ชีต
เมื่อ Google ชีตมีหลายแท็บ คุณสามารถเลือกแท็บที่ต้องการใช้ในเมนูได้ คลิกแก้ไข แล้วเลือกแท็บที่คุณต้องการใช้เป็นแหล่งข้อมูล จากนั้นคลิกบันทึก แล้วคลิกนำเข้าและ เพิ่มลงในโฟลว์ เมื่อคุณกลับมาที่โมดัลอีกครั้ง ให้คลิกแทนที่ ในขั้นตอนนี้ แต่ละชีตจะแสดงเป็นชุดข้อมูลของตนเองเพื่อแสดงแหล่งที่มาที่แยกจากกันโดยสิ้นเชิงในสูตรถัดไป
- กำหนดตารางเอาต์พุต BigQuery:
ในขั้นตอนนี้ คุณจะต้องเชื่อมโยงตำแหน่งสำหรับตารางเอาต์พุต CDM_Pricing ของ BigQuery ที่จะโหลดทุกครั้งที่คุณเรียกใช้งาน Dataoprep
ในมุมมองโฟลว์ ให้คลิกไอคอนเอาต์พุตการจับคู่สคีมา ในแผงรายละเอียด คลิกแท็บปลายทาง จากนั้น ให้แก้ไขทั้งเอาต์พุตปลายทางที่กำหนดเองที่ใช้สำหรับการทดสอบ และเอาต์พุตปลายทางที่กำหนดเวลาไว้ที่ใช้เมื่อต้องการทำให้ทั้งขั้นตอนทำงานโดยอัตโนมัติ โดยทำตามวิธีการต่อไปนี้
- แก้ไข "ปลายทางที่กำหนดเอง" ในแผงรายละเอียดในส่วนปลายทางที่กำหนดเอง ให้คลิกปุ่มแก้ไข ในหน้าการตั้งค่าการเผยแพร่ ใต้ "การดำเนินการการเผยแพร่" หากมีการดำเนินการเผยแพร่อยู่แล้ว ให้แก้ไข หรือคลิกปุ่ม "เพิ่มการทำงาน" จากนั้นให้ไปที่ชุดข้อมูล BigQuery ไปยังชุดข้อมูล
Pricing_CDM
ที่สร้างขึ้นในขั้นตอนก่อนหน้า แล้วเลือกตารางCDM_Pricing
ตรวจสอบว่าได้เลือกเพิ่มในตารางนี้ทุกครั้งที่เรียกใช้ แล้วคลิกเพิ่ม คลิกบันทึกการตั้งค่า - แก้ไข "ปลายทางที่กำหนดเวลาไว้"
ในแผงรายละเอียดในส่วนปลายทางที่กำหนดเวลาไว้ ให้คลิกแก้ไข
การตั้งค่านี้รับมาจากปลายทางที่กำหนดเอง และคุณไม่จําเป็นต้องทำการเปลี่ยนแปลงใดๆ คลิก บันทึกการตั้งค่า
5. ทำให้ข้อมูลเป็นมาตรฐาน
การรวมโฟลว์ที่มีให้และมีรูปแบบและทำความสะอาดข้อมูลธุรกรรม จากนั้นจะนำผลลัพธ์ไปผนวกกับคำอธิบายบริษัทและข้อมูลการกำหนดราคาแบบรวมสำหรับการรายงาน ในหน้านี้ คุณจะอธิบายส่วนประกอบต่างๆ ของโฟลว์ ซึ่งดูได้ในรูปภาพด้านล่าง
6. สำรวจสูตรข้อมูลธุรกรรม
ก่อนอื่น คุณจะได้สำรวจสิ่งที่เกิดขึ้นในสูตรข้อมูลธุรกรรม ซึ่งใช้ในการเตรียมข้อมูลธุรกรรม คลิกออบเจ็กต์ข้อมูลธุรกรรมในมุมมองโฟลว์ บนแผงรายละเอียด ให้คลิกปุ่มแก้ไขสูตรอาหาร
หน้า Transformer จะเปิดขึ้นพร้อมสูตรอาหารที่แสดงในแผงรายละเอียด สูตรอาหารจะมีขั้นตอนการเปลี่ยนรูปแบบทั้งหมดที่ใช้กับข้อมูล คุณสามารถไปยังส่วนต่างๆ ภายในสูตรอาหารได้โดยคลิกที่แต่ละขั้นตอนเพื่อดูสถานะของข้อมูลในตำแหน่งที่เฉพาะเจาะจงนี้ในสูตรอาหาร
คุณยังคลิกเมนู "เพิ่มเติม" ในแต่ละขั้นตอนของสูตรอาหารได้ แล้วเลือก "ไปยังรายการที่เลือก" หรือ "แก้ไข" เพื่อดูวิธีการทำงานของการเปลี่ยนรูปแบบ
- Union Transaction: ขั้นตอนแรกในยูเนียนสูตรข้อมูลธุรกรรมซึ่งจัดเก็บอยู่ในชีตต่างๆ ซึ่งแสดงในแต่ละเดือน
- ทำให้คำอธิบายของลูกค้าเป็นมาตรฐาน: ขั้นตอนต่อไปในสูตรอาหารคือคำอธิบายลูกค้าที่เป็นมาตรฐาน ซึ่งหมายความว่าชื่อของลูกค้าอาจคล้ายคลึงกัน แต่มีการเปลี่ยนแปลงเล็กน้อย และเราต้องการให้เป็นมาตรฐานตามชื่อ สูตรอาหารแสดงวิธีที่เป็นไปได้ 2 วิธี ประการแรก ฟีเจอร์นี้ใช้ประโยชน์จากอัลกอริทึมการกำหนดมาตรฐาน ซึ่งสามารถกำหนดค่าด้วยตัวเลือกการกำหนดมาตรฐานที่แตกต่างกัน เช่น "สตริงที่คล้ายกัน" ที่ซึ่งค่าที่มีอักขระเหมือนกันจัดไว้เป็นคลัสเตอร์เดียวกัน หรือ "การออกเสียง" ที่ซึ่งค่าที่ฟังดูคล้ายกันจะจับกลุ่มไว้ด้วยกัน หรือคุณจะค้นหาคำอธิบายบริษัทในตาราง BigQuery ที่อ้างอิงไว้ข้างต้นก็ได้ โดยใช้รหัสบริษัท
คุณสามารถสำรวจสูตรอาหารเพิ่มเติมเพื่อค้นพบเทคนิคอื่นๆ ที่นำไปใช้ในการล้างและจัดรูปแบบข้อมูล เช่น ลบแถว จัดรูปแบบตามรูปแบบ เพิ่มข้อมูลด้วยการค้นหา จัดการกับค่าที่ขาดไป หรือแทนที่อักขระที่ไม่ต้องการ
7. สำรวจสูตรข้อมูลราคาผลิตภัณฑ์
ถัดไป คุณจะได้สำรวจสิ่งที่เกิดขึ้นในสูตรสำหรับข้อมูลการกำหนดราคาผลิตภัณฑ์ ซึ่งจะรวมข้อมูลธุรกรรมที่เตรียมไว้เข้ากับข้อมูลการกำหนดราคาแบบรวม
คลิกรูปแบบการออกแบบการเพิ่มประสิทธิภาพราคาที่ด้านบนของหน้าเว็บเพื่อปิดหน้า Transformer และกลับไปที่มุมมองโฟลว์ จากที่นั่น ให้คลิกออบเจ็กต์ข้อมูลการกำหนดราคาผลิตภัณฑ์ และแก้ไขสูตรอาหาร
- คอลัมน์ราคารายเดือนยกเลิกการทำ Pivot: คลิกสูตรที่อยู่ระหว่างขั้นตอน 2 ถึง 3 เพื่อดูว่าข้อมูลมีลักษณะเป็นอย่างไรก่อนขั้นตอน "ยกเลิกการ Pivot" คุณจะเห็นว่าข้อมูลมีค่าธุรกรรมในคอลัมน์ที่แตกต่างกันของแต่ละเดือน นั่นคือ ม.ค. ที่มี.ค. รูปแบบนี้ไม่ใช่รูปแบบที่สะดวกในการใช้การคำนวณการรวม (เช่น ผลรวม ธุรกรรมเฉลี่ย) ใน SQL ต้องยกเลิกการทำตารางข้อมูลเพื่อให้แต่ละคอลัมน์กลายเป็นแถวในตาราง BigQuery สูตรนี้ใช้ประโยชน์จากฟังก์ชัน unpivot เพื่อแปลงทั้ง 3 คอลัมน์เป็น 1 แถวของแต่ละเดือน เพื่อให้นําไปใช้การคํานวณแบบกลุ่มได้ง่ายขึ้น
- คำนวณมูลค่าธุรกรรมเฉลี่ยตามลูกค้า ผลิตภัณฑ์ และวันที่: เราต้องการคำนวณมูลค่าธุรกรรมเฉลี่ยสำหรับลูกค้า ผลิตภัณฑ์ และข้อมูลแต่ละรายการ เราใช้ฟังก์ชันการรวมและสร้างตารางใหม่ (ตัวเลือก "จัดกลุ่มตามตารางใหม่") ได้ ในกรณีดังกล่าว เราจะรวบรวมข้อมูลที่ระดับกลุ่ม และเราจะสูญเสียรายละเอียดของธุรกรรมแต่ละรายการไป หรือเราอาจตัดสินใจเก็บทั้งรายละเอียดและค่าแบบรวมไว้ในชุดข้อมูลเดียวกัน (ตัวเลือก "จัดกลุ่มตามคอลัมน์ใหม่") ซึ่งจะสะดวกมากที่จะใช้อัตราส่วน (เช่น % การมีส่วนร่วมของหมวดหมู่ผลิตภัณฑ์ต่อรายได้โดยรวม) คุณลองใช้ลักษณะการทำงานนี้ได้โดยแก้ไขขั้นตอนที่ 7 ของสูตรอาหาร แล้วเลือกตัวเลือก "จัดกลุ่มตามตารางใหม่" หรือ "จัดกลุ่มตามคอลัมน์ใหม่" เพื่อดูความแตกต่าง
- วันที่กำหนดราคาการรวม: สุดท้ายจะใช้การรวมเพื่อรวมชุดข้อมูลหลายรายการไว้ในชุดข้อมูลที่มีขนาดใหญ่ขึ้นสำหรับการเพิ่มคอลัมน์ลงในชุดข้อมูลเริ่มต้น ในขั้นตอนนี้ ข้อมูลราคาจะผนวกเข้ากับเอาต์พุตของสูตรข้อมูลธุรกรรมตาม "ข้อมูลราคาและรหัสผลิตภัณฑ์" = ข้อมูลธุรกรรม.SKU' และ "Price Data.Price Date" = "ข้อมูลธุรกรรม.วันที่เรียกเก็บเงิน"
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนรูปแบบที่คุณนําไปใช้ได้ด้วย Dataprep ได้ที่ข้อมูลสรุปของ Trifacta Data Wrangling
8. ดูสูตรการแมปสคีมา
การแมปสคีมาของสูตรล่าสุดช่วยให้แน่ใจว่าตาราง CDM ที่ได้ตรงกับสคีมาของตารางเอาต์พุต BigQuery ที่มีอยู่ ในที่นี้ ฟังก์ชันเป้าหมายอย่างรวดเร็ว จะใช้เพื่อจัดรูปแบบโครงสร้างข้อมูลใหม่ให้ตรงกับตาราง BigQuery โดยใช้การจับคู่แบบ Fuzzy เพื่อเปรียบเทียบทั้ง 2 สคีมาและใช้การเปลี่ยนแปลงอัตโนมัติ
9. รวมกันในโครงสร้างเดียว
เนื่องจากเมื่อกําหนดค่าแหล่งที่มาและปลายทางแล้ว และศึกษาขั้นตอนต่างๆ ของโฟลว์แล้ว คุณจะเรียกใช้โฟลว์เพื่อเปลี่ยนรูปแบบและโหลดตาราง CDM ลงใน BigQuery ได้
- เรียกใช้เอาต์พุตการแมปสคีมา: ในมุมมองโฟลว์ ให้เลือกออบเจ็กต์เอาต์พุตการแมปสคีมา แล้วคลิก "เรียกใช้" ในแผงรายละเอียด เลือก "Trifacta Photon" กำลังเรียกใช้สภาพแวดล้อม และยกเลิกการเลือก "ละเว้นข้อผิดพลาดของสูตรอาหาร" จากนั้นคลิกปุ่ม เรียกใช้ หากมีตาราง BigQuery ที่ระบุอยู่ Dataprep จะเพิ่มแถวใหม่ต่อท้าย มิเช่นนั้น ระบบจะสร้างตารางใหม่
- ดูสถานะงาน: Dataprep จะเปิดหน้าเรียกใช้งานโดยอัตโนมัติเพื่อให้คุณตรวจสอบการสั่งงานได้ อาจใช้เวลา 2-3 นาทีเพื่อดำเนินการต่อและโหลดตาราง BigQuery เมื่องานเสร็จสมบูรณ์แล้ว เอาต์พุต CDM สำหรับการกำหนดราคาจะโหลดใน BigQuery ในรูปแบบที่สะอาด มีโครงสร้าง และเป็นมาตรฐานซึ่งพร้อมสำหรับการวิเคราะห์
10. แสดงข้อมูลวิเคราะห์และ ML/AI
ข้อกำหนดเบื้องต้นของ Analytics
เราได้สร้างชุดข้อมูลที่มีขนาดใหญ่ขึ้นและเกี่ยวข้องเพื่อค้นหาข้อมูลเชิงลึกที่เฉพาะเจาะจง เพื่อเรียกใช้ข้อมูลวิเคราะห์และโมเดลการคาดการณ์ที่มีผลลัพธ์ที่น่าสนใจ คุณต้องอัปโหลดข้อมูลนี้ลงในชุดข้อมูล BigQuery ก่อนดำเนินการตามคำแนะนำนี้ต่อ
- ดาวน์โหลดชุดข้อมูลขนาดใหญ่จากที่เก็บ GitHub นี้
- ในคอนโซล Google สำหรับ BigQuery ให้ไปที่โปรเจ็กต์และชุดข้อมูล CDM_Pricing
- คลิกเมนูและเปิดชุดข้อมูล เราจะสร้างตารางโดยการโหลดข้อมูลจากไฟล์ในเครื่อง
คลิกปุ่ม + สร้างตาราง และกำหนดพารามิเตอร์เหล่านี้:
- สร้างตารางจากการอัปโหลดและเลือกไฟล์ CDM_Pricing_Large_Table.csv
- ตรวจหาสคีมาอัตโนมัติ ตรวจสอบสคีมาและพารามิเตอร์อินพุต
- ตัวเลือกขั้นสูง ค่ากำหนดในการเขียน เขียนทับตาราง
- คลิก "สร้างตาราง"
หลังจากสร้างตารางและอัปโหลดข้อมูลแล้ว คุณควรเห็นรายละเอียดของตารางใหม่ใน Google Console สำหรับ BigQuery ดังที่แสดงด้านล่าง ข้อมูลราคาใน BigQuery ช่วยให้เราถามคำถามที่ครอบคลุมมากขึ้นเพื่อวิเคราะห์ข้อมูลราคาในระดับที่ลึกขึ้นได้ง่ายขึ้น
11. ดูผลของการเปลี่ยนแปลงราคา
ตัวอย่างหนึ่งของสิ่งที่คุณอาจต้องการวิเคราะห์คือการเปลี่ยนแปลงลักษณะการทำงานของคำสั่งซื้อเมื่อคุณเปลี่ยนแปลงราคาของสินค้าก่อนหน้านี้
- ก่อนอื่นให้สร้างตารางชั่วคราวที่มี 1 บรรทัดทุกครั้งที่ราคาผลิตภัณฑ์มีการเปลี่ยนแปลง พร้อมข้อมูลเกี่ยวกับราคาผลิตภัณฑ์นั้นๆ เช่น จำนวนสินค้าที่สั่งซื้อด้วยราคาแต่ละรายการและยอดขายสุทธิทั้งหมดที่เชื่อมโยงกับราคานั้นๆ
create temp table price_changes as (
select
product_id,
list_price_converged,
total_ordered_pieces,
total_net_sales,
first_price_date,
lag(list_price_converged) over(partition by product_id order by first_price_date asc) as previous_list,
lag(total_ordered_pieces) over(partition by product_id order by first_price_date asc) as previous_total_ordered_pieces,
lag(total_net_sales) over(partition by product_id order by first_price_date asc) as previous_total_net_sales,
lag(first_price_date) over(partition by product_id order by first_price_date asc) as previous_first_price_date
from (
select
product_id,list_price_converged,sum(invoiced_quantity_in_pieces) as total_ordered_pieces, sum(net_sales) as total_net_sales, min(fiscal_date) as first_price_date
from `{{my_project}}.{{my_dataset}}.CDM_Pricing` AS cdm_pricing
group by 1,2
order by 1, 2 asc
)
);
select * from price_changes where previous_list is not null order by product_id, first_price_date desc
- จากนั้น คุณสามารถใช้ตารางชั่วคราวเพื่อคำนวณการเปลี่ยนแปลงราคาเฉลี่ยใน SKU ต่างๆ ดังนี้
select avg((previous_list-list_price_converged)/nullif(previous_list,0))*100 as average_price_change from price_changes;
- สุดท้าย คุณสามารถวิเคราะห์สิ่งที่เกิดขึ้นหลังจากมีการเปลี่ยนแปลงราคาโดยดูความสัมพันธ์ระหว่างการเปลี่ยนแปลงราคาแต่ละครั้งกับจำนวนสินค้าทั้งหมดที่สั่งซื้อ ดังนี้
select
(total_ordered_pieces-previous_total_ordered_pieces)/nullif(previous_total_ordered_pieces,0)
ในฐานะ
price_changes_percent_ordered_change,
(list_price_converged-previous_list)/nullif(previous_list,0)
ในฐานะ
price_changes_percent_price_change
from price_changes
12. สร้างโมเดลการคาดการณ์อนุกรมเวลา
จากนั้น BigQuery มีความสามารถด้านแมชชีนเลิร์นนิงในตัวที่จะช่วยให้คุณสร้างโมเดลการคาดการณ์อนุกรมเวลา ARIMA เพื่อคาดการณ์จำนวนสินค้าแต่ละรายการที่จะขายได้
- คุณต้องสร้างโมเดล ARIMA_PLUS ก่อน
create or replace `{{my_project}}.{{my_dataset}}.bqml_arima`
options
(model_type = 'ARIMA_PLUS',
time_series_timestamp_col = 'fiscal_date',
time_series_data_col = 'total_quantity',
time_series_id_col = 'product_id',
auto_arima = TRUE,
data_frequency = 'AUTO_FREQUENCY',
decompose_time_series = TRUE
) as
select
fiscal_date,
product_id,
sum(invoiced_quantity_in_pieces) as total_quantity
from
`{{my_project}}.{{my_dataset}}.CDM_Pricing`
group by 1,2;
- ต่อไปคุณใช้ฟังก์ชัน ML.FORECAST เพื่อคาดการณ์ยอดขายในอนาคตของแต่ละผลิตภัณฑ์ ดังนี้
select
*
from
ML.FORECAST(model testing.bqml_arima,
struct(30 as horizon, 0.8 as confidence_level));
- การคาดการณ์เหล่านี้ที่มีอยู่จะช่วยให้คุณพยายามทำความเข้าใจสิ่งที่จะเกิดขึ้นหากขึ้นราคาได้ ตัวอย่างเช่น หากคุณขึ้นราคาของผลิตภัณฑ์ทุกรายการขึ้น 15% คุณจะคำนวณรายได้รวมโดยประมาณสำหรับเดือนถัดไปได้โดยใช้คำค้นหาดังนี้
select
sum(forecast_value * list_price) as total_revenue
from ml.forecast(mode testing.bqml_arima,
struct(30 as horizon, 0.8 as confidence_level)) forecasts
left join (select product_id,
array_agg(list_price_converged
order by fiscal_date desc limit 1)[offset(0)] as list_price
from `leigha-bq-dev.retail.cdm_pricing` group by 1) recent_prices
using (product_id);
13. สร้างรายงาน
เมื่อข้อมูลการกำหนดราคาที่ยกเลิกการปรับให้เป็นมาตรฐานรวมอยู่ใน BigQuery แล้ว และคุณเข้าใจวิธีเรียกใช้การค้นหาที่มีความหมายกับข้อมูลนี้แล้ว ตอนนี้ก็ถึงเวลาสร้างรายงานเพื่อให้ผู้ใช้แบบธุรกิจสำรวจและดำเนินการกับข้อมูลนี้ได้
หากคุณมีอินสแตนซ์ Looker อยู่แล้ว คุณสามารถใช้ LookML ในที่เก็บ GitHub นี้เพื่อเริ่มวิเคราะห์ข้อมูลราคาสำหรับรูปแบบนี้ได้ เพียงสร้างโปรเจ็กต์ Looker ใหม่ เพิ่ม LookML แล้วแทนที่ชื่อการเชื่อมต่อและชื่อตารางในไฟล์ข้อมูลพร็อพเพอร์ตี้แต่ละไฟล์ให้ตรงกับการกำหนดค่า BigQuery
ในรูปแบบนี้ คุณจะเห็นตารางที่ได้มา ( ในไฟล์มุมมองนี้) ที่เราแสดงก่อนหน้านี้เพื่อตรวจสอบการเปลี่ยนแปลงราคา
view: price_changes {
derived_table: {
sql: select
product_id,
list_price_converged,
total_ordered_pieces,
total_net_sales,
first_price_date,
lag(list_price_converged) over(partition by product_id order by first_price_date asc) as previous_list,
lag(total_ordered_pieces) over(partition by product_id order by first_price_date asc) as previous_total_ordered_pieces,
lag(total_net_sales) over(partition by product_id order by first_price_date asc) as previous_total_net_sales,
lag(first_price_date) over(partition by product_id order by first_price_date asc) as previous_first_price_date
from (
select
product_id,list_price_converged,sum(invoiced_quantity_in_pieces) as total_ordered_pieces, sum(net_sales) as total_net_sales, min(fiscal_date) as first_price_date
from ${cdm_pricing.SQL_TABLE_NAME} AS cdm_pricing
group by 1,2
order by 1, 2 asc
)
;;
}
...
}
เช่นเดียวกับโมเดล BigQuery ML ARIMA ที่เราแสดงก่อนหน้านี้ เพื่อคาดการณ์ยอดขายในอนาคต ( ในไฟล์มุมมองนี้)
view: arima_model { derived_table: { persist_for: "24 hours" sql_create: create or replace model ${sql_table_name} options (model_type = 'arima_plus', time_series_timestamp_col = 'fiscal_date', time_series_data_col = 'total_quantity', time_series_id_col = 'product_id', auto_arima = true, data_frequency = 'auto_frequency', decompose_time_series = true ) as select fiscal_date, product_id, sum(invoiced_quantity_in_pieces) as total_quantity from ${cdm_pricing.sql_table_name} group by 1,2 ;; } } ... }
นอกจากนี้ LookML ยังมีตัวอย่างหน้าแดชบอร์ดด้วย คุณเข้าถึงหน้าแดชบอร์ดเวอร์ชันสาธิตได้ที่นี่ ส่วนแรกของแดชบอร์ดจะให้ข้อมูลระดับสูงแก่ผู้ใช้เกี่ยวกับการเปลี่ยนแปลงของยอดขาย ต้นทุน ราคา และส่วนต่างกำไร ในฐานะผู้ใช้แบบธุรกิจ คุณอาจต้องการสร้างการแจ้งเตือนเพื่อให้ทราบว่ายอดขายลดลงต่ำกว่า X% หรือไม่ เนื่องจากอาจหมายความว่าคุณควรลดราคา
ส่วนถัดไปที่แสดงด้านล่างจะช่วยให้ผู้ใช้เจาะลึกเทรนด์เกี่ยวกับการเปลี่ยนแปลงราคาได้ ในส่วนนี้ คุณสามารถเจาะลึกลงไปในผลิตภัณฑ์ที่เจาะจงเพื่อดูราคาขายปลีกที่แนะนำที่แน่นอนและราคาที่ใช้เปลี่ยนแปลง ซึ่งอาจเป็นประโยชน์ในการหาผลิตภัณฑ์ที่เฉพาะเจาะจงให้ค้นคว้าเพิ่มเติม
สุดท้าย คุณจะเห็นผลลัพธ์ของโมเดล BigQueryML ที่ด้านล่างของรายงาน เมื่อใช้ตัวกรองที่ด้านบนของแดชบอร์ด Looker คุณสามารถป้อนพารามิเตอร์เพื่อจำลองสถานการณ์ต่างๆ ที่คล้ายกันดังที่อธิบายข้างต้นได้อย่างง่ายดาย ตัวอย่างเช่น ดูว่าจะเกิดอะไรขึ้นหากปริมาณคำสั่งซื้อลดลงเหลือ 75% ของมูลค่าที่คาดการณ์ไว้ และการกำหนดราคาของผลิตภัณฑ์ทั้งหมดเพิ่มขึ้น 25% ดังที่แสดงด้านล่าง
ซึ่งขับเคลื่อนโดยพารามิเตอร์ใน LookML ซึ่งจากนั้นจะนำไปรวมไว้ในการคำนวณการวัดผลที่แสดงที่นี่โดยตรง การรายงานประเภทนี้จะช่วยให้คุณค้นหาราคาที่เหมาะสมที่สุดสําหรับผลิตภัณฑ์ทั้งหมดหรือเจาะลึกผลิตภัณฑ์ที่เฉพาะเจาะจงเพื่อพิจารณาสิ่งที่ควรเพิ่มหรือลดราคา รวมถึงผลลัพธ์ของรายได้รวมและสุทธิ
14. ปรับให้เข้ากับระบบการกำหนดราคาของคุณ
แม้ว่าบทแนะนำนี้จะเปลี่ยนแหล่งข้อมูลตัวอย่าง แต่คุณจะพบกับความท้าทายด้านข้อมูลที่คล้ายกันมากสำหรับเนื้อหาการกำหนดราคาที่อยู่บนแพลตฟอร์มต่างๆ ของคุณ ชิ้นงานการกำหนดราคามีรูปแบบการส่งออกที่ต่างกัน (มักอยู่ในรูปแบบ xls, ชีต, csv, txt, ฐานข้อมูลเชิงสัมพันธ์, แอปพลิเคชันธุรกิจ) สำหรับผลลัพธ์โดยละเอียดและสรุป ซึ่งแต่ละรูปแบบสามารถเชื่อมต่อกับ Dataprep ได้ เราขอแนะนําให้เริ่มต้นด้วยการอธิบายข้อกําหนดในการเปลี่ยนรูปแบบคล้ายกับตัวอย่างที่ให้ไว้ด้านบน หลังจากชี้แจงข้อกำหนดและคุณได้ระบุประเภทของการเปลี่ยนรูปแบบที่จำเป็นแล้ว คุณสามารถออกแบบการเปลี่ยนแปลงเหล่านั้นด้วย Dataprep
- ทำสำเนาขั้นตอน Dataprep (คลิกปุ่ม **... "**เพิ่มเติม" ทางด้านขวาของโฟลว์แล้วเลือกตัวเลือกทำซ้ำ) ที่คุณจะปรับแต่ง หรือเริ่มใหม่ตั้งแต่ต้นโดยใช้ขั้นตอน Dataprep ใหม่
- เชื่อมต่อกับชุดข้อมูลการกำหนดราคาของคุณเอง Dataprep รองรับรูปแบบไฟล์ต่างๆ เช่น Excel, CSV, Google ชีต, JSON อยู่แล้ว นอกจากนี้ คุณยังเชื่อมต่อกับระบบอื่นๆ โดยใช้เครื่องมือเชื่อมต่อ Dataprep ได้ด้วย
- ส่งชิ้นงานข้อมูลไปยังหมวดหมู่การเปลี่ยนรูปแบบต่างๆ ที่คุณระบุ สร้างสูตรอาหาร 1 สูตรสำหรับแต่ละหมวดหมู่ รับแรงบันดาลใจจากรูปแบบการออกแบบนี้ในการแปลงข้อมูลและเขียนสูตรอาหารของคุณเอง หากพบปัญหา คุณก็ไม่ต้องกังวลไป โปรดขอความช่วยเหลือในกล่องโต้ตอบแชทที่ด้านล่างซ้ายของหน้าจอ Dataprep
- เชื่อมต่อสูตรอาหารกับอินสแตนซ์ BigQuery คุณไม่จำเป็นต้องกังวลเรื่องการสร้างตารางด้วยตนเองใน BigQuery โดย Dataprep จะจัดการตารางให้คุณโดยอัตโนมัติ เราขอแนะนําให้เมื่อคุณเพิ่มเอาต์พุตลงในโฟลว์ ให้เลือกปลายทางด้วยตนเองแล้ววางตารางในการเรียกใช้แต่ละครั้ง ทดสอบแต่ละสูตรจนได้ผลลัพธ์ตามที่คาดหวังไว้ หลังจากทดสอบเสร็จแล้ว คุณจะแปลงผลลัพธ์เป็น "ต่อท้าย" ในตารางในการเรียกใช้แต่ละครั้งเพื่อหลีกเลี่ยงการลบข้อมูลก่อนหน้า
- คุณเลือกที่จะเชื่อมโยงโฟลว์ให้เรียกใช้ตามกำหนดเวลาก็ได้ วิธีนี้มีประโยชน์หากกระบวนการของคุณจำเป็นต้องทำงานอย่างต่อเนื่อง คุณอาจกำหนดเวลาโหลดคำตอบทุกวันหรือทุกชั่วโมงตามความใหม่ที่ต้องการ หากตัดสินใจเรียกใช้โฟลว์ตามกำหนดการ คุณจะต้องเพิ่มเอาต์พุตปลายทางของกำหนดการลงในขั้นตอนสำหรับสูตรอาหารแต่ละรายการด้วย
แก้ไขโมเดลแมชชีนเลิร์นนิงของ BigQuery
บทแนะนำนี้มีตัวอย่างโมเดล ARIMA อย่างไรก็ตาม ยังมีพารามิเตอร์เพิ่มเติมที่คุณสามารถควบคุมได้ขณะพัฒนาโมเดลเพื่อให้มั่นใจว่าโมเดลจะเหมาะกับข้อมูลของคุณมากที่สุด ดูรายละเอียดเพิ่มเติมได้ในตัวอย่าง ในเอกสารประกอบที่นี่ นอกจากนี้ คุณยังใช้ฟังก์ชัน ML.ARIMA_EVALUATE, ML.ARIMA_COEFFICIENTS และ ML.EXPLAIN_FORECAST ของ BigQuery เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับโมเดลและทำการตัดสินใจในการเพิ่มประสิทธิภาพได้ด้วย
แก้ไขรายงาน Looker
หลังจากนำเข้า LookML ลงในโปรเจ็กต์ของคุณเองตามที่อธิบายไว้ข้างต้นแล้ว คุณจะแก้ไขโดยตรงเพื่อเพิ่มช่องเพิ่มเติม แก้ไขการคำนวณหรือพารามิเตอร์ที่ผู้ใช้ป้อน และเปลี่ยนการแสดงข้อมูลผ่านภาพในแดชบอร์ดให้เหมาะกับความต้องการทางธุรกิจได้ ดูรายละเอียดเกี่ยวกับการพัฒนาใน LookML ได้ที่นี่ และการแสดงภาพข้อมูลใน Looker ที่นี่
15. ขอแสดงความยินดี
ตอนนี้คุณก็ได้ทราบขั้นตอนสำคัญที่จำเป็นต่อการเพิ่มประสิทธิภาพผลิตภัณฑ์ค้าปลีกแล้ว การกำหนดราคา
สิ่งที่ต้องทำต่อไป
ดูรูปแบบการอ้างอิง Smart Analytics อื่นๆ
อ่านเพิ่มเติม
- อ่านบล็อกที่นี่
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ Dataprep ที่นี่
- ดูข้อมูลเพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิงของ BigQuery ที่นี่
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ Looker ที่นี่