Membuat perkiraan penjualan dari data retail

Halaman ini memberikan panduan untuk mendapatkan prediksi dari Vertex AI, berdasarkan data retail yang diekspor ke BigQuery. Kami menyediakan beberapa blok kode SQL untuk membantu Anda mengubah data peristiwa pengguna dan produk retail ke dalam format yang dapat digunakan oleh Vertex AI. Blok kode ini diikuti dengan prosedur bagi konsol Vertex AI untuk membuat set data, melatih model, lalu membuat perkiraan.

Sebelum memulai

Sebelum dapat membuat perkiraan penjualan menggunakan data retail, Anda harus:

  • Upload data retail Anda menggunakan Vertex AI Search untuk retail. Untuk mengetahui informasi selengkapnya, lihat:

  • Ekspor data retail Anda dari Vertex AI Search untuk retail ke BigQuery. Langkah ini akan menyisakan tabel produk dan tabel peristiwa pengguna di BigQuery, yang dapat Anda gunakan dalam prosedur berikut. Untuk mengetahui informasi selengkapnya, lihat Mengekspor data ke BigQuery.

    Atau, jika data peristiwa pengguna dan produk Anda sudah ada di BigQuery, dalam Vertex AI Search untuk format retail, Anda dapat menggunakan data tersebut untuk menghasilkan perkiraan penjualan dari data retail. Dalam hal ini, Anda tidak perlu mengupload data retail dan mengekspornya ke BigQuery. Untuk mengetahui informasi selengkapnya tentang format ini, lihat Skema produk dan Tentang peristiwa pengguna.

  • Pastikan Anda telah diberi peran IAM roles/aiplatform.user agar dapat melakukan prosedur menggunakan konsol Vertex AI.

Membuat tabel penjualan gabungan

Kode SQL di bagian ini mengubah tabel peristiwa pengguna menjadi tabel penjualan gabungan. Artinya, untuk setiap produk dalam tabel peristiwa pengguna yang terjual setidaknya satu kali, kuantitas penjualan untuk produk tersebut akan digabungkan selama periode mingguan. Selain itu, kode SQL melakukan hal berikut:

  • Untuk produk apa pun dalam tabel peristiwa pengguna, jika ada stempel waktu yang hilang antara penjualan pertama produk dalam tabel dan penjualan terakhir produk apa pun dalam tabel, setiap stempel waktu yang tidak ada akan diisi ulang dengan baris baru dengan penjualan nol. Hal ini untuk menghilangkan kesenjangan dalam riwayat penjualan.

  • Jika tidak ada setidaknya satu produk dalam tabel peristiwa pengguna yang memiliki minimal 20 stempel waktu, produk dari tabel tersebut akan dipilih secara acak dan diisi ulang dengan baris yang cukup (masing-masing tanpa penjualan) untuk mencapai 20 stempel waktu. Hal ini untuk mengakomodasi persyaratan Vertex AI yang memiliki minimal 20 stempel waktu saat melatih model.

Untuk membuat tabel penjualan gabungan:

  1. Ganti variabel dalam kode contoh SQL berikut sebagai berikut:

    • starting_day_of_week. Hari awal minggu. Nilai yang valid: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

    • rdm_user_event_table. Project, set data, dan ID tabel dari tabel peristiwa pengguna yang Anda ekspor ke BigQuery. Formatnya adalah project_id.dataset_id.table_id.

    • rdm_product_table. Project, set data, dan ID tabel dari tabel produk yang Anda ekspor ke BigQuery. Formatnya adalah project_id.dataset_id.table_id.

    • aggregated_sales_table. Project, set data, dan ID tabel di BigQuery untuk tabel penjualan gabungan baru. Gunakan project ID yang sama dengan tabel produk dan peristiwa pengguna. Gunakan ID dari set data yang ada. Tentukan ID tabel, tetapi jangan gunakan ID tabel yang sudah ada kecuali jika Anda ingin menimpanya. Formatnya adalah project_id.dataset_id.table_id.

  2. Salin contoh kode SQL.

  3. Buka halaman BigQuery di Konsol Google Cloud.

    Buka halaman BigQuery

  4. Jika belum dipilih, pilih project yang berisi tabel peristiwa pengguna dan produk Anda.

  5. Di panel Editor, tempel contoh kode SQL.

  6. Klik Run dan tunggu hingga kueri selesai dijalankan.

Tabel penjualan gabungan yang baru ditulis ke lokasi di BigQuery yang Anda tetapkan menggunakan variabel aggregated_sales_table.

Memproses tabel produk

