Generare previsioni di vendita dai dati di vendita al dettaglio

La pagina fornisce indicazioni per ottenere le previsioni da Vertex AI, basate su dati di vendita al dettaglio esportati in BigQuery. Forniamo diversi blocchi di codice SQL per aiutarti a trasformare i dati sugli eventi degli utenti e sui prodotti di vendita al dettaglio in un formato utilizzabile da Vertex AI. Questi blocchi di codice sono followed da procedure per la console Vertex AI per creare un set di dati, addestrare un modello e generare una previsione.

Prima di iniziare

Prima di poter generare previsioni di vendita utilizzando i dati di vendita al dettaglio, devi:

  • Carica i dati di vendita al dettaglio utilizzando Vertex AI Search per il retail. Per ulteriori informazioni, consulta:

  • Esportare i dati di vendita al dettaglio da Vertex AI Search per il retail in BigQuery. In questo modo, in BigQuery avrai una tabella dei prodotti e una tabella degli eventi utente, che potrai utilizzare nelle seguenti procedure. Per ulteriori informazioni, consulta Esportare i dati in BigQuery.

    In alternativa, se i dati sugli eventi utente e sui prodotti sono già in BigQuery, nel formato Vertex AI Search per la vendita al dettaglio, puoi utilizzarli per generare previsioni di vendita dai dati di vendita al dettaglio. In questo caso, non è necessario caricare i dati di vendita al dettaglio ed esportarli in BigQuery. Per maggiori informazioni sul formato, consulta Schema del prodotto e Informazioni sugli eventi dell'utente.

  • Assicurati di aver ricevuto il ruolo IAM roles/aiplatform.user per poter eseguire le procedure utilizzando la console Vertex AI.

Creare una tabella delle vendite aggregate

Il codice SQL in questa sezione trasforma la tabella degli eventi utente in una tabella delle vendite aggregata. Ciò significa che per ogni prodotto nella tabella degli eventi utente venduto almeno una volta, la quantità di vendite del prodotto viene aggregata in un periodo settimanale. Inoltre, il codice SQL esegue le seguenti operazioni:

  • Per qualsiasi prodotto nella tabella degli eventi utente, se mancano timestamp tra la prima vendita del prodotto nella tabella e l'ultima vendita di qualsiasi prodotto nella tabella, a ogni timestamp mancante viene applicato il backfill con una nuova riga con zero vendite. In questo modo vengono eliminati gli intervalli vuoti nella cronologia delle vendite.

  • Se nella tabella degli eventi utente non è presente almeno un prodotto con almeno 20 timestamp, viene scelto un prodotto della tabella in modo casuale e viene eseguito il backfill con righe sufficienti (ciascuna con zero vendite) per raggiungere 20 timestamp. Questo è per soddisfare il requisito di Vertex AI di avere almeno 20 timestamp durante l'addestramento di un modello.

Per creare una tabella delle vendite aggregate:

  1. Sostituisci le variabili nel seguente codice di esempio SQL come segue:

    • starting_day_of_week. Il giorno di inizio della settimana. Valori validi: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

    • rdm_user_event_table. Gli ID progetto, set di dati e tabella della tabella degli eventi utente che hai esportato in BigQuery. Il formato è project_id.dataset_id.table_id.

    • rdm_product_table. Gli ID progetto, set di dati e tabella della tabella dei prodotti che hai esportato in BigQuery. Il formato è project_id.dataset_id.table_id.

    • aggregated_sales_table. Gli ID progetto, set di dati e tabella in BigQuery per la nuova tabella delle vendite aggregate. Utilizza lo stesso ID progetto delle tabelle di eventi di prodotto e utente. Utilizza l'ID di un set di dati esistente. Specifica un ID tabella, ma non utilizzare l'ID di una tabella esistente se non vuoi sovrascriverlo. Il formato è project_id.dataset_id.table_id.

  2. Copia l'esempio di codice SQL.

  3. Apri la pagina BigQuery nella console Google Cloud.

    Vai alla pagina BigQuery

  4. Se non è già selezionato, seleziona il progetto che contiene le tabelle dei prodotti e degli eventi utente.

  5. Nel riquadro Editor, incolla il codice SQL di esempio.

  6. Fai clic su Esegui e attendi il completamento dell'esecuzione della query.

