1. บทนำ
อัปเดตล่าสุด: 15-09-2021
ข้อมูลที่จำเป็นต่อการขับเคลื่อนข้อมูลเชิงลึกและการเพิ่มประสิทธิภาพการกำหนดราคาจะแตกต่างกันโดยธรรมชาติ (ระบบที่แตกต่างกัน ความเป็นจริงในท้องถิ่นที่แตกต่างกัน ฯลฯ) ดังนั้นการพัฒนาตาราง CDM ที่มีโครงสร้างดี ได้มาตรฐาน และสะอาดจึงเป็นสิ่งสำคัญ ซึ่งรวมถึงแอตทริบิวต์หลักสำหรับการเพิ่มประสิทธิภาพการกำหนดราคา เช่น ธุรกรรม ผลิตภัณฑ์ ราคา และลูกค้า ในเอกสารนี้ เราจะแนะนำขั้นตอนที่ระบุไว้ด้านล่าง ซึ่งจะช่วยให้คุณเริ่มต้นวิเคราะห์ราคาได้อย่างรวดเร็ว และสามารถขยายและปรับแต่งให้เหมาะกับความต้องการของคุณเองได้ แผนภาพต่อไปนี้แสดงขั้นตอนที่ครอบคลุมในเอกสารนี้

- ประเมินแหล่งข้อมูล: ก่อนอื่นคุณต้องมีสินค้าคงคลังของแหล่งข้อมูลที่จะใช้สร้าง CDM ในขั้นตอนนี้ เราจะใช้ Dataprep เพื่อสำรวจและระบุปัญหาจากข้อมูลนำเข้าด้วย เช่น ค่าที่ขาดหายไปและไม่ตรงกัน รูปแบบการตั้งชื่อที่ไม่สอดคล้องกัน รายการที่ซ้ำกัน ปัญหาความสมบูรณ์ของข้อมูล ค่าผิดปกติ ฯลฯ
- ปรับข้อมูลให้เป็นมาตรฐาน: จากนั้นจะแก้ไขปัญหาที่ระบุไว้ก่อนหน้านี้เพื่อให้มั่นใจว่าข้อมูลมีความถูกต้อง สมบูรณ์ สอดคล้องกัน และครบถ้วน กระบวนการนี้อาจเกี่ยวข้องกับการเปลี่ยนรูปแบบต่างๆ ใน Dataprep เช่น การจัดรูปแบบวันที่ การกำหนดค่ามาตรฐาน การแปลงหน่วย การกรองฟิลด์และค่าที่ไม่จำเป็นออก รวมถึงการแยก การรวม หรือการขจัดข้อมูลที่ซ้ำกันในข้อมูลแหล่งที่มา
- รวมไว้ในโครงสร้างเดียว: ขั้นตอนถัดไปของไปป์ไลน์จะรวมแหล่งข้อมูลแต่ละแหล่งไว้ในตารางเดียวแบบกว้างใน BigQuery ซึ่งมีแอตทริบิวต์ทั้งหมดในระดับแบบละเอียดที่สุด โครงสร้างที่ยกเลิกการทำให้เป็นมาตรฐานนี้ช่วยให้การค้นหาเชิงวิเคราะห์มีประสิทธิภาพโดยไม่ต้องใช้การรวม
- ส่งมอบข้อมูลวิเคราะห์และ ML/AI: เมื่อข้อมูลสะอาดและจัดรูปแบบสำหรับการวิเคราะห์แล้ว นักวิเคราะห์จะสามารถสำรวจข้อมูลย้อนหลังเพื่อทำความเข้าใจผลกระทบของการเปลี่ยนแปลงราคาครั้งก่อนๆ นอกจากนี้ คุณยังใช้ BigQuery ML เพื่อสร้างโมเดลการคาดการณ์ที่ประมาณยอดขายในอนาคตได้ด้วย คุณสามารถรวมเอาเอาต์พุตของโมเดลเหล่านี้ไว้ในแดชบอร์ดภายใน Looker เพื่อสร้าง "สถานการณ์สมมติ" ที่ผู้ใช้ทางธุรกิจสามารถวิเคราะห์ยอดขายที่อาจเกิดขึ้นเมื่อมีการเปลี่ยนแปลงราคาบางอย่าง
แผนภาพต่อไปนี้แสดงคอมโพเนนต์ Google Cloud ที่ใช้ในการสร้างไปป์ไลน์การวิเคราะห์การเพิ่มประสิทธิภาพราคา