Kode SQL di bagian ini berfungsi pada tabel produk yang Anda ekspor ke BigQuery, dengan menghapus kolom berulang dan struct serta menghapus bertingkat kolom price_info ke kolom turunannya. Hal ini diperlukan karena Vertex AI tidak menerima daftar atau struktur bertingkat. Hasilnya adalah tabel produk yang diproses.

Untuk memproses tabel produk:

  1. Ganti variabel dalam kode contoh SQL berikut sebagai berikut:

    • rdm_product_table. Project, set data, dan ID tabel untuk tabel produk yang Anda ekspor ke BigQuery. Formatnya adalah project_id.dataset_id.table_id.

    • processed_product_table. Project, set data, dan ID tabel di BigQuery untuk tabel produk yang baru diproses. Gunakan project ID yang sama dengan tabel produk dan peristiwa pengguna. Gunakan ID dari set data yang ada. Tentukan ID tabel, tetapi jangan gunakan ID tabel yang sudah ada kecuali jika Anda ingin menimpanya. Formatnya adalah project_id.dataset_id.table_id.

    CREATE OR REPLACE TABLE `PROCESSED_PRODUCT_TABLE` AS
    SELECT * EXCEPT (id, attributes, price_info, rating, expire_time,
    available_time, fulfillment_info, images, audience, color_info, promotions,
    publish_time, retrievable_fields, categories, brands, conditions, sizes,
    collection_member_ids, tags, materials, patterns),
    id as sku,
    price_info.price as price_info_price,
    price_info.currency_code as price_info_currency_code,
    price_info.cost as price_info_cost,
    FROM `RDM_PRODUCT_TABLE`
    
  2. Salin contoh kode SQL.

  3. Buka halaman BigQuery di Konsol Google Cloud.

    Buka halaman BigQuery

  4. Jika belum dipilih, pilih project yang berisi tabel peristiwa pengguna dan produk Anda.

  5. Di panel Editor, tempel contoh kode SQL.

  6. Klik Run dan tunggu hingga kueri selesai dijalankan.

Tabel produk yang baru diproses ditulis ke lokasi di BigQuery yang Anda tetapkan menggunakan variabel processed_product_table.

Membuat tabel prediksi peristiwa

Kode SQL di bagian ini mengekstrak setiap SKU yang terjual minimal sekali dalam tabel peristiwa pengguna. Kode ini membuat tabel prediksi peristiwa yang berisi semua SKU yang diekstrak di semua stempel waktu di masa mendatang. Stempel waktu mendatang adalah array stempel waktu mingguan berkelanjutan, mulai dari minggu terakhir dalam tabel peristiwa pengguna + 1 minggu dan berakhir pada minggu terakhir dalam tabel peristiwa pengguna + minggu future_length. Anda menetapkan nilai future_length ke jumlah minggu ke depan yang Anda inginkan untuk diprediksi oleh model. Setiap baris dalam tabel prediksi peristiwa dapat diidentifikasi secara unik dengan SKU dan stempel waktu.

Untuk membuat tabel prediksi peristiwa:

  1. Ganti variabel dalam kode contoh SQL berikut sebagai berikut:

    • starting_day_of_week. Hari awal minggu. Nilai yang valid: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

    • rdm_user_event_table. Project, set data, dan ID tabel untuk tabel peristiwa pengguna yang Anda ekspor ke BigQuery. Formatnya adalah project_id.dataset_id.table_id.

    • events_prediction_table. Project, set data, dan ID tabel di BigQuery untuk tabel prediksi peristiwa baru. Gunakan project ID yang sama dengan tabel produk dan peristiwa pengguna. Gunakan ID dari set data yang ada. Tentukan ID tabel, tetapi jangan gunakan ID tabel yang sudah ada kecuali jika Anda ingin menimpanya. Formatnya adalah project_id.dataset_id.table_id.

    • rdm_product_table. Project, set data, dan ID tabel untuk tabel produk yang Anda ekspor ke BigQuery. Formatnya adalah project_id.dataset_id.table_id.

    • future_length. Jumlah minggu ke depan, setelah minggu terakhir dalam tabel peristiwa pengguna, yang akan diprediksi oleh model.

  2. Salin contoh kode SQL.

  3. Buka halaman BigQuery di Konsol Google Cloud.

    Buka halaman BigQuery

  4. Jika belum dipilih, pilih project yang berisi tabel peristiwa pengguna dan produk Anda.

  5. Di panel Editor, tempel contoh kode SQL.

  6. Klik Run dan tunggu hingga kueri selesai dijalankan.

