Fórmulas de clasificación create-ranking-formulas

Acerca de las fórmulas de clasificación about-ranking-formulas

Las fórmulas de clasificación le permiten definir reglas que determinan qué oferta debe presentarse primero para una ubicación determinada, en lugar de tener en cuenta las puntuaciones de prioridad de las ofertas.

Las fórmulas de clasificación se expresan en sintaxis de PQL y pueden aprovechar atributos de perfil, datos de contexto y atributos de oferta. Para obtener más información sobre cómo usar la sintaxis de PQL, consulte la documentación específica.

Una vez creada una fórmula de clasificación, puede asignarla a una ubicación en una decisión. Para obtener más información, consulte Configurar la selección de ofertas en decisiones.

Crear una fórmula de clasificación create-ranking-formula

Para crear una fórmula de clasificación, siga los pasos a continuación:

  1. Acceda al menú Componentes y, a continuación, seleccione la ficha Clasificación. La ficha Fórmulas está seleccionada de manera predeterminada. Se muestra la lista de fórmulas creadas anteriormente.

  2. Haga clic en Crear clasificación para crear una nueva fórmula de clasificación.

  3. Especifique el nombre, la descripción y la fórmula de la fórmula.

    En este ejemplo, queremos aumentar la prioridad de todas las ofertas con el atributo "hot" si el tiempo real es caluroso. Para ello, se pasó contextData.weather=hot en la llamada de toma de decisiones. Aprenda a trabajar con datos de contexto

    note important
    IMPORTANT
    Al crear una fórmula de clasificación, no se admite retroceder a un período de tiempo anterior. Por ejemplo, si especifica un evento de experiencia que se produjo durante el último mes como componente de la fórmula. Cualquier intento de incluir un período retroactivo durante la creación de la fórmula generará un déclencheur de error al guardarla.
  4. Haga clic en Guardar. Cuando se crea la fórmula de clasificación, puede seleccionarla en la lista para obtener detalles y editarla o eliminarla.

    Ahora está listo para utilizarse en una decisión para clasificar ofertas aptas para una ubicación (consulte Configurar la selección de ofertas en decisiones).

Ejemplos de fórmulas de clasificación ranking-formula-examples

Puede crear muchas fórmulas de clasificación diferentes según sus necesidades. A continuación se muestran algunos ejemplos.

Aumente las ofertas con ciertos atributos de oferta según el atributo del perfil

Si el perfil vive en la ciudad correspondiente a la oferta, duplique la prioridad para todas las ofertas de esa ciudad.

Fórmula de clasificación:

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

Ampliar ofertas en las que la fecha de finalización sea en menos de 24 horas a partir de ahora

Fórmula de clasificación:

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

Aumente las ofertas en función de la tendencia de los clientes a comprar el producto ofrecido

Puede aumentar la puntuación de una oferta en función de una puntuación de tendencia del cliente.

En este ejemplo, el inquilino de instancia es _salesvelocity y el esquema de perfil contiene un rango de puntuaciones almacenadas en una matriz:

Teniendo en cuenta esto, para un perfil como:

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

Ampliar ofertas según los datos de contexto context-data

Journey Optimizer le permite impulsar ciertas ofertas según los datos de contexto que se pasan en la llamada. Por ejemplo, si se pasa contextData.weather=hot, se debe aumentar la prioridad de todas las ofertas con attribute=hot. Información detallada sobre cómo pasar datos de contexto usando las API Edge Decisioning y Decisioning, consulte esta sección

Tenga en cuenta que al usar la API Decisioning, los datos de contexto se agregan al elemento de perfil en el cuerpo de la solicitud, como en el ejemplo siguiente.

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

}],

Estos son ejemplos que ilustran cómo utilizar datos de contexto en fórmulas de clasificación para aumentar la prioridad de las ofertas. Expanda cada sección para obtener detalles sobre la sintaxis de la fórmula de clasificación.

NOTE
En los ejemplos de la API de Edge Decisioning, reemplace <OrgID> por su ID de inquilino de organización.
Aumente la prioridad de la oferta en 10 puntos si el canal de los datos de contexto coincide con el canal preferido del cliente
tabs
API de decisiones 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)
API de Edge Decisioning if (xEvent.<OrgID>.channel.isNotNull() and xEvent.<OrgID>.channel.equals(_abcMobile.preferredChannel), offer.rank.priority + 10, offer.rank.priority)
Aumente la prioridad de todas las ofertas con <>attribute=hot<> si <>contextData.weather=hot<> se pasa en la llamada.
tabs
API de decisiones 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 de Edge Decisioning if (xEvent.<OrgID>.weather.isNotNull() and offer.characteristics.get("weather")=xEvent.<OrgID>.weather, offer.rank.priority + 5, offer.rank.priority)
Aumento del origen del contenido
tabs
API de decisiones 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)
API de Edge Decisioning if (xEvent.<OrgID>.contentorigin.isNotNull() and offer.characteristics.contentorigin=xEvent.<OrgID>.contentorigin, offer.rank.priority * 100, offer.rank.priority)
Refuerzo del tiempo
tabs
API de decisiones 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)
API de Edge Decisioning if (xEvent.<OrgID>.weather.isNotNull() and offer.characteristics.weather=xEvent.<OrgID>.weather, offer.rank.priority * offer.characteristics.scoringBoost, offer.rank.priority)
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76