การเพิ่มประสิทธิภาพราคาของผลิตภัณฑ์ขายปลีก

1. บทนำ

อัปเดตล่าสุด 15-09-2021

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

dd8545e0c9156b13.png

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

แผนภาพต่อไปนี้แสดงคอมโพเนนต์ของ Google Cloud ที่ใช้สร้างไปป์ไลน์ข้อมูลวิเคราะห์การเพิ่มประสิทธิภาพการกำหนดราคา

e5d74e43074eedf4.png

สิ่งที่คุณจะสร้าง

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

สิ่งที่คุณจะได้เรียนรู้

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

สิ่งที่ต้องมี

2. สร้าง CDM ใน BigQuery

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

  1. เปิดคอนโซล BigQuery
  2. เลือกโปรเจ็กต์ที่ต้องการใช้เพื่อทดสอบรูปแบบการอ้างอิงนี้
  3. ใช้ชุดข้อมูลที่มีอยู่หรือสร้างชุดข้อมูล BigQuery ตั้งชื่อชุดข้อมูล Pricing_CDM
  4. สร้างตาราง
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 แสดงถึงไปป์ไลน์หรือออบเจ็กต์ที่รวบรวมชุดข้อมูลและสูตรอาหาร ซึ่งใช้ในการเปลี่ยนรูปแบบและรวมชุดข้อมูลเข้าด้วยกัน

  1. ดาวน์โหลดแพ็กเกจรูปแบบการเพิ่มประสิทธิภาพการกำหนดราคาจาก GitHup แต่อย่าแตกไฟล์ ZIP ไฟล์นี้มีโฟลว์การออกแบบการเพิ่มประสิทธิภาพการกำหนดราคาที่ใช้ในการแปลงข้อมูลตัวอย่าง
  2. ใน Dataprep ให้คลิกไอคอนโฟลว์ในแถบนำทางด้านซ้าย จากนั้นในมุมมองโฟลว์ ให้เลือกนำเข้าจากเมนูตามบริบท หลังจากนำเข้าขั้นตอนแล้ว คุณสามารถเลือกขั้นตอนเพื่อดูและแก้ไขได้

dd5213e4cf1e313f.png

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

7e4af3e82955343f.png

แทนที่ค่าปัจจุบันด้วยลิงก์ที่นำไปยังธุรกรรมและราคาผลิตภัณฑ์ใน Google ชีต

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

799bce35e0a60e87.png

  1. กำหนดตารางเอาต์พุต BigQuery:

ในขั้นตอนนี้ คุณจะต้องเชื่อมโยงตำแหน่งสำหรับตารางเอาต์พุต CDM_Pricing ของ BigQuery ที่จะโหลดทุกครั้งที่คุณเรียกใช้งาน Dataoprep

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

  1. แก้ไข "ปลายทางที่กำหนดเอง" ในแผงรายละเอียดในส่วนปลายทางที่กำหนดเอง ให้คลิกปุ่มแก้ไข ในหน้าการตั้งค่าการเผยแพร่ ใต้ "การดำเนินการการเผยแพร่" หากมีการดำเนินการเผยแพร่อยู่แล้ว ให้แก้ไข หรือคลิกปุ่ม "เพิ่มการทำงาน" จากนั้นให้ไปที่ชุดข้อมูล BigQuery ไปยังชุดข้อมูล Pricing_CDM ที่สร้างขึ้นในขั้นตอนก่อนหน้า แล้วเลือกตาราง CDM_Pricing ตรวจสอบว่าได้เลือกเพิ่มในตารางนี้ทุกครั้งที่เรียกใช้ แล้วคลิกเพิ่ม คลิกบันทึกการตั้งค่า
  2. แก้ไข "ปลายทางที่กำหนดเวลาไว้"

ในแผงรายละเอียดในส่วนปลายทางที่กำหนดเวลาไว้ ให้คลิกแก้ไข

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

5. ทำให้ข้อมูลเป็นมาตรฐาน

การรวมโฟลว์ที่มีให้และมีรูปแบบและทำความสะอาดข้อมูลธุรกรรม จากนั้นจะนำผลลัพธ์ไปผนวกกับคำอธิบายบริษัทและข้อมูลการกำหนดราคาแบบรวมสำหรับการรายงาน ในหน้านี้ คุณจะอธิบายส่วนประกอบต่างๆ ของโฟลว์ ซึ่งดูได้ในรูปภาพด้านล่าง

