بهینه سازی قیمت محصولات خرده فروشی

1. مقدمه

آخرین به روز رسانی: 2021-09-15

داده‌های مورد نیاز برای ایجاد بینش قیمت‌گذاری و بهینه‌سازی ماهیت متفاوتی دارند (سیستم‌های مختلف، واقعیت‌های محلی مختلف، و غیره)، بنابراین ایجاد یک جدول CDM با ساختار، استاندارد و تمیز بسیار مهم است. این شامل ویژگی‌های کلیدی برای بهینه‌سازی قیمت‌گذاری است، مانند معاملات، محصولات، قیمت‌ها و مشتریان. در این سند، ما شما را از طریق مراحل ذکر شده در زیر راهنمایی می‌کنیم، و شروعی سریع برای تجزیه و تحلیل قیمت ارائه می‌کنیم که می‌توانید آن را گسترش دهید و برای نیازهای خود سفارشی کنید. نمودار زیر مراحل پوشش داده شده در این سند را نشان می دهد.

dd8545e0c9156b13.png

  1. ارزیابی منابع داده: ابتدا، شما باید فهرستی از منابع داده را که برای ایجاد CDM استفاده می شود، دریافت کنید. در این مرحله از Dataprep برای بررسی و شناسایی مسائل از داده های ورودی نیز استفاده می شود. به عنوان مثال، مقادیر ناپدید و ناهماهنگ، قراردادهای نام‌گذاری ناسازگار، موارد تکراری، مسائل مربوط به یکپارچگی داده‌ها، موارد پرت و غیره.
  2. استانداردسازی داده ها: در مرحله بعد، مشکلات شناسایی شده قبلی برای اطمینان از صحت، یکپارچگی، سازگاری و کامل بودن داده ها رفع می شوند. این فرآیند می‌تواند شامل تبدیل‌های مختلفی در Dataprep باشد، مانند قالب‌بندی تاریخ، استانداردسازی ارزش، تبدیل واحد، فیلتر کردن فیلدها و مقادیر غیرضروری، و تقسیم، پیوستن یا حذف مجدد داده‌های منبع.
  3. یکپارچه سازی در یک ساختار: مرحله بعدی خط لوله هر منبع داده را به یک جدول واحد و گسترده در BigQuery می پیوندد که شامل همه ویژگی ها در بهترین سطح دانه بندی است. این ساختار غیرعادی شده اجازه می دهد تا پرس و جوهای تحلیلی کارآمدی را که نیازی به اتصال ندارند.
  4. ارائه تجزیه و تحلیل و ML/AI: هنگامی که داده ها تمیز و برای تجزیه و تحلیل قالب بندی شدند، تحلیلگران می توانند داده های تاریخی را برای درک تأثیر تغییرات قیمت گذاری قبلی بررسی کنند. علاوه بر این، BigQuery ML می تواند برای ایجاد مدل های پیش بینی کننده که فروش آینده را تخمین می زند، استفاده شود. خروجی این مدل‌ها می‌تواند در داشبوردهای Looker گنجانده شود تا «سناریوهای چه می‌شود» را ایجاد کند که در آن کاربران تجاری می‌توانند تجزیه و تحلیل کنند که فروش با تغییرات قیمتی خاص چگونه به نظر می‌رسد.

نمودار زیر مؤلفه‌های Google Cloud را نشان می‌دهد که برای ساخت خط لوله تجزیه و تحلیل بهینه‌سازی قیمت‌گذاری استفاده می‌شوند.

e5d74e43074eedf4.png

چیزی که خواهی ساخت

در اینجا به شما نشان خواهیم داد که چگونه یک انبار داده بهینه‌سازی قیمت‌گذاری طراحی کنید، آماده‌سازی داده‌ها را در طول زمان به‌طور خودکار انجام دهید، از یادگیری ماشینی برای پیش‌بینی تأثیر تغییرات در قیمت‌گذاری محصول استفاده کنید، و گزارش‌هایی را برای ارائه بینش عملی به تیم خود توسعه دهید.

چیزی که یاد خواهید گرفت

  • نحوه اتصال Dataprep به منابع داده برای تجزیه و تحلیل قیمت، که می‌تواند در پایگاه‌های داده رابطه‌ای، فایل‌های مسطح، Google Sheets و سایر برنامه‌های پشتیبانی شده ذخیره شود.
  • نحوه ایجاد یک جریان 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 Sheets و BigQuery ذخیره می‌شوند.

  • تراکنش‌ها برگه Google که شامل یک ردیف برای هر تراکنش است. دارای جزئیاتی مانند مقدار هر محصول فروخته شده، کل فروش ناخالص و هزینه های مرتبط است.
  • برگه Google قیمت گذاری محصول که شامل قیمت هر محصول برای یک مشتری معین برای هر ماه است.
  • جدول company_descriptions BigQuery که حاوی اطلاعات تک تک مشتریان است.