Tabel prediksi peristiwa baru Anda ditulis ke lokasi di BigQuery yang Anda tetapkan menggunakan variabel events_prediction_table.

Membuat tabel pelatihan Vertex AI

Kode SQL di bagian ini menggabungkan tabel penjualan gabungan dengan tabel produk yang diproses. Hasilnya adalah tabel pelatihan Vertex AI, yang digunakan Vertex AI untuk pelatihan model.

Untuk membuat tabel pelatihan Vertex AI:

  1. Ganti variabel dalam kode contoh SQL berikut sebagai berikut:

    • vertex_ai_training_table. Project, set data, dan ID tabel di BigQuery untuk tabel pelatihan Vertex AI baru. Gunakan project ID yang sama dengan tabel peristiwa pengguna dan produk. Gunakan ID dari {i>dataset<i} yang sudah ada. Tentukan ID tabel, tetapi jangan gunakan ID tabel yang sudah ada kecuali jika Anda ingin menimpanya. Formatnya adalah project_id.dataset_id.table_id.

    • aggregated_sales_table. Project, set data, dan ID tabel di BigQuery dari tabel penjualan gabungan, yang Anda buat di Membuat tabel penjualan gabungan.

    • processed_product_table. Project, set data, dan ID tabel di BigQuery untuk tabel produk yang diproses, yang Anda buat di Memproses tabel produk.

    CREATE OR REPLACE TABLE `VERTEX_AI_TRAINING_TABLE` AS
    SELECT t1.*, t2.* EXCEPT(sku) FROM `AGGREGATED_SALES_TABLE` AS t1
    LEFT
    JOIN `PROCESSED_PRODUCT_TABLE` AS t2 ON t1.sku = t2.sku
    
  2. Salin contoh kode SQL.

  3. Buka halaman BigQuery di Konsol Google Cloud.

    Buka halaman BigQuery

  4. Jika belum dipilih, pilih project yang berisi tabel peristiwa pengguna dan produk Anda.

  5. Di panel Editor, tempel contoh kode SQL.

  6. Klik Run dan tunggu hingga kueri selesai dijalankan.

Tabel pelatihan Vertex AI Anda yang baru ditulis ke lokasi di BigQuery yang Anda tetapkan menggunakan variabel vertex_ai_training_table.

Membuat tabel prediksi Vertex AI

Kode SQL di bagian ini menambahkan tabel prediksi peristiwa ke tabel penjualan gabungan, lalu menggabungkannya dengan tabel produk yang diproses. Hasilnya adalah tabel prediksi Vertex AI, yang digunakan untuk membuat perkiraan.

Untuk membuat tabel prediksi Vertex AI:

  1. Ganti variabel dalam kode contoh SQL berikut sebagai berikut:

    • vertex_ai_prediction_table. Project, set data, dan ID tabel di BigQuery untuk tabel prediksi Vertex AI baru. Gunakan project ID dan ID set data yang sama dengan yang Anda gunakan untuk tabel peristiwa produk dan pengguna. Jangan gunakan ID tabel yang sudah ada kecuali jika Anda ingin menimpanya. Formatnya adalah project_id.dataset_id.table_id.

    • aggregated_sales_table. Project, set data, dan ID tabel di BigQuery untuk tabel penjualan gabungan, yang Anda buat di Membuat tabel penjualan gabungan.

    • processed_product_table. Project, set data, dan ID tabel di BigQuery untuk tabel produk yang diproses, yang Anda buat di Memproses tabel produk.

    • events_prediction_table. Project, set data, dan ID tabel di BigQuery untuk tabel prediksi peristiwa, yang Anda buat di Membuat tabel prediksi peristiwa.

    CREATE OR REPLACE TABLE `VERTEX_AI_PREDICTION_TABLE` AS
    WITH append_predict_to_history AS (
      SELECT add_to_cart_quantity, category_page_view_quantity,
      detail_page_view_quantity, last_day_of_week, quantity, search_quantity, sku
      FROM `AGGREGATED_SALES_TABLE` UNION ALL SELECT NULL AS
      add_to_cart_quantity, NULL AS category_page_view_quantity, NULL AS
      detail_page_view_quantity, last_day_of_week, NULL AS quantity, NULL AS
      search_quantity, sku FROM `EVENTS_PREDICTION_TABLE`
    )
    SELECT t1.*, t2.* EXCEPT(sku) FROM append_predict_to_history AS t1 LEFT JOIN
    `PROCESSED_PRODUCT_TABLE` AS t2 ON t1.sku = t2.sku
    
  2. Salin contoh kode SQL.

  3. Buka halaman BigQuery di Konsol Google Cloud.

    Buka halaman BigQuery

  4. Jika belum dipilih, pilih project yang berisi tabel peristiwa pengguna dan produk Anda.

  5. Di panel Editor, tempel contoh kode SQL.

  6. Klik Run dan tunggu hingga kueri selesai dijalankan.