a033de41c68acc8b.png

6. สำรวจสูตรข้อมูลธุรกรรม

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

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

คุณยังคลิกเมนู "เพิ่มเติม" ในแต่ละขั้นตอนของสูตรอาหารได้ แล้วเลือก "ไปยังรายการที่เลือก" หรือ "แก้ไข" เพื่อดูวิธีการทำงานของการเปลี่ยนรูปแบบ

  1. Union Transaction: ขั้นตอนแรกในยูเนียนสูตรข้อมูลธุรกรรมซึ่งจัดเก็บอยู่ในชีตต่างๆ ซึ่งแสดงในแต่ละเดือน
  2. ทำให้คำอธิบายของลูกค้าเป็นมาตรฐาน: ขั้นตอนต่อไปในสูตรอาหารคือคำอธิบายลูกค้าที่เป็นมาตรฐาน ซึ่งหมายความว่าชื่อของลูกค้าอาจคล้ายคลึงกัน แต่มีการเปลี่ยนแปลงเล็กน้อย และเราต้องการให้เป็นมาตรฐานตามชื่อ สูตรอาหารแสดงวิธีที่เป็นไปได้ 2 วิธี ประการแรก ฟีเจอร์นี้ใช้ประโยชน์จากอัลกอริทึมการกำหนดมาตรฐาน ซึ่งสามารถกำหนดค่าด้วยตัวเลือกการกำหนดมาตรฐานที่แตกต่างกัน เช่น "สตริงที่คล้ายกัน" ที่ซึ่งค่าที่มีอักขระเหมือนกันจัดไว้เป็นคลัสเตอร์เดียวกัน หรือ "การออกเสียง" ที่ซึ่งค่าที่ฟังดูคล้ายกันจะจับกลุ่มไว้ด้วยกัน หรือคุณจะค้นหาคำอธิบายบริษัทในตาราง BigQuery ที่อ้างอิงไว้ข้างต้นก็ได้ โดยใช้รหัสบริษัท

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

7. สำรวจสูตรข้อมูลราคาผลิตภัณฑ์

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

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

  1. คอลัมน์ราคารายเดือนยกเลิกการทำ Pivot: คลิกสูตรที่อยู่ระหว่างขั้นตอน 2 ถึง 3 เพื่อดูว่าข้อมูลมีลักษณะเป็นอย่างไรก่อนขั้นตอน "ยกเลิกการ Pivot" คุณจะเห็นว่าข้อมูลมีค่าธุรกรรมในคอลัมน์ที่แตกต่างกันของแต่ละเดือน นั่นคือ ม.ค. ที่มี.ค. รูปแบบนี้ไม่ใช่รูปแบบที่สะดวกในการใช้การคำนวณการรวม (เช่น ผลรวม ธุรกรรมเฉลี่ย) ใน SQL ต้องยกเลิกการทำตารางข้อมูลเพื่อให้แต่ละคอลัมน์กลายเป็นแถวในตาราง BigQuery สูตรนี้ใช้ประโยชน์จากฟังก์ชัน unpivot เพื่อแปลงทั้ง 3 คอลัมน์เป็น 1 แถวของแต่ละเดือน เพื่อให้นําไปใช้การคํานวณแบบกลุ่มได้ง่ายขึ้น
  2. คำนวณมูลค่าธุรกรรมเฉลี่ยตามลูกค้า ผลิตภัณฑ์ และวันที่: เราต้องการคำนวณมูลค่าธุรกรรมเฉลี่ยสำหรับลูกค้า ผลิตภัณฑ์ และข้อมูลแต่ละรายการ เราใช้ฟังก์ชันการรวมและสร้างตารางใหม่ (ตัวเลือก "จัดกลุ่มตามตารางใหม่") ได้ ในกรณีดังกล่าว เราจะรวบรวมข้อมูลที่ระดับกลุ่ม และเราจะสูญเสียรายละเอียดของธุรกรรมแต่ละรายการไป หรือเราอาจตัดสินใจเก็บทั้งรายละเอียดและค่าแบบรวมไว้ในชุดข้อมูลเดียวกัน (ตัวเลือก "จัดกลุ่มตามคอลัมน์ใหม่") ซึ่งจะสะดวกมากที่จะใช้อัตราส่วน (เช่น % การมีส่วนร่วมของหมวดหมู่ผลิตภัณฑ์ต่อรายได้โดยรวม) คุณลองใช้ลักษณะการทำงานนี้ได้โดยแก้ไขขั้นตอนที่ 7 ของสูตรอาหาร แล้วเลือกตัวเลือก "จัดกลุ่มตามตารางใหม่" หรือ "จัดกลุ่มตามคอลัมน์ใหม่" เพื่อดูความแตกต่าง
  3. วันที่กำหนดราคาการรวม: สุดท้ายจะใช้การรวมเพื่อรวมชุดข้อมูลหลายรายการไว้ในชุดข้อมูลที่มีขนาดใหญ่ขึ้นสำหรับการเพิ่มคอลัมน์ลงในชุดข้อมูลเริ่มต้น ในขั้นตอนนี้ ข้อมูลราคาจะผนวกเข้ากับเอาต์พุตของสูตรข้อมูลธุรกรรมตาม "ข้อมูลราคาและรหัสผลิตภัณฑ์" = ข้อมูลธุรกรรม.SKU' และ "Price Data.Price Date" = "ข้อมูลธุรกรรม.วันที่เรียกเก็บเงิน"

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนรูปแบบที่คุณนําไปใช้ได้ด้วย Dataprep ได้ที่ข้อมูลสรุปของ Trifacta Data Wrangling

