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

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

สิ่งที่คุณต้องมี

2. สร้าง CDM ใน BigQuery

ในส่วนนี้ คุณจะสร้าง Common Data Model (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 ตัวอย่าง ซึ่งคุณใช้เพื่อเปลี่ยนรูปแบบและรวมชุดข้อมูลตัวอย่างที่แสดง ในส่วนก่อนหน้า โฟลว์แสดงถึงไปป์ไลน์ หรือออบเจ็กต์ที่รวมชุดข้อมูลและสูตรเข้าด้วยกัน ซึ่งใช้เพื่อเปลี่ยนรูปแบบและรวมชุดข้อมูล

  1. ดาวน์โหลดแพ็กเกจโฟลว์รูปแบบการเพิ่มประสิทธิภาพการกำหนดราคาจาก GitHub แต่อย่าแตกไฟล์ ไฟล์นี้มีโฟลว์รูปแบบการออกแบบการเพิ่มประสิทธิภาพราคาที่ใช้ในการเปลี่ยนรูปแบบข้อมูลตัวอย่าง
  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. แก้ไข "ปลายทางที่กำหนดเวลาไว้"

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

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

5. จัดรูปแบบข้อมูลให้เป็นมาตรฐาน

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

a033de41c68acc8b.png

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

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

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

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

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

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

7. ดูสูตรข้อมูลการกำหนดราคาผลิตภัณฑ์

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

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

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

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

ในโมเดลนี้ คุณจะเห็น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% หรือไม่ เนื่องจากอาจหมายความว่าคุณควรลดราคา

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. ขอแสดงความยินดี

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

สิ่งต่อไปที่ควรทำ

สำรวจรูปแบบอ้างอิงการวิเคราะห์อัจฉริยะอื่นๆ

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