Tabel prediksi Vertex AI baru Anda ditulis ke lokasi di BigQuery yang Anda tetapkan menggunakan variabel vertex_ai_prediction_table.

Membuat set data Vertex AI

Bagian ini menunjukkan cara membuat set data Vertex AI yang dapat Anda gunakan untuk melatih model perkiraan. Untuk mengetahui informasi selengkapnya, lihat Membuat set data untuk melatih model perkiraan dalam dokumentasi Vertex AI.

Untuk membuat set data Vertex AI:

  1. Di konsol Google Cloud, di bagian Vertex AI, buka halaman Dataset.

    Buka halaman Datasets

  2. Klik Create untuk membuka halaman Create dataset.

  3. Di kolom Dataset name, masukkan nama untuk set data baru Anda.

  4. Pilih tab Tabel.

  5. Pilih tujuan Perkiraan.

  6. Dalam daftar Region, pilih region yang Anda gunakan saat membuat set data untuk mengekspor data retail ke BigQuery. Jika memilih us saat membuat set data BigQuery, Anda dapat memilih region mana pun di Amerika Serikat. Demikian pula, jika memilih eu saat membuat set data BigQuery, Anda dapat memilih region mana pun di Uni Eropa. Untuk mengetahui informasi selengkapnya, lihat Mengekspor data ke BigQuery.

  7. Klik Create untuk membuat set data kosong, dan lanjutkan ke tab Source.

  8. Pilih Select a table or view from BigQuery.

  9. Di bagian Select a table or view from BigQuery, masukkan project, set data, dan ID tabel untuk tabel pelatihan Vertex AI yang Anda buat di Create a Vertex AI table. Formatnya adalah project_id.dataset_id.table_id.

  10. Klik Lanjutkan.

    Sumber data dikaitkan dengan set data Anda.

  11. Di tab Analisis, pilih sku di daftar Kolom ID seri, dan last_day_of_week dalam daftar Kolom stempel waktu.

  12. Klik Latih model baru untuk melanjutkan ke halaman Latih model baru. Untuk mengetahui petunjuk cara melatih model Anda, buka Melatih model perkiraan.

Melatih model perkiraan

Bagian ini menunjukkan cara melatih model perkiraan menggunakan set data yang Anda buat dalam Membuat set data Vertex AI. Untuk mengetahui informasi selengkapnya, lihat Melatih model perkiraan dalam dokumentasi Vertex AI.

Sebelum memulai

Sebelum dapat melatih model perkiraan, Anda harus membuat set data Vertex AI.