8. ดูสูตรการแมปสคีมา

การแมปสคีมาของสูตรล่าสุดช่วยให้แน่ใจว่าตาราง CDM ที่ได้ตรงกับสคีมาของตารางเอาต์พุต BigQuery ที่มีอยู่ ในที่นี้ ฟังก์ชันเป้าหมายอย่างรวดเร็ว จะใช้เพื่อจัดรูปแบบโครงสร้างข้อมูลใหม่ให้ตรงกับตาราง BigQuery โดยใช้การจับคู่แบบ Fuzzy เพื่อเปรียบเทียบทั้ง 2 สคีมาและใช้การเปลี่ยนแปลงอัตโนมัติ

9. รวมกันในโครงสร้างเดียว

เนื่องจากเมื่อกําหนดค่าแหล่งที่มาและปลายทางแล้ว และศึกษาขั้นตอนต่างๆ ของโฟลว์แล้ว คุณจะเรียกใช้โฟลว์เพื่อเปลี่ยนรูปแบบและโหลดตาราง CDM ลงใน BigQuery ได้

  1. เรียกใช้เอาต์พุตการแมปสคีมา: ในมุมมองโฟลว์ ให้เลือกออบเจ็กต์เอาต์พุตการแมปสคีมา แล้วคลิก "เรียกใช้" ในแผงรายละเอียด เลือก "Trifacta Photon" กำลังเรียกใช้สภาพแวดล้อม และยกเลิกการเลือก "ละเว้นข้อผิดพลาดของสูตรอาหาร" จากนั้นคลิกปุ่ม เรียกใช้ หากมีตาราง BigQuery ที่ระบุอยู่ Dataprep จะเพิ่มแถวใหม่ต่อท้าย มิเช่นนั้น ระบบจะสร้างตารางใหม่
  2. ดูสถานะงาน: Dataprep จะเปิดหน้าเรียกใช้งานโดยอัตโนมัติเพื่อให้คุณตรวจสอบการสั่งงานได้ อาจใช้เวลา 2-3 นาทีเพื่อดำเนินการต่อและโหลดตาราง BigQuery เมื่องานเสร็จสมบูรณ์แล้ว เอาต์พุต CDM สำหรับการกำหนดราคาจะโหลดใน BigQuery ในรูปแบบที่สะอาด มีโครงสร้าง และเป็นมาตรฐานซึ่งพร้อมสำหรับการวิเคราะห์

10. แสดงข้อมูลวิเคราะห์และ ML/AI

ข้อกำหนดเบื้องต้นของ Analytics

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

