Rankningsformler create-ranking-formulas
Om rankningsformler about-ranking-formulas
Rankningsformler gör att du kan 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 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 erbjudandeval i beslut.
Skapa en rankningsformel create-ranking-formula
Så här skapar du en rankningsformel:
-
Gå till menyn Components och välj fliken Ranking. Fliken Formulas är markerad som standard. Listan med formler som skapats tidigare visas.
-
Klicka på Create ranking om du vill skapa en ny rankningsformel.
-
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 skickades contextData.wall=hot i beslutsanropet. Lär dig arbeta med kontextdata
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. -
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)
Ö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 instanstenanten _salesvelocity och profilschemat innehåller ett intervall med poäng lagrade 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
}}
]}
}
Öka erbjudanden baserat på kontextdata context-data
Med Journey Optimizer kan du öka vissa erbjudanden baserat på de kontextdata som skickas i anropet. Om till exempel contextData.weather=hot
skickas måste prioriteten för alla erbjudanden med attribute=hot
öka. Detaljerad information om hur du skickar kontextdata med API:erna Edge Decisioning och Decisioning finns i det här avsnittet
Observera att när du använder API:t Decisioning läggs kontextdata till i profilelementet i begärandetexten, som i exemplet nedan.
"xdm:profiles": [
{
"xdm:identityMap": {
"crmid": [
{
"xdm:id": "CRMID1"
}
]
},
"xdm:contextData": [
{
"@type":"_xdm.context.additionalParameters;version=1",
"xdm:data":{
"xdm:weather":"hot"
}
}
]
}],
Här är exempel som illustrerar hur man använder kontextdata i rankningsformler för att höja offertens prioritet. Expandera varje avsnitt för att få information om rangordningens syntax.
<OrgID>
med ditt organisationskontor-ID i exemplen för Edge Decihering API.tabs | |
---|---|
Besluts-API | 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) |
Edge Decisioning API | if (xEvent.<OrgID>.channel.isNotNull() and xEvent.<OrgID>.channel.equals(_abcMobile.preferredChannel), offer.rank.priority + 10, offer.rank.priority) |
tabs | |
---|---|
Besluts-API | 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) |
Edge Decisioning API | if (xEvent.<OrgID>.weather.isNotNull() and offer.characteristics.get("weather")=xEvent.<OrgID>.weather, offer.rank.priority + 5, offer.rank.priority) |
tabs | |
---|---|
Besluts-API | 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) |
Edge Decisioning API | if (xEvent.<OrgID>.contentorigin.isNotNull() and offer.characteristics.contentorigin=xEvent.<OrgID>.contentorigin, offer.rank.priority * 100, offer.rank.priority) |
tabs | |
---|---|
Besluts-API | 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) |
Edge Decisioning API | if (xEvent.<OrgID>.weather.isNotNull() and offer.characteristics.weather=xEvent.<OrgID>.weather, offer.rank.priority * offer.characteristics.scoringBoost, offer.rank.priority) |