Melatih model

  1. Di halaman Training method, pilih metode pelatihan model. Untuk mengetahui informasi tentang metode pelatihan, lihat Melatih model dalam dokumentasi Vertex AI.

    Klik Lanjutkan.

  2. Di halaman Detail model, konfigurasi sebagai berikut:

    1. Pilih Latih model baru jika belum dipilih.

    2. Masukkan nama untuk model baru.

    3. Pilih jumlah (INTEGER) dari daftar Kolom target.

    4. Pilih Mingguan dari daftar Perincian data.

    5. Masukkan Periode konteks dan Horizon perkiraan.

      Horizontal Horizon menentukan seberapa jauh model memperkirakan nilai target untuk setiap baris data prediksi di masa mendatang. Horizontal Horizon Perkiraan ditentukan dalam unit Perincian data.

      Periode konteks menetapkan rentang waktu ke belakang oleh model selama pelatihan (dan untuk perkiraan). Dengan kata lain, untuk setiap titik data pelatihan, jendela konteks menentukan seberapa jauh model mencari pola prediktif. Jika Anda tidak menentukan Periode konteks, nilai yang ditetapkan untuk Forecast Horizon akan ditetapkan secara default. Jendela konteks ditentukan dalam unit Perincian data.

      Untuk mengetahui informasi selengkapnya, lihat Pertimbangan untuk menetapkan jendela konteks dan Horizon perkiraan dalam dokumentasi Vertex AI.

    6. Klik Lanjutkan.

  3. Di halaman Training options, konfigurasikan sebagai berikut. Perhatikan bahwa jika panah drop-down berwarna abu-abu, atau jika tidak ada panah drop-down, nilai tersebut tidak dapat diubah.

    1. Pilih nilai Transformation untuk kolom dalam daftar Column name sebagai berikut:

      • Jika nilai BigQuery type adalah Float, Integer, atau Numeric, tetapkan nilai Transformation ke Numeric.

      • Jika nilai BigQuery type adalah String atau Boolean, tetapkan nilai Transformation ke Categorical.

      • Jika nilai BigQuery type adalah Date, tetapkan nilai Transformation ke Timestamp.

    2. Pilih nilai Feature type untuk kolom dalam daftar Column name sebagai berikut:

      • Untuk add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity, dan search_quantity, tetapkan nilai Jenis fitur ke Covariate.

      • Dari kolom yang tersisa, untuk kolom yang dapat diubah, tetapkan Feature type ke Attribute.

    3. Pilih nilai Available at forecast untuk kolom dalam daftar Column type sebagai berikut:

      • Untuk add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity, dan search_quantity, tetapkan nilai Ketersediaan pada perkiraan ke Tidak tersedia.

      • Dari kolom yang tersisa, untuk kolom yang dapat diubah, tetapkan nilai Feature type ke Available.

    4. Klik Lanjutkan.

  4. Di halaman Komputasi dan harga, masukkan jumlah jam maksimum yang Anda inginkan untuk melatih model. Setelan ini membantu Anda membatasi biaya pelatihan. Waktu sebenarnya yang berlalu bisa lebih lama dari nilai ini karena ada operasi lain yang terlibat dalam pembuatan model baru. Untuk mengetahui informasi tentang jumlah waktu yang diperlukan untuk melatih model berkualitas tinggi, lihat Melatih model dalam dokumentasi Vertex AI.

  5. Klik Start training.

    Pelatihan model dapat memerlukan waktu beberapa jam, bergantung pada ukuran dan kompleksitas data serta anggaran pelatihan, jika Anda menentukannya. Anda dapat menutup tab ini dan kembali lagi nanti. Anda akan menerima email saat model telah menyelesaikan pelatihan. Jika ingin memantau progres pelatihan model, lihat Memantau progres pelatihan Anda.

Memantau kemajuan pelatihan Anda

  1. Di konsol Google Cloud, di bagian Vertex AI, buka halaman Pelatihan.

    Buka halaman Training

  2. Jika belum dipilih, pilih tab Training pipelines. Model yang Anda latih akan ada dalam daftar. Pelatihan selesai saat status berubah dari Pelatihan menjadi Selesai.

Membuat perkiraan

Halaman ini menunjukkan cara membuat perkiraan menggunakan model perkiraan yang telah Anda latih dalam artikel Melatih model perkiraan.

Sebelum memulai

Sebelum dapat membuat perkiraan, Anda harus melatih model perkiraan.

Membuat permintaan prediksi batch ke model

  1. Di konsol Google Cloud, di bagian Vertex AI, buka halaman Batch Predictions.

    Buka halaman Prediksi batch

  2. Klik Create untuk membuka jendela New batch Predictions dan selesaikan langkah-langkah berikut:

    1. Masukkan nama untuk prediksi batch.

    2. Di daftar Model name, pilih model yang Anda latih di Train a forecast model.

    3. Dalam daftar Versi, pilih versi model.

    4. Di bagian Pilih sumber:

      1. Pilih BigQuery table jika belum dipilih.

      2. Masukkan project, set data, dan ID tabel di BigQuery untuk tabel prediksi Vertex AI yang Anda buat di Membuat tabel prediksi Vertex AI. Formatnya adalah project_id.dataset_id.table_id.

    5. Di bagian Output prediksi batch:

      1. Dalam daftar Output format, pilih BigQuery table.

      2. Masukkan ID project dan set data di BigQuery untuk tabel output prediksi batch yang Anda buat. Gunakan project ID dan ID set data yang sama dengan yang Anda gunakan untuk tabel peristiwa produk dan pengguna. Formatnya adalah project_id.dataset_id.

    6. Klik Create. Halaman Prediksi batch akan muncul.

      Prediksi selesai saat statusnya berubah dari Pending menjadi Finished. Anda juga akan menerima email saat prediksi batch Anda selesai. Output dari permintaan prediksi batch Anda ditampilkan dalam set data di project BigQuery yang Anda tentukan. Nama tabel output baru Anda adalah "prediksi_" yang ditambah dengan stempel waktu saat tugas prediksi dimulai. Untuk mengetahui informasi selengkapnya tentang mengambil dan menafsirkan hasil perkiraan, lihat Mengambil hasil prediksi batch dan Menafsirkan hasil perkiraan dalam dokumentasi Vertex AI.