La nuova tabella delle vendite aggregate viene scritta nella posizione in BigQuery che hai impostato utilizzando la variabile aggregated_sales_table.

Elabora la tabella dei prodotti

Il codice SQL in questa sezione agisce sulla tabella dei prodotti che hai esportato in BigQuery, rimuovendo i campi ripetuti e struct e annullando il nidificazione del campo price_info nei relativi campi secondari. Questo è necessario perché Vertex AI non accetta elenchi o strutture nidificate. Il risultato è la tabella del prodotto elaborato.

Per elaborare la tabella dei prodotti:

  1. Sostituisci le variabili nel seguente codice di esempio SQL come segue:

    • rdm_product_table. Gli ID progetto, set di dati e tabella per la tabella dei prodotti che hai esportato in BigQuery. Il formato è project_id.dataset_id.table_id.

    • processed_product_table. Gli ID progetto, set di dati e tabella in BigQuery per la nuova tabella dei prodotti elaborati. Utilizza lo stesso ID progetto delle tabelle di eventi di prodotto e utente. Utilizza l'ID di un set di dati esistente. Specifica un ID tabella, ma non utilizzare l'ID di una tabella esistente se non vuoi sovrascriverlo. Il formato è 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. Copia l'esempio di codice SQL.

  3. Apri la pagina BigQuery nella console Google Cloud.

    Vai alla pagina BigQuery

  4. Se non è già selezionato, seleziona il progetto che contiene le tabelle dei prodotti e degli eventi utente.

  5. Nel riquadro Editor, incolla il codice SQL di esempio.

  6. Fai clic su Esegui e attendi il completamento dell'esecuzione della query.

La nuova tabella dei prodotti elaborati viene scritta nella posizione in BigQuery che hai impostato utilizzando la variabile processed_product_table.

Crea una tabella di previsione degli eventi

Il codice SQL in questa sezione estrae ogni SKU venduto almeno una volta nella tabella degli eventi utente. Il codice crea una tabella di previsione degli eventi contenente tutti gli SKU estratti in tutti i timestamp futuri. I timestamp futuri sono un array di timestamp settimanali continui, che iniziano dalla settimana finale della tabella degli eventi utente + 1 settimana e terminano con la settimana finale della tabella degli eventi utente + future_length settimane. Imposta il valore future_length sul numero di settimane nel futuro che vuoi che il modello preveda. Ogni riga della tabella di previsione degli eventi può essere identificata in modo univoco da uno SKU e da un timestamp.

Per creare una tabella di previsione degli eventi:

  1. Sostituisci le variabili nel seguente codice di esempio SQL come segue:

    • starting_day_of_week. Il giorno di inizio della settimana. Valori validi: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

    • rdm_user_event_table. Gli ID progetto, set di dati e tabella per la tabella degli eventi utente che hai esportato in BigQuery. Il formato è project_id.dataset_id.table_id.

    • events_prediction_table. Gli ID progetto, set di dati e tabella in BigQuery per la nuova tabella di previsione degli eventi. Utilizza lo stesso ID progetto delle tabelle di eventi di prodotto e utente. Utilizza l'ID di un set di dati esistente. Specifica un ID tabella, ma non utilizzare l'ID di una tabella esistente se non vuoi sovrascriverlo. Il formato è project_id.dataset_id.table_id.

    • rdm_product_table. Gli ID progetto, set di dati e tabella per la tabella dei prodotti che hai esportato in BigQuery. Il formato è project_id.dataset_id.table_id.

    • future_length. Il numero di settimane nel futuro, dopo l'ultima settimana nella tabella degli eventi utente, che il modello prevederà.

  2. Copia l'esempio di codice SQL.

  3. Apri la pagina BigQuery nella console Google Cloud.

    Vai alla pagina BigQuery

  4. Se non è già selezionato, seleziona il progetto che contiene le tabelle dei prodotti e degli eventi utente.

  5. Nel riquadro Editor, incolla il codice SQL di esempio.

  6. Fai clic su Esegui e attendi il completamento dell'esecuzione della query.