این جدول company_descriptions BigQuery را می توان با استفاده از عبارت زیر ایجاد کرد:

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. بسته جریان الگوی بهینه سازی قیمت را از GitHup دانلود کنید، اما آن را از حالت فشرده خارج نکنید. این فایل حاوی جریان الگوی طراحی بهینه سازی قیمت است که برای تبدیل داده های نمونه استفاده می شود.
  2. در Dataprep، روی نماد Flow در نوار ناوبری سمت چپ کلیک کنید. سپس در نمای جریان، از منوی زمینه، Import را انتخاب کنید. پس از وارد کردن جریان، می توانید آن را برای مشاهده و ویرایش آن انتخاب کنید.

dd5213e4cf1e313f.png

  1. در سمت چپ جریان، قیمت محصول و هر یک از سه تراکنش Google Sheets باید به عنوان مجموعه داده متصل شوند. برای انجام این کار، روی اشیای مجموعه داده Google Sheets کلیک راست کرده و Replace را انتخاب کنید. سپس بر روی لینک Import Datasets کلیک کنید. همانطور که در نمودار زیر نشان داده شده است، روی مداد "ویرایش مسیر" کلیک کنید.

7e4af3e82955343f.png

ارزش فعلی را با پیوندی که به تراکنش‌ها و قیمت‌گذاری محصول Google Sheets اشاره می‌کند، جایگزین کنید .

وقتی Google Sheets حاوی چندین برگه است، می‌توانید برگه‌ای را که می‌خواهید در منو استفاده کنید انتخاب کنید. روی Edit کلیک کنید و برگه هایی را که می خواهید به عنوان منبع داده استفاده کنید انتخاب کنید، سپس روی Save کلیک کنید و روی Import & Add to Flow کلیک کنید. وقتی دوباره به حالت مدال برگشتید، روی Replace کلیک کنید. در این جریان، هر صفحه به‌عنوان مجموعه داده‌های خود نشان داده می‌شود تا بعداً در دستور العمل بعدی، منابع ناهمگون را نشان دهد.

799bce35e0a60e87.png

  1. جداول خروجی BigQuery را تعریف کنید:

در این مرحله، مکان جدول خروجی BigQuery CDM_Pricing را برای بارگذاری هر بار که کار Dataoprep را اجرا می کنید، مرتبط می کنید.

در نمای جریان، روی نماد Schema Mapping Output کلیک کنید، در پانل جزئیات، روی تب Destinations کلیک کنید. از آنجا، هم خروجی Manual Destinations مورد استفاده برای آزمایش و هم خروجی Scheduled Destinations مورد استفاده در زمانی که می‌خواهید کل جریان خود را خودکار کنید، ویرایش کنید. برای انجام این کار این دستورالعمل ها را دنبال کنید:

  1. "مقصدهای دستی" را ویرایش کنید در پانل جزئیات، در بخش مقصدهای دستی، روی دکمه ویرایش کلیک کنید. در صفحه تنظیمات انتشار ، در قسمت اقدامات انتشار، اگر اقدام انتشاری از قبل وجود داشته باشد، آن را ویرایش کنید، در غیر این صورت روی دکمه افزودن اقدام کلیک کنید. از آنجا، مجموعه داده های BigQuery را به مجموعه داده Pricing_CDM که در مرحله قبل ایجاد کردید، هدایت کنید و جدول CDM_Pricing را انتخاب کنید. تأیید کنید که هر بار اجرا به این جدول افزوده شود و سپس روی Add کلیک کنید روی Save Settings کلیک کنید.
  2. ویرایش "مقصدهای برنامه ریزی شده"

در پانل جزئیات، در بخش مقصدهای زمان‌بندی شده، روی ویرایش کلیک کنید.

تنظیمات از Manual Destinations به ارث رسیده اند و شما نیازی به ایجاد هیچ تغییری ندارید. روی ذخیره تنظیمات کلیک کنید.

5. داده ها را استاندارد کنید

جریان ارائه شده، داده‌های تراکنش‌ها را قالب‌بندی و پاک می‌کند و سپس نتیجه را با توضیحات شرکت و داده‌های قیمت‌گذاری جمع‌آوری شده برای گزارش می‌پیوندد. در اینجا با اجزای جریان آشنا می شوید که در تصویر زیر قابل مشاهده است.

