Formule di classificazione create-ranking-formulas

Informazioni sulla classificazione delle formule about-ranking-formulas

Le formule di classificazione ti consentono di definire regole che determineranno quale offerta deve essere presentata per prima per un determinato posizionamento, anziché tenere conto dei punteggi di priorità delle offerte.

Le formule di classificazione sono espresse in sintassi PQL e possono sfruttare attributi di profilo, dati contestuali e attributi di offerta. Per ulteriori informazioni su come utilizzare la sintassi PQL, consulta la documentazione dedicata.

Una volta creata una formula di classificazione, puoi assegnarla a un posizionamento in una decisione. Per ulteriori informazioni, consulta Configurare la selezione delle offerte nelle decisioni.

Creare una formula di classificazione create-ranking-formula

Per creare una formula di classificazione, effettua le seguenti operazioni:

  1. Accedi al menu Componenti, quindi seleziona la scheda Classifica. La scheda Formule è selezionata per impostazione predefinita. Viene visualizzato l'elenco delle formule create in precedenza.

  2. Fai clic su Crea classificazione per creare una nuova formula di classificazione.

  3. Specificare il nome, la descrizione e la formula della formula.

    In questo esempio, vogliamo aumentare la priorità di tutte le offerte con l’attributo "hot" (caldo) se il tempo effettivo è caldo. A questo scopo, contextData.weather=hot è stato passato alla chiamata di decisioning. Scopri come utilizzare i dati contestuali

    note important
    IMPORTANT
    Durante la creazione di una formula di classificazione, non è supportato guardare indietro a un periodo di tempo precedente. Ad esempio, se specifichi un evento esperienza che si è verificato nell’ultimo mese come componente della formula. Qualsiasi tentativo di includere un periodo di lookback durante la creazione della formula attiverà un errore durante il salvataggio.
  4. Fai clic su Salva. La formula di classificazione viene creata, puoi selezionarla dall’elenco per ottenere i dettagli e modificarla o eliminarla.

    È ora pronto per essere utilizzato in una decisione di classificare le offerte idonee per un posizionamento (consulta Configurare la selezione di offerte nelle decisioni).

Esempi di formule di classificazione ranking-formula-examples

Puoi creare diverse formule di classificazione in base alle tue esigenze. Di seguito sono riportati alcuni esempi.

Incrementa le offerte con un determinato attributo di offerta basato sull’attributo del profilo

Se il profilo risiede nella città corrispondente all’offerta, allora raddoppia la priorità per tutte le offerte in quella città.

Formula di classificazione:

if( offer.characteristics.get("city") = homeAddress.city, offer.rank.priority * 2, offer.rank.priority)

Incrementa le offerte la cui data di fine è inferiore a 24 ore

Formula di classificazione:

if( offer.selectionConstraint.endDate occurs <= 24 hours after now, offer.rank.priority * 3, offer.rank.priority)

Incrementa le offerte in base alla propensione dei clienti ad acquistare il prodotto che viene offerto

Puoi aumentare il punteggio di un’offerta in base al punteggio di tendenza del cliente.

In questo esempio, il tenant dell'istanza è _salesvelocity e lo schema del profilo contiene un intervallo di punteggi archiviati in un array:

Considerato questo, per un profilo come:

{"_salesvelocity": {"individualScoring": [
                    {"core": {
                            "category":"insurance",
                            "propensityScore": 96.9
                        }},
                    {"core": {
                            "category":"personalLoan",
                            "propensityScore": 45.3
                        }},
                    {"core": {
                            "category":"creditCard",
                            "propensityScore": 78.1
                        }}
                    ]}
}

Incrementa le offerte in base ai dati contestuali context-data

Journey Optimizer consente di aumentare alcune offerte in base ai dati contestuali trasmessi nella chiamata. Ad esempio, se contextData.weather=hot viene passato, la priorità di tutte le offerte con attribute=hot deve essere aumentata. Informazioni dettagliate su come trasmettere i dati contestuali utilizzando le API Edge Decisioning e Decisioning, consulta questa sezione

Tieni presente che quando utilizzi l'API Decisioning, i dati contestuali vengono aggiunti all'elemento profilo nel corpo della richiesta, come nell'esempio seguente.

"xdm:profiles": [
{
    "xdm:identityMap": {
        "crmid": [
            {
            "xdm:id": "CRMID1"
            }
        ]
    },
    "xdm:contextData": [
        {
            "@type":"_xdm.context.additionalParameters;version=1",
            "xdm:data":{
                "xdm:weather":"hot"
            }
        }
    ]

}],

Di seguito sono riportati alcuni esempi che illustrano come utilizzare i dati contestuali nelle formule di classificazione per aumentare la priorità delle offerte. Espandi ogni sezione per ottenere dettagli sulla sintassi della formula di classificazione.

NOTE
Negli esempi di API Edge Decisioning, sostituisci <OrgID> con l'ID tenant dell'organizzazione.
Aumenta di 10 la priorità dell’offerta se il canale dai dati contestuali corrisponde al canale preferito dal cliente
tabs
API decisioning if (@{_xdm.context.additionalParameters;version=1}.channel.isNotNull() and @{_xdm.context.additionalParameters;version=1}.channel.equals(_abcMobile.preferredChannel), offer.rank.priority + 10, offer.rank.priority)
API Edge Decisioning if (xEvent.<OrgID>.channel.isNotNull() and xEvent.<OrgID>.channel.equals(_abcMobile.preferredChannel), offer.rank.priority + 10, offer.rank.priority)
Aumenta la priorità di tutte le offerte con <>attribute=hot<> se <>contextData.weather=hot<> viene passato nella chiamata.
tabs
API decisioning if (@{_xdm.context.additionalParameters;version=1}.weather.isNotNull() and offer.characteristics.get("weather")=@{_xdm.context.additionalParameters;version=1}.weather, offer.rank.priority + 5, offer.rank.priority)
API Edge Decisioning if (xEvent.<OrgID>.weather.isNotNull() and offer.characteristics.get("weather")=xEvent.<OrgID>.weather, offer.rank.priority + 5, offer.rank.priority)
Aumento origine contenuto
tabs
API decisioning if (@{_xdm.context.additionalParameters;version=1}.contentorigin.isNotNull() and offer.characteristics.contentorigin=@{_xdm.context.additionalParameters;version=1}.contentorigin, offer.rank.priority * 100, offer.rank.priority)
API Edge Decisioning if (xEvent.<OrgID>.contentorigin.isNotNull() and offer.characteristics.contentorigin=xEvent.<OrgID>.contentorigin, offer.rank.priority * 100, offer.rank.priority)
Aumento del tempo
tabs
API decisioning if (@{_xdm.context.additionalParameters;version=1}.weather.isNotNull() and offer.characteristics.weather=@{_xdm.context.additionalParameters;version=1}.weather, offer.rank.priority * offer.characteristics.scoringBoost, offer.rank.priority)
API Edge Decisioning if (xEvent.<OrgID>.weather.isNotNull() and offer.characteristics.weather=xEvent.<OrgID>.weather, offer.rank.priority * offer.characteristics.scoringBoost, offer.rank.priority)
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76