Skip to main content

What metrics are returned in the Intent script

Charley Bader avatar
Written by Charley Bader
Updated this week

With Made with Intent, every customer has a set of data points returned against them as they navigate through your site. These are used to build the Made with Intent segments and can also be used to build custom segments of your own. All of this user data is held within local storage, and you can view your own in the dev console using the following:

JSON.parse(localStorage.getItem('intent.inference.last')) || '{}';


Below you can find a list of all the data points returned in each inference:

intent_stage: string

  • High-level label indicating the user’s overall intent stage

    • “low” → Has a low intent to purchase

    • “building” → Is building intent to purchase

    • “high” → Has a high intent to purchase

shopper_mindset: string

  • Qualitative description of the user’s mindset

    • “discovery” → Broadly exploring products and ranges

    • “consideration” → Focusing on a single product or a subset of products

    • “operational” → No longer actively shopping — account management, checking out etc

{
"intent_stage": "low",
"shopper_mindset": "discovery",
}

intent: object

Nested object containing key intents. Each intent has the same structure:

Path: intent.<intent>

  • latest: float — Latest probability for the intent

  • latest_label: string — Label for the latest percentile ranking

    • "Very Low": < p10

    • "Low": < p33

    • "Medium": < p66

    • "High": < p90

    • "Very High": ≥ p90

  • latest_pctile: int — Percentile ranking for the latest score

  • max: float — Maximum probability seen for this intent

  • max_label: string — Label for the maximum percentile ranking

  • max_pctile: int — Percentile ranking for the max score

Intents:

  • intent.xc → Purchase Confidence

  • intent.xr → Likelihood to Return

  • intent.xe → Likelihood to Abandon

  • intent.xatc → Readiness to Add to Bag

{
"latest": 0.0382,
"latest_label": "Low",
"latest_pctile": 13,
"max": 0.0448,
"max_label": "Low",
"max_pctile": 26
}

affinities: object

Path: affinities.all

Each key corresponds to an available affinity type. Values are lists of items the user has shown interest in:

{
"page_brand": ["Nike", "Adidas"],
"page_category": ["T-Shirts"],
"page_subcategory": ["Performance T-Shirts"],
"page_type": ["plp"],
"page_url_slug": ["summer-sale"],
"product_brand": ["Nike"],
"product_category": ["T-Shirts"],
"product_name": ["Nike Air Zoom Pegasus 40"],
"product_price_band": ["£25-£50"],
"product_sku": ["SKU-1234"],
"product_subcategory": ["Lightweight Trainers"],
"product_url_path": ["/p/nike-air-zoom"]
}

Path: affinities.top

A flattened string representing the top affinity for each category, e.g.

{
"page_brand": "Nike",
"product_category": "T-Shirts",
"page_type": "plp",
"product_name": "Nike Air Zoom Pegasus 40",
...
}

segments: array[object]

Each segment object includes:

  • id: string — Internal ID for the segment

  • name: string — Display name for the segment

Example:

{
"id": "67d57a30b3ad6d3876b9b454",
"name": "Likely to Exit"
}

{
"intent_stage": "low",
"shopper_mindset": "discovery",
"intent": {
"xc": {
"latest": 0.0382,
"latest_label": "Low",
"latest_pctile": 13,
"max": 0.0448,
"max_label": "Low",
"max_pctile": 26
},
"xr": {
"latest": 0.1689,
"latest_label": "Very Low",
"latest_pctile": 6,
"max": 0.1758,
"max_label": "Low",
"max_pctile": 13
},
"xe": {
"latest": 0.7343,
"latest_label": "Very High",
"latest_pctile": 94,
"max": 0.7345,
"max_label": "Very High",
"max_pctile": 94
},
"xatc": {
"latest": 0.0662,
"latest_label": "Low",
"latest_pctile": 14,
"max": 0.0694,
"max_label": "Low",
"max_pctile": 23
}
},
"affinities": {
"all": {
"page_brand": ["Nike", "Adidas"],
"page_category": ["T-Shirts"],
"page_subcategory": ["Performance T-Shirts"],
"page_type": ["plp"],
"page_url_slug": ["summer-sale"],
"product_brand": ["Nike"],
"product_category": ["T-Shirts"],
"product_name": ["Nike Air Zoom Pegasus 40"],
"product_price_band": ["£25-£50"],
"product_sku": ["SKU-1234"],
"product_subcategory": ["Lightweight Trainers"],
"product_url_path": ["/p/nike-air-zoom"]
},
"top": {
"page_brand": "Nike",
"product_category": "T-Shirts",
"page_type": "plp",
"product_name": "Nike Air Zoom Pegasus 40"
}
},
"segments": [
{
"id": "67d57a30b3ad6d3876b9b454",
"name": "Likely to Exit"
},
{
"id": "b6827321bd5297dfa816f66fc",
"name": "Unlikely to Return"
}
]
}

Did this answer your question?