a033de41c68acc8b.png

6. دستور العمل داده های معاملاتی را کاوش کنید

ابتدا، آنچه را که در دستور العمل داده‌های تراکنش اتفاق می‌افتد، بررسی خواهید کرد، که برای تهیه داده‌های تراکنش استفاده می‌شود. روی شی Transaction Data در Flow View کلیک کنید، در Details Panel روی دکمه Edit Recipe کلیک کنید.

صفحه Transformer با دستور العمل ارائه شده در پانل جزئیات باز می شود. Recipe شامل تمام مراحل تبدیلی است که روی داده ها اعمال می شود. می‌توانید با کلیک کردن در بین هر یک از مراحل، در داخل دستور غذا حرکت کنید تا وضعیت داده‌ها را در این موقعیت خاص در دستور غذا ببینید.

همچنین می‌توانید برای هر مرحله از دستور غذا روی منوی More کلیک کنید، و Go to Selected یا Edit it را انتخاب کنید تا نحوه تغییر شکل را بررسی کنید.

  1. تراکنش‌های اتحادیه: اولین مرحله در دستور العمل داده‌های تراکنش، تراکنش‌های اتحادیه در برگه‌های مختلفی که هر ماه را نشان می‌دهند ذخیره می‌شوند.
  2. استاندارد کردن توضیحات مشتری: مرحله بعدی دستور، توصیفات مشتری را استاندارد می کند. این بدان معنی است که نام مشتریان ممکن است با تغییرات جزئی مشابه باشد و ما می خواهیم آنها را به عنوان روی نام عادی سازیم. دستور العمل دو رویکرد بالقوه را نشان می دهد. اول، از الگوریتم استانداردسازی استفاده می‌کند که می‌تواند با گزینه‌های استانداردسازی مختلف مانند «رشته‌های مشابه» که در آن مقادیر با کاراکترهای مشترک در کنار هم قرار می‌گیرند، یا «تلفظ» که در آن مقادیری که صداهای مشابهی با هم دارند، پیکربندی شود. همچنین، می‌توانید با استفاده از شناسه شرکت، توضیحات شرکت را در جدول BigQuery که در بالا به آن اشاره شده است ، جستجو کنید .

می‌توانید دستورالعمل‌ها را برای کشف تکنیک‌های مختلف دیگری که برای تمیز کردن و قالب‌بندی داده‌ها به کار می‌روند پیمایش کنید: حذف ردیف‌ها، قالب‌بندی بر اساس الگوها، غنی‌سازی داده‌ها با جستجوها، برخورد با مقادیر از دست رفته یا جایگزینی کاراکترهای ناخواسته.

7. دستور داده قیمت گذاری محصول را کاوش کنید

سپس، می‌توانید آنچه را که در دستور العمل داده‌های قیمت‌گذاری محصول اتفاق می‌افتد، کشف کنید، که داده‌های تراکنش‌های آماده‌شده را به داده‌های قیمت‌گذاری انبوه می‌پیوندد.

برای بستن صفحه ترانسفورماتور و بازگشت به نمای جریان، روی الگوی طراحی بهینه سازی قیمت در بالای صفحه کلیک کنید. از آنجا روی شیء Product Pricing Data کلیک کنید و دستور را ویرایش کنید.

  1. ستون‌های قیمت ماهانه Unpivot: روی دستور غذا در بین 2 و 3 مرحله کلیک کنید تا ببینید داده‌ها قبل از مرحله Unpivot چگونه به نظر می‌رسند. متوجه خواهید شد که داده ها حاوی مقدار تراکنش در یک ستون مجزا برای هر ماه هستند: Jan Fev Mar. این قالبی نیست که برای اعمال محاسبه تجمیع (یعنی مجموع، میانگین تراکنش) در SQL مناسب باشد. داده ها باید بدون محور باشند تا هر ستون به یک ردیف در جدول BigQuery تبدیل شود. دستور العمل از تابع unpivot برای تبدیل 3 ستون به یک ردیف برای هر ماه استفاده می کند، بنابراین استفاده از محاسبات گروهی آسان تر است.
  2. محاسبه میانگین ارزش تراکنش بر اساس مشتری، محصول و تاریخ : ما می خواهیم میانگین ارزش تراکنش را برای هر مشتری، محصول و داده محاسبه کنیم. می‌توانیم از تابع Aggregate استفاده کنیم و یک جدول جدید تولید کنیم (گزینه «گروه‌بندی براساس جدول جدید»). در این صورت، داده ها در سطح گروه جمع می شوند و ما جزئیات هر تراکنش فردی را از دست می دهیم. یا می‌توانیم تصمیم بگیریم که هم جزئیات و هم مقادیر جمع‌آوری شده را در یک مجموعه داده نگه داریم (گزینه «گروه‌بندی براساس ستون(های) جدید») که برای اعمال یک نسبت (یعنی % سهم دسته محصول در درآمد کلی) بسیار راحت است. ). می‌توانید این رفتار را با ویرایش مرحله 7 دستور پخت امتحان کنید و گزینه «گروه‌بندی براساس به‌عنوان جدول جدید» یا «گروه‌بندی براساس به‌عنوان ستون(های) جدید» را انتخاب کنید تا تفاوت‌ها را ببینید.
  3. تاریخ قیمت گذاری پیوستن: در نهایت، از یک اتصال برای ترکیب مجموعه داده های متعدد در یک مجموعه بزرگتر استفاده می شود و ستون هایی را به مجموعه داده اولیه اضافه می کند. در این مرحله، داده‌های قیمت‌گذاری به خروجی دستور العمل داده‌های تراکنش بر اساس «داده‌های قیمت‌گذاری. کد محصول» = داده‌های تراکنش.SKU» و «داده‌های قیمت‌گذاری. تاریخ قیمت» = «داده‌های معامله. تاریخ مالی» ملحق می‌شوند.