La nuova tabella di previsione degli eventi viene scritta nella posizione in BigQuery che hai impostato utilizzando la variabile events_prediction_table.

Creare una tabella di addestramento Vertex AI

Il codice SQL in questa sezione unisce la tabella delle vendite aggregate alla tabella dei prodotti elaborati. Il risultato è una tabella di addestramento Vertex AI, che viene utilizzata da Vertex AI per l'addestramento del modello.

Per creare una tabella di addestramento Vertex AI:

  1. Sostituisci le variabili nel seguente codice di esempio SQL come segue:

    • vertex_ai_training_table. Gli ID progetto, set di dati e tabella in BigQuery per la nuova tabella di addestramento Vertex AI. Utilizza lo stesso ID progetto delle tabelle degli eventi utente e dei prodotti. Utilizza l'ID di un set di dati esistente. Specifica un ID tabella, ma non utilizzare l'ID di una tabella esistente, a meno che tu non voglia sovrascriverla. Il formato è project_id.dataset_id.table_id.

    • aggregated_sales_table. Gli ID progetto, set di dati e tabella in BigQuery della tabella delle vendite aggregate che hai creato in Creare una tabella delle vendite aggregate.

    • processed_product_table. Gli ID progetto, set di dati e tabella in BigQuery per la tabella dei prodotti elaborata, che hai creato in Elaborare la tabella dei prodotti.

    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. Copia l'esempio di codice SQL.

  3. Apri la pagina BigQuery nella console Google Cloud.

    Vai alla pagina BigQuery

  4. Se non è già selezionato, seleziona il progetto che contiene le tabelle dei prodotti e degli eventi utente.

  5. Nel riquadro Editor, incolla il codice SQL di esempio.

  6. Fai clic su Esegui e attendi il completamento dell'esecuzione della query.

La nuova tabella di addestramento Vertex AI viene scritta nella posizione in BigQuery che hai impostato utilizzando la variabile vertex_ai_training_table.

Creare una tabella di previsione Vertex AI

Il codice SQL in questa sezione aggiunge la tabella di previsione degli eventi alla tabella delle vendite aggregate, quindi la unisce alla tabella dei prodotti elaborati. Il risultato è la tabella di previsione di Vertex AI, utilizzata per creare una previsione.

Per creare una tabella di previsione di Vertex AI:

  1. Sostituisci le variabili nel seguente codice di esempio SQL come segue:

    • vertex_ai_prediction_table. Gli ID progetto, set di dati e tabella in BigQuery per la nuova tabella di previsione di Vertex AI. Utilizza gli stessi ID progetto e set di dati che hai utilizzato per le tabelle degli eventi di prodotto e utente. Non utilizzare l'ID di una tabella esistente, a meno che non voglia sovrascriverla. Il formato è project_id.dataset_id.table_id.

    • aggregated_sales_table. Gli ID progetto, set di dati e tabella in BigQuery per la tabella delle vendite aggregate che hai creato in Creare una tabella delle vendite aggregate.

    • processed_product_table. Gli ID progetto, set di dati e tabella in BigQuery per la tabella dei prodotti elaborata, che hai creato in Elaborare la tabella dei prodotti.

    • events_prediction_table. Gli ID progetto, set di dati e tabella in BigQuery per la tabella di previsione degli eventi che hai creato in Creare una tabella di previsione degli eventi.

    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. Copia l'esempio di codice SQL.

  3. Apri la pagina BigQuery nella console Google Cloud.

    Vai alla pagina BigQuery

  4. Se non è già selezionato, seleziona il progetto che contiene le tabelle dei prodotti e degli eventi utente.

  5. Nel riquadro Editor, incolla il codice SQL di esempio.

  6. Fai clic su Esegui e attendi il completamento dell'esecuzione della query.

La nuova tabella di previsione Vertex AI viene scritta nella posizione in BigQuery che hai impostato utilizzando la variabile vertex_ai_prediction_table.

Creare un set di dati Vertex AI

Questa sezione mostra come creare un set di dati Vertex AI che puoi utilizzare per addestrare un modello di previsione. Per ulteriori informazioni, consulta Creare un set di dati per la formazione dei modelli di previsione nella documentazione di Vertex AI.