คลิกปุ่ม + สร้างตาราง และกำหนดพารามิเตอร์เหล่านี้:

  • สร้างตารางจากการอัปโหลดและเลือกไฟล์ CDM_Pricing_Large_Table.csv
  • ตรวจหาสคีมาอัตโนมัติ ตรวจสอบสคีมาและพารามิเตอร์อินพุต
  • ตัวเลือกขั้นสูง ค่ากำหนดในการเขียน เขียนทับตาราง

ff9ec8b9f580b139.png

  • คลิก "สร้างตาราง"

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

93e4c05972af1999.png

11. ดูผลของการเปลี่ยนแปลงราคา

ตัวอย่างหนึ่งของสิ่งที่คุณอาจต้องการวิเคราะห์คือการเปลี่ยนแปลงลักษณะการทำงานของคำสั่งซื้อเมื่อคุณเปลี่ยนแปลงราคาของสินค้าก่อนหน้านี้

  1. ก่อนอื่นให้สร้างตารางชั่วคราวที่มี 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

b320ba40f0692826.png

  1. จากนั้น คุณสามารถใช้ตารางชั่วคราวเพื่อคำนวณการเปลี่ยนแปลงราคาเฉลี่ยใน SKU ต่างๆ ดังนี้
select avg((previous_list-list_price_converged)/nullif(previous_list,0))*100 as average_price_change from price_changes;
  1. สุดท้าย คุณสามารถวิเคราะห์สิ่งที่เกิดขึ้นหลังจากมีการเปลี่ยนแปลงราคาโดยดูความสัมพันธ์ระหว่างการเปลี่ยนแปลงราคาแต่ละครั้งกับจำนวนสินค้าทั้งหมดที่สั่งซื้อ ดังนี้
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 เพื่อคาดการณ์จำนวนสินค้าแต่ละรายการที่จะขายได้

  1. คุณต้องสร้างโมเดล 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;
  1. ต่อไปคุณใช้ฟังก์ชัน ML.FORECAST เพื่อคาดการณ์ยอดขายในอนาคตของแต่ละผลิตภัณฑ์ ดังนี้
select
*
from
ML.FORECAST(model testing.bqml_arima,
            struct(30 as horizon, 0.8 as confidence_level));
  1. การคาดการณ์เหล่านี้ที่มีอยู่จะช่วยให้คุณพยายามทำความเข้าใจสิ่งที่จะเกิดขึ้นหากขึ้นราคาได้ ตัวอย่างเช่น หากคุณขึ้นราคาของผลิตภัณฑ์ทุกรายการขึ้น 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% หรือไม่ เนื่องจากอาจหมายความว่าคุณควรลดราคา

b531e169b192c111.png

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

6a98666697aa7a1.gif

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

d3a9d37c89c39b99.gif

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

14. ปรับให้เข้ากับระบบการกำหนดราคาของคุณ