برای کسب اطلاعات بیشتر در مورد تغییراتی که می توانید با Dataprep اعمال کنید، به برگه تقلب Data Wrangling Trifacta مراجعه کنید.

8. دستور العمل نقشه برداری طرحواره را کاوش کنید

آخرین دستور، نقشه برداری طرحواره تضمین می کند که جدول CDM به دست آمده با طرح جدول خروجی BigQuery مطابقت دارد. در اینجا، از عملکرد Rapid Target برای قالب بندی مجدد ساختار داده برای مطابقت با جدول BigQuery با استفاده از تطبیق فازی برای مقایسه هر دو طرح و اعمال تغییرات خودکار استفاده می شود.

9. در یک ساختار متحد شوید

اکنون که منابع و مقصدها پیکربندی شده‌اند و مراحل جریان‌ها بررسی شده‌اند، می‌توانید جریان را برای تبدیل و بارگذاری جدول CDM در BigQuery اجرا کنید.

  1. Run Schema Mapping output: در نمای جریان، شی خروجی Schema Mapping را انتخاب کنید و روی دکمه "Run" در پنل Details کلیک کنید. "Trifacta Photon" Running Environment را انتخاب کنید و تیک گزینه Ignore Recipe Errors را بردارید. سپس روی دکمه Run کلیک کنید. اگر جدول BigQuery مشخص شده وجود داشته باشد، Dataprep ردیف های جدیدی را اضافه می کند، در غیر این صورت، یک جدول جدید ایجاد می کند.
  2. مشاهده وضعیت کار: Dataprep به طور خودکار صفحه Run Job را باز می کند تا بتوانید بر اجرای کار نظارت داشته باشید. ادامه و بارگیری جدول BigQuery باید چند دقیقه طول بکشد. هنگامی که کار تکمیل شد، خروجی CDM قیمت گذاری در BigQuery در قالبی تمیز، ساختاریافته و نرمال آماده برای تجزیه و تحلیل بارگذاری می شود.

10. ارائه تجزیه و تحلیل و ML/AI

پیش نیازهای تجزیه و تحلیل

به منظور اجرای برخی تحلیل‌ها و یک مدل پیش‌بینی با نتایج جالب، مجموعه داده‌ای ایجاد کرده‌ایم که بزرگ‌تر و مرتبط‌تر برای کشف بینش‌های خاص است. قبل از ادامه این راهنما، باید این داده ها را در مجموعه داده BigQuery خود آپلود کنید.

روی دکمه + Create Table کلیک کنید و این پارامترها را تعریف کنید:

  • جدولی را از آپلود ایجاد کنید و فایل CDM_Pricing_Large_Table.csv را انتخاب کنید
  • Schema Autodetect، Schema و پارامترهای ورودی را بررسی کنید
  • گزینه های پیشرفته، اولویت نوشتن، بازنویسی جدول

ff9ec8b9f580b139.png

  • روی ایجاد جدول کلیک کنید

