Ranking-Formeln create-ranking-formulas
Grundlagen zu Rangfolgeformeln about-ranking-formulas
Mithilfe von Rangfolgeformeln können Sie festlegen, welches Angebot für eine bestimmte Platzierung zuerst angezeigt werden soll, anstatt die Prioritätswerte der Angebote zu berücksichtigen.
Rangfolgeformeln werden in der PQL-Syntax angegeben und können Profil-, Kontextdaten- und Angebotsattribute nutzen. Weiterführende Informationen zur Verwendung der PQL-Syntax finden Sie im entsprechenden Handbuch.
Nachdem Sie eine Rangfolgenformel erstellt haben, können Sie sie einer Platzierung in einer Entscheidung zuweisen. Weitere Informationen dazu finden Sie unter Konfigurieren der Auswahl von Angeboten in Entscheidungen.
Erstellen einer Rangfolgeformel create-ranking-formula
Gehen Sie wie folgt vor, um eine neue Rangfolgeformel zu erstellen:
-
Rufen Sie das Menü Komponenten auf und wählen Sie dann die Registerkarte Rangfolge aus. Die Registerkarte Formeln ist standardmäßig ausgewählt. Es wird die Liste der zuvor erstellten Rangfolgen angezeigt.
-
Klicken Sie auf Rangfolge erstellen, um eine neue Rangfolgeformel zu erstellen.
-
Geben Sie den Namen und die Beschreibung der Formel sowie die Formel selbst an.
In diesem Beispiel möchten wir die Priorität aller Angebote durch Hinzufügen des Attributs „heiß“ erhöhen, wenn das Wetter heiß ist. Zu diesem Zweck wurde contextData.weather=hot im Entscheidungsaufruf übergeben.
note important IMPORTANT Beim Erstellen einer Ranglistenformel wird ein Rückblick in einen vorherigen Zeitraum nicht unterstützt. So kann es beispielsweise sein, dass Sie als Bestandteil der Formel ein Erlebnisereignis angeben, das innerhalb des letzten Monats stattgefunden hat. Bei jedem Versuch, einen Rückblick-Zeitraum während der Formelerstellung einzubeziehen, wird beim Speichern ein Fehler ausgelöst. -
Klicken Sie auf Speichern. Ihre Rangfolgeformel wird erstellt. Sie können sie aus der Liste auswählen, um Details abzurufen und sie zu bearbeiten oder zu löschen.
Sie kann jetzt in einer Entscheidung verwendet werden, um die geeigneten Angebote für eine Platzierung zu reihen (siehe Auswahl der Angebote in Entscheidungen konfigurieren).
Beispiele für Rangfolgeformeln ranking-formula-examples
Sie können je nach Bedarf viele verschiedene Rangfolgeformeln erstellen. Im Folgenden finden Sie einige Beispiele.
Verstärken von Angeboten mit bestimmten Angebotsattributen auf der Grundlage von Profilattributen
Wenn das Profil in der Stadt lebt, die dem Angebot entspricht, verdoppeln Sie die Priorität für alle Angebote in dieser Stadt.
Rangfolgeformel:
if( offer.characteristics.get("city") = homeAddress.city, offer.rank.priority * 2, offer.rank.priority)
Verstärken von Angeboten, deren Enddatum in weniger als 24 Stunden liegt
Rangfolgeformel:
if( offer.selectionConstraint.endDate occurs <= 24 hours after now, offer.rank.priority * 3, offer.rank.priority)
Verstärken von Angeboten mit bestimmten Angebotsattributen auf der Grundlage von Kontextdaten
Verstärken Sie bestimmte Angebote auf der Grundlage der Kontextdaten, die beim Entscheidungsaufruf übergeben werden. Wenn beispielsweise contextData.weather=hot
im Entscheidungsaufruf übergeben wird, muss die Priorität aller Angebote mit attribute=hot
erhöht werden.
Rangfolgeformel:
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)
Beachten Sie, dass bei Verwendung der Decisioning-API die Kontextdaten im Anfragehauptteil zum Profilelement hinzugefügt werden (siehe folgendes Beispiel).
Snippet im Anfragehauptteil:
"xdm:profiles": [
{
"xdm:identityMap": {
"crmid": [
{
"xdm:id": "CRMID1"
}
]
},
"xdm:contextData": [
{
"@type":"_xdm.context.additionalParameters;version=1",
"xdm:data":{
"xdm:weather":"hot"
}
}
]
}],
Verstärken von Angeboten entsprechend der Neigung der Kunden, das angebotene Produkt zu kaufen
Sie können die Punktzahl für ein Angebot basierend auf einem Tendenzwert für den Kunden erhöhen.
In diesem Beispiel lautet der Instanzmandant _salesvelocity und das Profilschema enthält einen Bereich von Werten, die in einem Array gespeichert sind:
In diesem Fall für ein Profil wie:
{"_salesvelocity": {"individualScoring": [
{"core": {
"category":"insurance",
"propensityScore": 96.9
}},
{"core": {
"category":"personalLoan",
"propensityScore": 45.3
}},
{"core": {
"category":"creditCard",
"propensityScore": 78.1
}}
]}
}
Die Angebote enthalten ein Attribut für propensityType, das mit der Kategorie der Punktwerte übereinstimmt:
Ihre Rangfolgeformel kann dann die Priorität jedes Angebots so festlegen, dass sie dem propensityScore des Kunden für diesen propensityType entspricht. Wenn kein Punktwert gefunden wird, verwenden Sie die statische Priorität für das Angebot:
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)