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 menjadi format yang dapat digunakan Vertex AI. Blok kode ini diikuti dengan prosedur untuk konsol Vertex AI guna 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:

  • Mengekspor data retail Anda dari Vertex AI Search untuk retail ke BigQuery. Dengan demikian, Anda akan memiliki 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 produk dan pengguna Anda sudah ada di BigQuery, dalam format retail Vertex AI Search, Anda dapat menggunakan data tersebut untuk membuat perkiraan penjualan dari data retail. Dalam hal ini, Anda tidak perlu mengupload data retail dan mengekspornya ke BigQuery. Untuk mengetahui informasi selengkapnya tentang format, lihat Skema produk dan Tentang peristiwa pengguna.

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

Membuat tabel penjualan gabungan

Kode SQL di bagian ini mengubah tabel peristiwa pengguna menjadi tabel penjualan agregat. Artinya, untuk setiap produk dalam tabel peristiwa pengguna yang dijual setidaknya sekali, jumlah penjualan untuk produk tersebut digabungkan selama periode mingguan. Selain itu, kode SQL melakukan hal berikut:

  • Untuk setiap produk dalam tabel peristiwa pengguna, jika stempel waktu tidak ada 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 nol penjualan. Hal ini untuk menghilangkan kesenjangan dalam histori penjualan.

  • Jika tidak ada minimal satu produk di tabel peristiwa pengguna yang memiliki setidaknya 20 stempel waktu, produk dari tabel akan dipilih secara acak dan diisi ulang dengan baris yang cukup (masing-masing dengan nol penjualan) untuk mencapai 20 stempel waktu. Hal ini untuk menyesuaikan persyaratan Vertex AI yang mengharuskan setidaknya 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 saat minggu dimulai. Nilai yang valid: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

    • rdm_user_event_table. Project ID, 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. ID project, set data, dan tabel dari tabel produk yang Anda ekspor ke BigQuery. Formatnya adalah project_id.dataset_id.table_id.

    • aggregated_sales_table. ID project, set data, dan tabel di BigQuery untuk tabel penjualan gabungan yang baru. Gunakan ID project yang sama dengan tabel peristiwa produk dan pengguna. Gunakan ID set data yang sudah ada. Tentukan ID tabel, tetapi jangan gunakan ID tabel yang 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 baru Anda ditulis ke lokasi di BigQuery yang Anda tetapkan menggunakan variabel aggregated_sales_table.

Memproses tabel produk

Kode SQL di bagian ini akan bertindak pada tabel produk yang Anda ekspor ke BigQuery, menghapus kolom berulang dan struct, serta membatalkan penyusunan ulang kolom price_info ke dalam 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. ID project, set data, dan tabel untuk tabel produk yang Anda ekspor ke BigQuery. Formatnya adalah project_id.dataset_id.table_id.

    • processed_product_table. ID project, set data, dan tabel di BigQuery untuk tabel produk yang diproses baru. Gunakan ID project yang sama dengan tabel peristiwa produk dan pengguna. Gunakan ID set data yang sudah ada. Tentukan ID tabel, tetapi jangan gunakan ID tabel yang 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 diproses baru akan 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 setidaknya satu kali di tabel peristiwa pengguna. Kode ini membuat tabel prediksi peristiwa yang berisi semua SKU yang diekstrak di semua stempel waktu pada 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 + future_length minggu. Anda menetapkan nilai future_length ke jumlah minggu ke depan yang ingin 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 saat minggu dimulai. Nilai yang valid: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

    • rdm_user_event_table. Project ID, 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. ID project, set data, dan tabel di BigQuery untuk tabel prediksi peristiwa baru. Gunakan ID project yang sama dengan tabel peristiwa produk dan pengguna. Gunakan ID set data yang sudah ada. Tentukan ID tabel, tetapi jangan gunakan ID tabel yang ada kecuali jika Anda ingin menimpanya. Formatnya adalah project_id.dataset_id.table_id.

    • rdm_product_table. ID project, set data, dan 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 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. ID project, set data, dan tabel di BigQuery untuk tabel pelatihan Vertex AI baru. Gunakan project ID yang sama dengan tabel peristiwa produk dan pengguna. Gunakan ID set data yang ada. Tentukan ID tabel, tetapi jangan gunakan ID tabel yang ada kecuali jika Anda ingin menimpanya. Formatnya adalah project_id.dataset_id.table_id.

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

    • processed_product_table. ID project, set data, dan 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 baru Anda 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. ID project, set data, dan 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 ada kecuali jika Anda ingin menimpanya. Formatnya adalah project_id.dataset_id.table_id.

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

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

    • events_prediction_table. ID project, set data, dan 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 Nama set data, 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 Anda 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 Pilih tabel atau tampilan dari BigQuery.

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

  10. Klik Lanjutkan.

    Sumber data dikaitkan dengan set data Anda.

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

  12. Klik Train new model untuk melanjutkan ke halaman Train new model. Untuk mengetahui petunjuk pelatihan model, buka Melatih model perkiraan.