پس از ایجاد جدول و آپلود داده ها، در Google Console for BigQuery ، باید جزئیات جدول جدید را مطابق شکل زیر مشاهده کنید. با داده‌های قیمت‌گذاری در BigQuery، به راحتی می‌توانیم سؤالات جامع‌تری بپرسیم تا داده‌های قیمت‌گذاری شما را در سطح عمیق‌تری تجزیه و تحلیل کنیم.

93e4c05972af1999.png

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

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 را اضافه کنید، و نام اتصال و جدول را در هر یک از فایل های view جایگزین کنید تا با پیکربندی BigQuery شما مطابقت داشته باشد.

در این مدل، جدول مشتق شده ( در این فایل 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
      )
       ;;
    }
...
}

و همچنین مدل 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 تهیه کنید (دکمه **..."**بیشتر" را در سمت راست جریان کلیک کنید و گزینه Duplicate را انتخاب کنید) که آن را سفارشی می کنید، یا فقط با استفاده از یک جریان Dataprep جدید از ابتدا شروع کنید.
  2. به مجموعه داده قیمت گذاری خود متصل شوید. فرمت های فایل مانند Excel، CSV، Google Sheets، JSON به صورت بومی توسط Dataprep پشتیبانی می شوند. همچنین می توانید با استفاده از کانکتورهای Dataprep به سیستم های دیگر متصل شوید.
  3. دارایی های داده خود را به دسته های مختلف تبدیلی که شناسایی کرده اید، ارسال کنید. برای هر دسته، یک دستور غذا ایجاد کنید. از جریان ارائه شده در این الگوی طراحی الهام بگیرید تا داده ها را تغییر دهید و دستور العمل های خود را بنویسید. اگر گیر کردید، نگران نباشید، در گفتگوی چت در پایین سمت چپ صفحه Dataprep کمک بخواهید.
  4. دستور پخت خود را به نمونه BigQuery خود متصل کنید. نیازی نیست نگران ایجاد جداول به صورت دستی در BigQuery باشید، Dataprep به طور خودکار از آن برای شما مراقبت می کند. پیشنهاد می کنیم وقتی خروجی را به جریان خود اضافه می کنید، یک مقصد دستی انتخاب کنید و در هر اجرا جدول را رها کنید. هر دستور غذا را به صورت جداگانه تا زمانی که نتایج مورد انتظار را ارائه دهید، آزمایش کنید. پس از انجام آزمایش، خروجی را در هر بار اجرا به جدول اضافه می‌کنید تا از حذف داده‌های قبلی جلوگیری کنید.
  5. می‌توانید به‌صورت اختیاری جریان را برای اجرا بر اساس زمان‌بندی مرتبط کنید. اگر فرآیند شما نیاز به اجرای مداوم داشته باشد، این چیزی مفید است. می توانید برنامه ای برای بارگیری پاسخ هر روز یا هر ساعت بر اساس تازگی مورد نیاز خود تعریف کنید. اگر تصمیم دارید جریان را بر اساس یک برنامه اجرا کنید، باید برای هر دستور غذا یک خروجی زمانبندی مقصد در جریان اضافه کنید.

مدل یادگیری ماشین BigQuery را اصلاح کنید

این آموزش نمونه ای از مدل ARIMA را ارائه می دهد. با این حال، پارامترهای اضافی وجود دارد که می توانید هنگام توسعه مدل کنترل کنید تا مطمئن شوید که بهترین تناسب با داده های شما دارد. شما می توانید جزئیات بیشتر را در مثال در اسناد ما در اینجا مشاهده کنید. علاوه بر این، شما همچنین می توانید از توابع BigQuery ML.ARIMA_EVALUATE ، ML.ARIMA_COEFFICIENTS و ML.EXPLAIN_FORECAST برای دریافت جزئیات بیشتر در مورد مدل خود و تصمیم گیری بهینه سازی استفاده کنید.

گزارش‌های Looker را ویرایش کنید

پس از وارد کردن LookML به پروژه خود همانطور که در بالا توضیح داده شد ، می توانید ویرایش های مستقیم برای اضافه کردن فیلدهای اضافی، تغییر محاسبات یا پارامترهای وارد شده توسط کاربر، و تغییر تجسم ها در داشبوردها مطابق با نیازهای کسب و کار خود انجام دهید. می‌توانید جزئیات مربوط به توسعه در LookML را در اینجا و تجسم داده‌ها در Looker را اینجا بیابید.

15. تبریک می گویم

اکنون مراحل کلیدی مورد نیاز برای بهینه سازی قیمت محصولات خرده فروشی خود را می دانید!

بعدش چی؟

سایر الگوهای مرجع تجزیه و تحلیل هوشمند را کاوش کنید

در ادامه مطلب