สิ่งที่คุณจะสร้าง
ในที่นี้ เราจะแสดงวิธีออกแบบคลังข้อมูลการเพิ่มประสิทธิภาพราคา เตรียมข้อมูลโดยอัตโนมัติตามเวลา ใช้แมชชีนเลิร์นนิงเพื่อคาดการณ์ผลกระทบของการเปลี่ยนแปลงราคาสินค้า และพัฒนารายงานเพื่อให้ข้อมูลเชิงลึกที่นำไปใช้ได้จริงแก่ทีมของคุณ
สิ่งที่คุณจะได้เรียนรู้
- วิธีเชื่อมต่อ Dataprep กับแหล่งข้อมูลสำหรับการวิเคราะห์ราคา ซึ่งจัดเก็บไว้ในฐานข้อมูลเชิงสัมพันธ์ ไฟล์แบบเรียบ Google ชีต และแอปพลิเคชันอื่นๆ ที่รองรับ
- วิธีสร้างโฟลว์ Dataprep เพื่อสร้างตาราง CDM ในคลังข้อมูล BigQuery
- วิธีใช้ BigQuery ML เพื่อคาดการณ์รายได้ในอนาคต
- วิธีสร้างรายงานใน Looker เพื่อวิเคราะห์แนวโน้มการตั้งราคาและการขายในอดีต และเพื่อทำความเข้าใจผลกระทบของการเปลี่ยนแปลงราคาในอนาคต
สิ่งที่คุณต้องมี
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน ดูวิธียืนยันว่าโปรเจ็กต์เปิดใช้การเรียกเก็บเงินแล้ว
- ต้องเปิดใช้ BigQuery ในโปรเจ็กต์ ระบบจะเปิดใช้ในโปรเจ็กต์ใหม่โดยอัตโนมัติ หรือเปิดใช้ในโปรเจ็กต์ที่มีอยู่ นอกจากนี้ คุณยังดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน BigQuery จาก Cloud Console ได้ที่นี่
- นอกจากนี้ คุณต้องเปิดใช้ Dataprep ในโปรเจ็กต์ด้วย Dataprep เปิดใช้จาก Google Console จากเมนูการนำทางด้านซ้ายในส่วน Big Data ทำตามขั้นตอนการลงชื่อสมัครใช้เพื่อเปิดใช้งาน
- หากต้องการตั้งค่าแดชบอร์ด Looker ของคุณเอง คุณต้องมีสิทธิ์เข้าถึงระดับนักพัฒนาซอฟต์แวร์ในอินสแตนซ์ Looker หากต้องการขอช่วงทดลองใช้ โปรดติดต่อทีมของเราที่นี่ หรือใช้แดชบอร์ดสาธารณะเพื่อสำรวจผลลัพธ์ของ Data Pipeline ในข้อมูลจากการสุ่มตัวอย่างของเรา
- ประสบการณ์การใช้งาน Structured Query Language (SQL) และความรู้พื้นฐานเกี่ยวกับ Dataprep by Trifacta, BigQuery และ Looker จะเป็นประโยชน์
2. สร้าง CDM ใน BigQuery
ในส่วนนี้ คุณจะสร้าง Common Data Model (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 ตัวอย่าง ซึ่งคุณใช้เพื่อเปลี่ยนรูปแบบและรวมชุดข้อมูลตัวอย่างที่แสดง ในส่วนก่อนหน้า โฟลว์แสดงถึงไปป์ไลน์ หรือออบเจ็กต์ที่รวมชุดข้อมูลและสูตรเข้าด้วยกัน ซึ่งใช้เพื่อเปลี่ยนรูปแบบและรวมชุดข้อมูล
- ดาวน์โหลดแพ็กเกจโฟลว์รูปแบบการเพิ่มประสิทธิภาพการกำหนดราคาจาก GitHub แต่อย่าแตกไฟล์ ไฟล์นี้มีโฟลว์รูปแบบการออกแบบการเพิ่มประสิทธิภาพราคาที่ใช้ในการเปลี่ยนรูปแบบข้อมูลตัวอย่าง
- ใน Dataprep ให้คลิกไอคอนโฟลว์ในแถบนำทางด้านซ้าย จากนั้นในมุมมองโฟลว์ ให้เลือกนําเข้าจากเมนูตามบริบท หลังจากนำเข้าโฟลว์แล้ว คุณจะเลือกโฟลว์เพื่อดูและแก้ไขได้

- ที่ด้านซ้ายของโฟลว์ คุณต้องเชื่อมต่อการกำหนดราคาสินค้าและ Google ชีตธุรกรรมทั้ง 3 รายการเป็นชุดข้อมูล โดยคลิกขวาที่ออบเจ็กต์ชุดข้อมูล Google ชีต แล้วเลือกแทนที่ จากนั้นคลิกลิงก์นำเข้าชุดข้อมูล คลิกดินสอ "แก้ไขเส้นทาง" ดังที่แสดงในแผนภาพต่อไปนี้

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

- กําหนดตารางเอาต์พุต BigQuery:
ในขั้นตอนนี้ คุณจะเชื่อมโยงตำแหน่งสำหรับตารางเอาต์พุต CDM_Pricing ของ BigQuery เพื่อโหลดทุกครั้งที่เรียกใช้งาน Dataoprep
ในมุมมองโฟลว์ ให้คลิกไอคอนเอาต์พุตการแมปสคีมา ในแผงรายละเอียด ให้คลิกแท็บปลายทาง จากนั้น ให้แก้ไขทั้งเอาต์พุตปลายทางที่กำหนดเองซึ่งใช้สำหรับการทดสอบ และเอาต์พุตปลายทางที่กำหนดเวลาไว้ซึ่งใช้เมื่อต้องการทำให้ทั้งโฟลว์เป็นแบบอัตโนมัติ โดยทำตามวิธีการต่อไปนี้
- แก้ไข "ปลายทางที่กำหนดเอง" ในแผงรายละเอียด ให้คลิกปุ่มแก้ไขในส่วนปลายทางที่กำหนดเอง ในหน้าการตั้งค่าการเผยแพร่ ภายใต้การดำเนินการเผยแพร่ หากมีการดำเนินการเผยแพร่อยู่แล้ว ให้แก้ไขการดำเนินการดังกล่าว หรือคลิกปุ่มเพิ่มการดำเนินการ จากนั้นไปที่ชุดข้อมูล BigQuery เพื่อไปยังชุดข้อมูล
Pricing_CDMที่คุณสร้างไว้ในขั้นตอนก่อนหน้า แล้วเลือกตารางCDM_Pricingตรวจสอบว่าได้เลือกต่อท้ายตารางนี้ทุกครั้งที่เรียกใช้ แล้วคลิกเพิ่ม คลิกบันทึกการตั้งค่า - แก้ไข "ปลายทางที่กำหนดเวลาไว้"
ในแผงรายละเอียด ในส่วนปลายทางที่กำหนดเวลา ให้คลิกแก้ไข
การตั้งค่าจะรับค่ามาจากปลายทางที่กำหนดเอง และคุณไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ คลิก Save Settings
5. จัดรูปแบบข้อมูลให้เป็นมาตรฐาน
โฟลว์ที่ระบุจะรวม จัดรูปแบบ และล้างข้อมูลธุรกรรม จากนั้นจะรวมผลลัพธ์กับคำอธิบายบริษัทและข้อมูลราคาที่รวบรวมไว้เพื่อการรายงาน ในส่วนนี้ คุณจะได้ดูคอมโพเนนต์ของโฟลว์ ซึ่งจะเห็นได้ในรูปภาพด้านล่าง

6. สํารวจสูตรข้อมูลธุรกรรม
ก่อนอื่น คุณจะสำรวจสิ่งที่เกิดขึ้นภายในสูตรข้อมูลธุรกรรม ซึ่งใช้เพื่อเตรียมข้อมูลธุรกรรม คลิกออบเจ็กต์ข้อมูลธุรกรรมในมุมมองโฟลว์ ในแผงรายละเอียด ให้คลิกปุ่มแก้ไขสูตร
หน้า Transformer จะเปิดขึ้นพร้อมสูตรที่แสดงในแผงรายละเอียด สูตรประกอบด้วยขั้นตอนการเปลี่ยนรูปแบบทั้งหมดที่ใช้กับข้อมูล คุณไปยังส่วนต่างๆ ภายในสูตรได้โดยคลิกระหว่างแต่ละขั้นตอนเพื่อดูสถานะของข้อมูลในตำแหน่งนี้ในสูตร
นอกจากนี้ คุณยังคลิกเมนูเพิ่มเติมสำหรับแต่ละขั้นตอนของสูตร แล้วเลือกไปที่ที่เลือกหรือแก้ไขเพื่อดูว่าการเปลี่ยนรูปแบบทำงานอย่างไร
- ธุรกรรมของสหภาพ: ขั้นตอนแรกในสูตรข้อมูลธุรกรรม unions ธุรกรรมที่จัดเก็บไว้ในชีตต่างๆ ซึ่งแสดงถึงแต่ละเดือน
- กำหนดคำอธิบายลูกค้าให้เป็นมาตรฐาน: ขั้นตอนถัดไปในสูตรคือการกำหนดคำอธิบายลูกค้าให้เป็นมาตรฐาน ซึ่งหมายความว่าชื่อลูกค้าอาจคล้ายกันโดยมีการเปลี่ยนแปลงเล็กน้อย และเราต้องการทำให้ชื่อเหล่านั้นเป็นชื่อเดียวกัน สูตรนี้แสดงให้เห็นแนวทางที่เป็นไปได้ 2 แนวทาง ก่อนอื่น ระบบจะใช้อัลกอริทึมการจัดรูปแบบมาตรฐาน ซึ่งกำหนดค่าได้ด้วยตัวเลือกการจัดรูปแบบมาตรฐานต่างๆ เช่น "สตริงที่คล้ายกัน" ซึ่งจะจัดกลุ่มค่าที่มีอักขระร่วมกันไว้ด้วยกัน หรือ "การออกเสียง" ซึ่งจะจัดกลุ่มค่าที่มีการออกเสียงคล้ายกันไว้ด้วยกัน หรือคุณจะค้นหาคำอธิบายบริษัทในตาราง BigQuery ที่อ้างอิงข้างต้นโดยใช้รหัสบริษัทก็ได้
คุณสามารถไปยังส่วนต่างๆ ของสูตรเพื่อค้นพบเทคนิคอื่นๆ ที่ใช้ในการล้างและจัดรูปแบบข้อมูลได้ เช่น การลบแถว การจัดรูปแบบตามรูปแบบ การเพิ่มข้อมูลด้วยการค้นหา การจัดการค่าที่ขาดหายไป หรือการแทนที่อักขระที่ไม่ต้องการ
7. ดูสูตรข้อมูลการกำหนดราคาผลิตภัณฑ์
จากนั้นคุณจะดูสิ่งที่เกิดขึ้นในสูตรข้อมูลการกำหนดราคาสินค้าได้ ซึ่งจะรวมข้อมูลธุรกรรมที่เตรียมไว้กับข้อมูลราคาที่รวบรวม
คลิกรูปแบบการออกแบบการเพิ่มประสิทธิภาพราคาที่ด้านบนของหน้าเพื่อปิดหน้า Transformer และกลับไปที่มุมมองโฟลว์ จากนั้นคลิกออบเจ็กต์ข้อมูลการกำหนดราคาสินค้าและแก้ไขสูตร
- เปลี่ยนคอลัมน์ราคาแบบรายเดือน: คลิกสูตรระหว่างขั้นตอนที่ 2 และ 3 เพื่อดูว่าข้อมูลมีลักษณะอย่างไรก่อนขั้นตอนการเปลี่ยน คุณจะเห็นว่าข้อมูลมีมูลค่าธุรกรรมในคอลัมน์ที่แตกต่างกันสำหรับแต่ละเดือน ได้แก่ ม.ค. ก.พ. และ มี.ค. ซึ่งไม่ใช่รูปแบบที่สะดวกสำหรับการใช้การคำนวณการรวม (เช่น ผลรวม ธุรกรรมเฉลี่ย) ใน SQL คุณต้องยกเลิกการหมุนข้อมูลเพื่อให้แต่ละคอลัมน์กลายเป็นแถวในตาราง BigQuery สูตรนี้ใช้ฟังก์ชัน unpivot เพื่อเปลี่ยน 3 คอลัมน์เป็น 1 แถวสำหรับแต่ละเดือนเพื่อให้ใช้การคำนวณกลุ่มได้ง่ายขึ้น
- คํานวณมูลค่าธุรกรรมเฉลี่ยตามลูกค้า ผลิตภัณฑ์ และวันที่: เราต้องการคํานวณมูลค่าธุรกรรมเฉลี่ยสําหรับลูกค้า ผลิตภัณฑ์ และวันที่แต่ละรายการ เราสามารถใช้ฟังก์ชันรวมข้อมูลและสร้างตารางใหม่ (ตัวเลือก "จัดกลุ่มเป็นตารางใหม่") ในกรณีดังกล่าว ระบบจะรวบรวมข้อมูลที่ระดับกลุ่ม และเราจะสูญเสียรายละเอียดของธุรกรรมแต่ละรายการ หรือเราจะเลือกเก็บทั้งรายละเอียดและค่าที่รวบรวมไว้ในชุดข้อมูลเดียวกันก็ได้ (ตัวเลือก "จัดกลุ่มตามเป็นคอลัมน์ใหม่") ซึ่งจะช่วยให้การใช้สัดส่วน (เช่น % การมีส่วนร่วมของหมวดหมู่สินค้าต่อรายได้โดยรวม) สะดวกมากยิ่งขึ้น คุณลองใช้ลักษณะการทำงานนี้ได้โดยแก้ไขขั้นตอนที่ 7 ของสูตร แล้วเลือกตัวเลือก "จัดกลุ่มตามเป็นตารางใหม่" หรือ "จัดกลุ่มตามเป็นคอลัมน์ใหม่" เพื่อดูความแตกต่าง
- วันที่เข้าร่วม: สุดท้ายนี้ เราจะใช้ join เพื่อรวมชุดข้อมูลหลายชุดให้เป็นชุดข้อมูลขนาดใหญ่ขึ้นโดยการเพิ่มคอลัมน์ลงในชุดข้อมูลเริ่มต้น ในขั้นตอนนี้ ระบบจะรวมข้อมูลราคาเข้ากับเอาต์พุตของสูตรข้อมูลธุรกรรมโดยอิงตาม "Pricing Data.Product Code" = "Transaction Data.SKU" และ "Pricing Data.Price Date" = "Transaction Data.Fiscal Date"
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนรูปแบบที่คุณใช้กับ Dataprep ได้ที่ชีตสรุปการจัดระเบียบข้อมูลของ Trifacta
8. ดูสูตรการแมปสคีมา
สูตรสุดท้าย "การแมปสคีมา" จะช่วยให้มั่นใจว่าตาราง CDM ที่ได้จะตรงกับสคีมาของตารางเอาต์พุต BigQuery ที่มีอยู่ ในที่นี้ ฟังก์ชันเป้าหมายด่วน ใช้เพื่อจัดรูปแบบโครงสร้างข้อมูลใหม่ให้ตรงกับตาราง BigQuery โดยใช้การจับคู่แบบคร่าวๆ เพื่อเปรียบเทียบทั้ง 2 สคีมาและใช้การเปลี่ยนแปลงอัตโนมัติ
9. รวมไว้ในโครงสร้างเดียว
เมื่อกำหนดค่าแหล่งที่มาและปลายทางแล้ว รวมถึงได้สำรวจขั้นตอนของโฟลว์แล้ว คุณก็เรียกใช้โฟลว์เพื่อแปลงและโหลดตาราง CDM ลงใน BigQuery ได้
- เรียกใช้เอาต์พุตการแมปสคีมา: ในมุมมองโฟลว์ ให้เลือกออบเจ็กต์เอาต์พุตการแมปสคีมา แล้วคลิกปุ่ม "เรียกใช้" ในแผงรายละเอียด เลือกสภาพแวดล้อมที่เรียกใช้ "Trifacta Photon" และยกเลิกการเลือก "ไม่สนใจข้อผิดพลาดของสูตร" จากนั้นคลิกปุ่ม "เรียกใช้" หากมีตาราง BigQuery ที่ระบุ Dataprep จะผนวกแถวใหม่ มิฉะนั้นจะสร้างตารางใหม่
- ดูสถานะของงาน: Dataprep จะเปิดหน้าเรียกใช้งานโดยอัตโนมัติเพื่อให้คุณตรวจสอบการดำเนินการได้ การดำเนินการและโหลดตาราง 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
ในโมเดลนี้ คุณจะเห็นDerived Table ( ในไฟล์ View นี้) ซึ่งเราแสดงให้เห็นก่อนหน้านี้เพื่อตรวจสอบการเปลี่ยนแปลงราคา
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
)
;;
}
...
}
รวมถึงโมเดล ARIMA ของ BigQuery ML ที่เราแสดงก่อนหน้านี้ เพื่อคาดการณ์ยอดขายในอนาคต ( ในไฟล์มุมมองนี้)
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. ขอแสดงความยินดี
ตอนนี้คุณทราบขั้นตอนสำคัญที่จำเป็นในการเพิ่มประสิทธิภาพการกำหนดราคาผลิตภัณฑ์ค้าปลีกแล้ว
สิ่งต่อไปที่ควรทำ
สำรวจรูปแบบอ้างอิงการวิเคราะห์อัจฉริยะอื่นๆ
อ่านเพิ่มเติม
- อ่านบล็อกที่นี่
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ Dataprep ที่นี่
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ BigQuery Machine Learning ที่นี่
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ Looker ที่นี่