Melatih model perkiraan

Bagian ini menunjukkan cara melatih model perkiraan menggunakan set data yang Anda buat di 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 Metode pelatihan, 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 Train new model jika belum dipilih.

    2. Masukkan nama untuk model baru Anda.

    3. Pilih quantity (INTEGER) dari daftar Target column.

    4. Pilih Weekly dari daftar Data granularity.

    5. Masukkan Periode konteks dan Horizon perkiraan.

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

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

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

    6. Klik Lanjutkan.

  3. Di halaman Opsi pelatihan, 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 Jenis BigQuery adalah Float, Integer, atau Numeric, tetapkan nilai Transformasi ke Numeric.

      • Jika nilai Jenis BigQuery adalah String atau Boolean, tetapkan nilai Transformasi ke Kategoris.

      • Jika nilai Jenis BigQuery adalah Tanggal, tetapkan nilai Transformasi ke Stempel Waktu.

    2. Pilih nilai Jenis fitur untuk kolom dalam daftar Nama kolom sebagai berikut:

      • Untuk add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity, dan search_quantity, tetapkan nilai Feature type ke Covariate.

      • Dari kolom yang tersisa, untuk kolom yang dapat diubah, tetapkan Jenis fitur ke Atribut.

    3. Pilih nilai Tersedia pada perkiraan untuk kolom dalam daftar Jenis kolom sebagai berikut:

      • Untuk add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity, dan search_quantity, tetapkan nilai Availability at forecast ke Not available.

      • Dari kolom yang tersisa, untuk kolom yang dapat diubah, tetapkan nilai Jenis fitur ke Tersedia.

    4. Klik Lanjutkan.

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

  5. Klik Start training.

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

Memantau progres pelatihan

  1. Di Konsol Google Cloud, di bagian Vertex AI, buka halaman Training.

    Buka halaman Pelatihan

  2. Jika belum dipilih, pilih tab Pipeline pelatihan. 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 Anda latih di 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. Dalam daftar Nama model, pilih model yang Anda latih di Melatih model perkiraan.

    3. Dalam daftar Version, pilih versi model.

    4. Di bagian Select source:

      1. Pilih BigQuery table jika belum dipilih.

      2. Masukkan project ID, 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 project ID 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 status berubah dari Tertunda menjadi Selesai. Anda juga akan menerima email saat prediksi batch selesai. Output permintaan prediksi batch Anda ditampilkan dalam set data di project BigQuery yang Anda tentukan. Nama tabel output baru Anda adalah "predictions_" yang ditambahkan dengan stempel waktu saat tugas prediksi dimulai. Untuk informasi selengkapnya tentang cara mengambil dan menafsirkan hasil perkiraan, lihat Mengambil hasil prediksi batch dan Menafsirkan hasil perkiraan dalam dokumentasi Vertex AI.