Per creare un set di dati Vertex AI:

  1. Nella sezione Vertex AI della console Google Cloud, vai alla pagina Set di dati.

    Vai alla pagina Set di dati

  2. Fai clic su Crea per aprire la pagina Crea set di dati.

  3. Nel campo Nome set di dati, inserisci un nome per il nuovo set di dati.

  4. Seleziona la scheda Tabulare.

  5. Seleziona lo scopo Previsione.

  6. Nell'elenco Regione, seleziona la regione che hai utilizzato per creare un set di dati per esportare i dati di vendita al dettaglio in BigQuery. Se hai selezionato us quando hai creato il set di dati BigQuery, puoi selezionare qualsiasi regione degli Stati Uniti. Analogamente, se hai selezionato eu quando hai creato il set di dati BigQuery, puoi selezionare qualsiasi regione dell'Unione europea. Per ulteriori informazioni, consulta Esportare i dati in BigQuery.

  7. Fai clic su Crea per creare il set di dati vuoto e vai alla scheda Origine.

  8. Seleziona Seleziona una tabella o una visualizzazione da BigQuery.

  9. In Seleziona una tabella o una visualizzazione da BigQuery, inserisci gli ID progetto, set di dati e tabella per la tabella di addestramento Vertex AI che hai creato in Creare una tabella di addestramento Vertex AI. Il formato è project_id.dataset_id.table_id.

  10. Fai clic su Continua.

    L'origine dati è associata al set di dati.

  11. Nella scheda Analizza, seleziona sku nell'elenco Colonna identificatore serie e last_day_of_week nell'elenco Colonna timestamp.

  12. Fai clic su Addestra nuovo modello per passare alla pagina Addestra nuovo modello. Per istruzioni sull'addestramento del modello, vai ad Addestrare un modello di previsione.

Addestrare un modello di previsione

Questa sezione mostra come addestrare un modello di previsione utilizzando il set di dati creato in Creare un set di dati Vertex AI. Per ulteriori informazioni, consulta Addestrare un modello di previsione nella documentazione di Vertex AI.

Prima di iniziare

Prima di poter addestrare un modello di previsione, devi creare un set di dati Vertex AI.

Addestra un modello

  1. Nella pagina Metodo di addestramento, seleziona il metodo di addestramento del modello. Per informazioni sui metodi di addestramento, consulta Addestrare un modello nella documentazione di Vertex AI.

    Fai clic su Continua.

  2. Nella pagina Dettagli modello, configura come segue:

    1. Seleziona Addestra nuovo modello, se non è già selezionato.

    2. Inserisci un nome per il nuovo modello.

    3. Seleziona quantity (INTEGER) dall'elenco Colonna target.

    4. Seleziona Settimanale dall'elenco Granularità dei dati.

    5. Inserisci la Finestra del contesto e l'Orizzonte di previsione.

      L'orizzonte di previsione determina per quanto lontano nel futuro il modello deve fare la previsione del valore target per ogni riga di dati di previsione. L'orizzonte di previsione è specificato in unità di granularità dei dati.

      La finestra Contesto imposta il periodo di tempo preso in considerazione dal modello durante l'addestramento (e per le previsioni). In altre parole, per ogni punto dati di addestramento, la finestra di contesto determina quanto indietro nel tempo il modello cerca i pattern predittivi. Se non specifichi una Finestra di contesto, per impostazione predefinita viene utilizzato il valore impostato per Orizzonte di previsione. La finestra di contesto è specificata in unità di granularità dei dati.

      Per ulteriori informazioni, consulta Considerazioni per l'impostazione della finestra di contesto e dell'orizzonte di previsione nella documentazione di Vertex AI.

    6. Fai clic su Continua.

  3. Nella pagina Opzioni di addestramento, configura come segue. Tieni presente che quando la freccia del freccia menu a discesa è grigia o non è freccia menu a discesa, il valore non può essere modificato.

    1. Seleziona un valore Trasformazione per le colonne nell'elenco Nome colonna come segue:

      • Se il valore Tipo BigQuery è Float, Integer o Numeric, imposta il valore Trasformazione su Numeric.

      • Se il valore Tipo BigQuery è Stringa o Booleano, imposta il valore Trasformazione su Categorical.

      • Se il valore Tipo BigQuery è Data, imposta il valore Trasformazione su Timestamp.

    2. Seleziona un valore Tipo di elemento per le colonne nell'elenco Nome colonna come segue:

      • Per add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity e search_quantity, imposta il valore Tipo di funzionalità su Covariate.

      • Per le colonne rimanenti che possono essere modificate, imposta Tipo di elemento su Attributo.

    3. Seleziona un valore Disponibile secondo le previsioni per le colonne nell'elenco Tipo colonna come segue:

      • Per add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity e search_quantity, imposta il valore Disponibilità prevista su Non disponibile.

      • Per le colonne rimanenti che possono essere modificate, imposta il valore Tipo elemento su Disponibile.

    4. Fai clic su Continua.

  4. Nella pagina Compute e prezzi, inserisci il numero massimo di ore per cui vuoi addestrare il modello. Questa impostazione ti consente di limitare i costi di formazione. Il tempo effettivo trascorso può essere superiore a questo valore perché sono coinvolte altre operazioni nella creazione di un nuovo modello. Per informazioni sul tempo necessario per addestrare modelli di alta qualità, consulta Addestrare un modello nella documentazione di Vertex AI.

  5. Fai clic su Inizia addestramento.

    L'addestramento del modello può richiedere molte ore, a seconda delle dimensioni e della complessità dei dati e del budget di addestramento, se ne hai specificato uno. Puoi chiudere questa scheda e tornarci in un secondo momento. Riceverai un'email al termine dell'addestramento del modello. Se vuoi monitorare l'avanzamento dell'addestramento del modello, consulta Monitorare l'avanzamento dell'addestramento.

