Rankningsformler create-ranking-formulas

Om rankningsformler about-ranking-formulas

Rankningsformler gör det möjligt att definiera regler som avgör vilket erbjudande som ska presenteras först för en viss placering, i stället för att ta hänsyn till offertens prioritetspoäng.

Rankningsformler uttrycks i PQL-syntax och kan utnyttja profilattribut, kontextdata och erbjuda attribut. Mer information om hur du använder PQL-syntaxen finns i dedikerad dokumentation.

När en rankningsformel har skapats kan du tilldela den till en placering i ett beslut. Mer information finns i Konfigurera urval av erbjudanden i beslut.

Skapa en rankningsformel create-ranking-formula

Så här skapar du en rankningsformel:

  1. Öppna Components väljer du Ranking -fliken. The Formulas -fliken är markerad som standard. Listan med formler som skapats tidigare visas.

  2. Klicka Create ranking för att skapa en ny rankningsformel.

  3. Ange formelnamn, beskrivning och formel.

    I det här exemplet vill vi prioritera alla erbjudanden med attributet"hot" om vädret är varmt. För att göra detta contextData.west=hot har skickats i beslutsanropet.

    note important
    IMPORTANT
    När du skapar en rankningsformel stöds inte möjligheten att gå tillbaka till en tidigare tidsperiod. Om du till exempel anger en upplevelsehändelse som inträffade under den sista månaden som en komponent i formeln. Alla försök att inkludera en uppslagsperiod när formeln skapas kommer att utlösa ett fel när den sparas.
  4. Klicka på Save. Din rankningsformel skapas. Du kan välja den i listan för att få information och redigera eller ta bort den.

    Det är nu klart att användas i ett beslut om att rangordna kvalificerade erbjudanden för en placering (se Konfigurera urval av erbjudanden i beslut).

Exempel på rankningsformler ranking-formula-examples

Du kan skapa många olika rankningsformler efter behov. Nedan finns några exempel.

Öka erbjudanden med vissa attribut baserade på profilattribut

Om profilen finns i den stad som motsvarar erbjudandet fördubblas prioriteten för alla erbjudanden i den staden.

Rankningsformel:

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

Förbättra erbjudanden där slutdatumet är mindre än 24 timmar från och med nu

Rankningsformel:

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

Förbättra erbjudanden med vissa attribut baserade på kontextdata

Öka vissa erbjudanden baserat på de kontextdata som skickas i beslutsanropet. Om contextData.weather=hot har skickats in i beslutsanropet, prioriteten för alla erbjudanden med attribute=hot måste förstärkas.

Rankningsformel:

if (@event{_xdm.context.additionalParameters;version=1}.weather.isNotNull()
and offer.characteristics.get("weather")=@event{_xdm.context.additionalParameters;version=1}.weather, offer.rank.priority + 5, offer.rank.priority)

Observera att när du använder API:t för beslutsfattande läggs kontextdata till i elementet profile i begärandebrödtexten, som i exemplet nedan.

Fragment från begärandetext:

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

Öka erbjudandena baserat på kundernas benägenhet att köpa den produkt som erbjuds

Ni kan höja poängen för ett erbjudande baserat på kundens benägenhetspoäng.

I det här exemplet är instansen tenant _salesvelocity och profilschemat innehåller ett intervall med bakgrundsmusik som lagras i en array:

Med detta i åtanke för en profil som:

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

Erbjudandena skulle innehålla ett attribut för propensityType som matchar kategorin från poängen:

Din rankningsformel kan sedan ange prioriteten för varje erbjudande som ska vara lika med kunderna propensityScore för propensityType. Om ingen poäng hittas, använd den statiska prioriteten som angetts i erbjudandet:

let score = (select _Individual_Scoring1 from _salesvelocity.individualScoring
             where _Individual_Scoring1.core.category.equals(offer.characteristics.get("propensityType"), false)).head().core.propensityScore
in if(score.isNotNull(), score, offer.rank.priority)
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76