排名公式允许您定义规则,以确定应首先为给定投放位置显示哪个优惠,而不是考虑优惠的优先级得分。
排名公式表示为 PQL语法 和可以利用配置文件属性、上下文数据和选件属性。 有关如何使用PQL语法的更多信息,请参阅 专用文档.
创建排名公式后,您可以将其分配给决策中的投放位置。 有关此内容的更多信息,请参阅在决策中配置优惠选择。
要创建排名公式,请执行以下步骤:
访问 组件 菜单,然后选择 排名 选项卡。 此 公式 选项卡默认处于选中状态。 此时将显示之前创建的公式列表。
单击 创建排名 以创建新的排名公式。
指定公式名称、说明和公式。
在本例中,如果实际天气炎热,我们希望提高所有具有“hot”属性的选件的优先级。 要执行此操作, contextData.weather=hot 在决策调用中传递。
单击 Save。排名公式已创建,您可以从列表中选择该公式以获取详细信息并对其进行编辑或删除。
它现在可用于对投放位置中符合条件的优惠进行排名的决策中(请参阅 在决策中配置优惠选择)。
您可以根据需要创建许多不同的排名公式。 以下是一些示例。
如果配置文件住在选件对应的城市,则将该城市中所有选件的优先级提高一倍。
排名公式:
if( offer.characteristics.city = homeAddress.city, offer.rank.priority * 2, offer.rank.priority)
排名公式:
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.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
}}
]}
}
选件将包含 倾向类型 与分数中的类别匹配的类别:
然后,您的排名公式可以将每个优惠的优先级设置为等于客户 倾向分数 为了这个 倾向类型. 如果未找到得分,请使用在选件中设置的静态优先级:
let score = (select _Individual_Scoring1 from _salesvelocity.individualScoring
where _Individual_Scoring1.core.category.equals(offer.characteristics.propensityType, false)).head().core.propensityScore
in if(score.isNotNull(), score, offer.rank.priority)