Monitorare l'avanzamento della formazione

  1. Nella sezione Vertex AI della console Google Cloud, vai alla pagina Addestramento.

    Vai alla pagina Formazione

  2. Se non è già selezionata, seleziona la scheda Pipeline di addestramento. Il modello che stai addestrando dovrebbe essere nell'elenco. L'addestramento è terminato quando lo stato cambia da Addestramento a Completato.

Creare una previsione

Questa pagina mostra come creare una previsione utilizzando il modello di previsione che hai addestrato in Addestrare un modello di previsione.

Prima di iniziare

Prima di poter creare una previsione, devi addestrare un modello di previsione.

Effettua una richiesta di previsione batch al modello

  1. Nella console Google Cloud, nella sezione Vertex AI, vai alla pagina Predizioni batch.

    Vai alla pagina Previsioni batch

  2. Fai clic su Crea per aprire la finestra Nuova previsione batch e completa i seguenti passaggi:

    1. Inserisci un nome per la previsione batch.

    2. Nell'elenco Nome modello, seleziona il modello che hai addestrato in Addestrare un modello di previsione.

    3. Nell'elenco Versione, seleziona la versione del modello.

    4. In Seleziona l'origine:

      1. Seleziona Tabella BigQuery, se non è già selezionata.

      2. Inserisci gli ID progetto, set di dati e tabella in BigQuery per la tabella di previsione di Vertex AI che hai creato in Creare una tabella di previsione di Vertex AI. Il formato è project_id.dataset_id.table_id.

    5. In Output di previsione batch:

      1. Nell'elenco Formato di output, seleziona Tabella BigQuery.

      2. Inserisci gli ID progetto e set di dati in BigQuery per la tabella di output della previsione batch che stai creando. Utilizza lo stesso ID progetto e lo stesso ID set di dati che hai utilizzato per le tabelle degli eventi relativi a prodotti e utenti. Il formato è project_id.dataset_id.

    6. Fai clic su Crea. Viene visualizzata la pagina Previsioni batch.

      La previsione è completata quando lo stato cambia da Pending (In attesa) a Finished (Completata). Riceverai anche un'email al termine della previsione batch. L'output della richiesta di previsione batch viene restituito nel set di dati del progetto BigQuery specificato. Il nome della nuova tabella di output è "predictions_" con il timestamp dell'avvio del job di previsione. Per saperne di più sul recupero e sull'interpretazione dei risultati di previsione, consulta Recupero dei risultati di previsione per batch e Interpretazione dei risultati di previsione nella documentazione di Vertex AI.