แม้ว่าบทแนะนำนี้จะเปลี่ยนแหล่งข้อมูลตัวอย่าง แต่คุณจะพบกับความท้าทายด้านข้อมูลที่คล้ายกันมากสำหรับเนื้อหาการกำหนดราคาที่อยู่บนแพลตฟอร์มต่างๆ ของคุณ ชิ้นงานการกำหนดราคามีรูปแบบการส่งออกที่ต่างกัน (มักอยู่ในรูปแบบ xls, ชีต, csv, txt, ฐานข้อมูลเชิงสัมพันธ์, แอปพลิเคชันธุรกิจ) สำหรับผลลัพธ์โดยละเอียดและสรุป ซึ่งแต่ละรูปแบบสามารถเชื่อมต่อกับ Dataprep ได้ เราขอแนะนําให้เริ่มต้นด้วยการอธิบายข้อกําหนดในการเปลี่ยนรูปแบบคล้ายกับตัวอย่างที่ให้ไว้ด้านบน หลังจากชี้แจงข้อกำหนดและคุณได้ระบุประเภทของการเปลี่ยนรูปแบบที่จำเป็นแล้ว คุณสามารถออกแบบการเปลี่ยนแปลงเหล่านั้นด้วย Dataprep

  1. ทำสำเนาขั้นตอน Dataprep (คลิกปุ่ม **... "**เพิ่มเติม" ทางด้านขวาของโฟลว์แล้วเลือกตัวเลือกทำซ้ำ) ที่คุณจะปรับแต่ง หรือเริ่มใหม่ตั้งแต่ต้นโดยใช้ขั้นตอน Dataprep ใหม่
  2. เชื่อมต่อกับชุดข้อมูลการกำหนดราคาของคุณเอง Dataprep รองรับรูปแบบไฟล์ต่างๆ เช่น Excel, CSV, Google ชีต, JSON อยู่แล้ว นอกจากนี้ คุณยังเชื่อมต่อกับระบบอื่นๆ โดยใช้เครื่องมือเชื่อมต่อ Dataprep ได้ด้วย
  3. ส่งชิ้นงานข้อมูลไปยังหมวดหมู่การเปลี่ยนรูปแบบต่างๆ ที่คุณระบุ สร้างสูตรอาหาร 1 สูตรสำหรับแต่ละหมวดหมู่ รับแรงบันดาลใจจากรูปแบบการออกแบบนี้ในการแปลงข้อมูลและเขียนสูตรอาหารของคุณเอง หากพบปัญหา คุณก็ไม่ต้องกังวลไป โปรดขอความช่วยเหลือในกล่องโต้ตอบแชทที่ด้านล่างซ้ายของหน้าจอ Dataprep
  4. เชื่อมต่อสูตรอาหารกับอินสแตนซ์ BigQuery คุณไม่จำเป็นต้องกังวลเรื่องการสร้างตารางด้วยตนเองใน BigQuery โดย Dataprep จะจัดการตารางให้คุณโดยอัตโนมัติ เราขอแนะนําให้เมื่อคุณเพิ่มเอาต์พุตลงในโฟลว์ ให้เลือกปลายทางด้วยตนเองแล้ววางตารางในการเรียกใช้แต่ละครั้ง ทดสอบแต่ละสูตรจนได้ผลลัพธ์ตามที่คาดหวังไว้ หลังจากทดสอบเสร็จแล้ว คุณจะแปลงผลลัพธ์เป็น "ต่อท้าย" ในตารางในการเรียกใช้แต่ละครั้งเพื่อหลีกเลี่ยงการลบข้อมูลก่อนหน้า
  5. คุณเลือกที่จะเชื่อมโยงโฟลว์ให้เรียกใช้ตามกำหนดเวลาก็ได้ วิธีนี้มีประโยชน์หากกระบวนการของคุณจำเป็นต้องทำงานอย่างต่อเนื่อง คุณอาจกำหนดเวลาโหลดคำตอบทุกวันหรือทุกชั่วโมงตามความใหม่ที่ต้องการ หากตัดสินใจเรียกใช้โฟลว์ตามกำหนดการ คุณจะต้องเพิ่มเอาต์พุตปลายทางของกำหนดการลงในขั้นตอนสำหรับสูตรอาหารแต่ละรายการด้วย

แก้ไขโมเดลแมชชีนเลิร์นนิงของ BigQuery

บทแนะนำนี้มีตัวอย่างโมเดล ARIMA อย่างไรก็ตาม ยังมีพารามิเตอร์เพิ่มเติมที่คุณสามารถควบคุมได้ขณะพัฒนาโมเดลเพื่อให้มั่นใจว่าโมเดลจะเหมาะกับข้อมูลของคุณมากที่สุด ดูรายละเอียดเพิ่มเติมได้ในตัวอย่าง ในเอกสารประกอบที่นี่ นอกจากนี้ คุณยังใช้ฟังก์ชัน ML.ARIMA_EVALUATE, ML.ARIMA_COEFFICIENTS และ ML.EXPLAIN_FORECAST ของ BigQuery เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับโมเดลและทำการตัดสินใจในการเพิ่มประสิทธิภาพได้ด้วย

แก้ไขรายงาน Looker

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

15. ขอแสดงความยินดี

ตอนนี้คุณก็ได้ทราบขั้นตอนสำคัญที่จำเป็นต่อการเพิ่มประสิทธิภาพผลิตภัณฑ์ค้าปลีกแล้ว การกำหนดราคา

สิ่งที่ต้องทำต่อไป

ดูรูปแบบการอ้างอิง Smart Analytics อื่นๆ

อ่านเพิ่มเติม