排名公式 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 (@{_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時,內容資料會新增至請求內文中的設定檔元素,如下例所示。

要求內文的程式碼片段:

"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
                        }}
                    ]}
}

選件會包含​ propensityType ​的屬性,該屬性符合分數中的類別:

您的排名公式就可以將每個優惠方案的優先順序設定為等於該​ propensityType ​的客戶​ propensityScore。 如果找不到分數,請使用優惠方案上設定的靜態優先順序:

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