排名公式 create-ranking-formulas

關於排名公式 about-ranking-formulas

排名公式 可讓您定義規則,這些規則會決定應先針對指定位置顯示哪個優惠,而不是考慮優惠的優先順序分數。

排名公式的表示方式為 PQL語法 並可運用設定檔屬性、內容資料和選件屬性。 如需如何使用PQL語法的詳細資訊,請參閱 專屬檔案.

建立排名公式後,您就可以將其指派給決定中的位置。 如需深入了解,請參閱在決策設定優惠方案選取項目

建立排名公式 create-ranking-formula

若要建立排名公式,請遵循下列步驟:

  1. 存取 元件 功能表,然後選取 排名 標籤。 此 公式 標籤預設為選取。 此時會顯示先前建立的公式清單。

  2. 按一下 建立排名 以建立新的排名公式。

  3. 指定公式名稱、說明和公式。

    在此範例中,如果實際天氣炎熱,我們想提高所有具有「炎熱」屬性之選件的優先順序。 若要這麼做, contextData.weather=hot 已在決策呼叫中傳遞。

    note important
    IMPORTANT
    建立排名公式時,不支援回顧過去時段。 例如,如果您將上個月之內發生的體驗事件指定為公式的元件。 在公式建立期間任何包含回顧期間的嘗試將在儲存時觸發錯誤。
  4. 按一下​ 「儲存」。您的排名公式已建立,您可以從清單中選取它以取得詳細資訊,並加以編輯或刪除。

    它現在已準備好用於決定排名合適的優惠以進行位置(請參閱 設定決定中的優惠選擇)。

排名公式範例 ranking-formula-examples

您可以視需要建立許多不同的排名公式。 以下是一些範例。

根據設定檔屬性,以特定優惠方案屬性提升優惠方案

如果設定檔位在與優惠方案對應的城市,則將該城市中所有優惠方案的優先順序加倍。

排名公式:

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

結束日期距離現在不足24小時的提升選件

排名公式:

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

根據內容資料,透過特定選件屬性提升選件

根據決策呼叫中傳遞的內容資料,提升特定優惠方案。 例如,如果 contextData.weather=hot 是在決策呼叫中傳遞,所有優惠方案的優先順序 attribute=hot 必須提升。

排名公式:

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)

請注意,使用決策API時,內容資料會新增至請求內文中的設定檔元素,如下例所示。

要求內文的程式碼片段:

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

根據客戶購買所提供產品的傾向提升優惠方案

您可以根據客戶傾向分數來提升優惠方案的分數。

在此範例中,例項租使用者為 _salesvelocity 而且設定檔結構描述包含儲存在陣列中的一系列分數:

有鑑於此,對於設定檔,例如:

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

選件會包含 傾向性型別 符合分數中的類別:

然後,您的排名公式可將每個優惠方案的優先順序設定為等於客戶 傾向分數 為此 傾向性型別. 如果找不到分數,請使用優惠方案上設定的靜態優先順序:

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