PAARS: Persona Aligned Agentic Retail Shoppers
postSaab Mansour, Leonardo Perelli, Lorenzo Mainetti, George Davidson, Stefano D'Amato
Published: 2025-03-31

🔥 Key Takeaway:
Even a little randomness beats perfect precision—injecting diverse, persona-driven quirks into your AI agents yields more realistic group outcomes than trying to nail each individual prediction perfectly.
🔮 TLDR
The PAARS framework introduces a method for creating synthetic shopping agents by deriving personas from anonymized historical shopping data, equipping them with retail-specific tools to simulate shopping sessions. Adding synthetic personas to LLM-powered shopping agents raised query prediction accuracy from a cosine similarity of 0.59 to 0.69 (a 17% relative gain) and boosted purchase‐prediction accuracy from 25.5% to 47.3% (an absolute +6.2 pp over the next best baseline) in individual alignment tasks ; at the group level, persona conditioning lowered KL divergence across searches, clicks and purchases by roughly 1.3 points, bringing simulated behavior closer to real shoppers ; it also improved session diversity (query type‐token ratio from 0.013→0.23 vs. human 0.38; product TTR from 0.035→0.66 vs. human 0.97) . Despite these gains, a gap remains to genuine human behavior, indicating more work is needed to match real-world results.
📊 Cool Story, Needs a Graph
Figure 3: "Search rank distribution of viewed items comparing human behavior to agents with/without personas"

Comparison of item view rank distributions across real shoppers and agents, highlighting improved realism with personas.
This figure shows the percentage of item views across ranked positions (1st to 52nd) in retail search results for three groups: real human shoppers, AI agents with personas, and AI agents without personas. The distribution for agents with personas more closely aligns with that of real shoppers, especially in favoring higher-ranked items, whereas agents without personas deviate more significantly. This visual effectively demonstrates how persona conditioning narrows the behavioral gap between synthetic agents and actual consumer patterns across a full ranking spectrum.
⚔️ The Operators Edge
A subtle but powerful lever in this method is the decoupling of model parameters from persona behavior—all agents share the same base LLM, and only the prompt (persona) changes. This means that you can simulate vast behavioral diversity without needing to fine-tune multiple models, making it incredibly scalable and cost-efficient.
Why it matters: Most experts focus on improving model accuracy via fine-tuning or data augmentation. But this approach sidesteps that entirely and leans into prompt diversity as the source of behavioral variation, which is cheaper, faster, and more adaptable.
Example: A brand launching a new skincare line wants to test reactions from Gen Z, middle-aged men, and budget-focused moms. Instead of building or fine-tuning three separate models, they simply generate three tailored personas and simulate their shopping behavior across product pages. This allows the team to identify segment-specific messaging strategies quickly, without retraining anything—just swapping prompts.
📄 Prompts
Prompt Explanation: Prompt for generating a consumer profile from user session and purchase history.
The user's data is provided within <user_data ></user_data > XML tags.
The user's data includes sessions data inside <sessions_history > XML tag and all
other purchases in the <other_purchases > tag:
<user_data >
<sessions_history >
{sessions}
</sessions_history >
<other_purchases >
{other_purchases}
</other_purchases >
</user_data >
Please create a consumer profile that includes the following fields:
- Gender
- Age
- Relationships
- Education
- Industry
- Salary range
- Home ownership
- Parental status
- Interests
For each field in the consumer profile , you must provide reasoning behind your
decision. If you are not certain about a particular field , make your best guess
based on the available information.
Choose Interests only from the following list:
<valid_interests >
{valid_interests}
</valid_interests >
and save them as a list.
Before providing your final output , please think through your analysis using the
following steps:
1. Carefully review the user's purchase history , view history , and search history.
2. For each consumer field , identify patterns or specific items that could indicate
the user's characteristics.
3. Consider how different pieces of information might relate to each other to form
a coherent profile.
4. If you're unsure about a field , look for indirect clues that might support a
reasonable guess.
After completing your analysis , provide the consumer profile in JSON format.
Each field should include both the determined value and extensive reasoning
behind it.
Remember to include all nine required fields in your JSON output , even if you have
to make a best guess for some of them.
After completing the consumer profile task , provide your output in JSON format with
two keys.
Remember to associate the analysis to the key 'analysis ' and the consumer profile
to the key 'consumer_profile '.
Here is an example of the expected JSON output. It is enclosed in the
<output ></output > XML tag.
<output > {example_output} </output >
Prompt Explanation: Prompt for generating shopping preferences based on a consumer profile and shopping history.
You will receive a consumer profile , in the <consumer_profile > XML tag , and history
data , including sessions in <sessions_history > and all the other purchases not
included in the sessions in the <other_purchases > tag. All these information are
enclosed in <user_data ></user_data > tag.
<user_data >
<consumer_profile >
{consumer_profile}
</consumer_profile >
<sessions_history >
{sessions}
</sessions_history >
<other_purchases >
{other_purchases}
</other_purchases >
</user_data >
Your goal is to create a persona that describes how this individual might consider
the following factors while shopping on an online store:
- Products
- Price
- Value
- Product Selection
- Reviews
- Brand Reputation
- Quality
Analyze the provided user data carefully. Look for patterns in their purchase
history , view history , and search history. Consider how their consumer profile
might influence their shopping behavior.
Create a cohesive persona that represents this user's likely approach to online
shopping. The persona should feel like a real person with distinct preferences
and behaviors.
In your response , describe how the persona might prioritize each of the seven
factors listed above. For example , they might prioritize brand reputation over
price , or value over product selection.
The output must be in JSON format.
Use "inner_monologue" key to show your reasoning process as you analyze the data
and form the persona. This will help explain how you arrived at your conclusions.
Present your final persona description in the "persona" key.
The persona should be written in paragraph form , describing the individual 's
approach to online shopping and how they consider each of the seven factors.
Be sure to mention the relative importance of each factor to this persona.
Remember , the goal is to create a realistic and specific persona based on the
provided data , not a generic description. Your persona should reflect the unique
characteristics and preferences suggested by the user data.
Prompt Explanation: Prompt for predicting search queries based on persona and product view sessions.
Your mission is to analyze given persona characteristics and viewing session data ,
then predict the most likely search queries for each session. This task requires
careful consideration of the persona 's preferences , interests , and behavior
patterns.
Follow these instructions carefully:
1. You will be given a set of persona characteristics inside <persona > tags. Embody
this persona for the task. <persona >{ persona}</persona >
2. You will be presented with a list of sessions inside <sessions > tags. Within is
session there is a list of product viewed. <sessions >{ sessions}</sessions >
3. For each session you have to predict the query the user you are embodying has
done. Consider the following:
a. Analyze the persona characteristics and infer the person 's preferences and
pickiness level.
b. Predict the most probable search query that led to viewing those items.
c. Make a decision that best fits the persona 's likely preferences and
pickiness level that you need to infer.
4. Your final output must be in valid JSON format , containing one key -value pair
per session. The key should be the session name (as provided in the input), and
the value should be your predicted query for that session.
5. Here's an example of the expected output in JSON format: {example_output}
6. Before making your final predictions , use this section to think through your
reasoning:
Persona analysis:
- What are the key characteristics of this persona?
- What preferences and interests can you infer?
- How might these traits influence their search behavior?
Session analysis (for each session):
- What types of products were viewed?
- How do these align with the persona 's characteristics?
- What common themes or purposes can you identify among the viewed items?
Query prediction:
- Based on the persona and viewed items , what search terms are most likely?
- How specific or general should the predicted query be?
- Does the predicted query align with the persona 's likely language and search
style?
- Use these thought processes to inform your final predictions.
7. Important notes:
- Only predict one query for each sessions.
- Ensure your reason aligns with the given persona characteristics.
- Do not include any additional comments or explanations outside the output you
have to provide.
- Please make sure to give the output in the exact same format I provided
Prompt Explanation: Prompt for choosing an item to buy based on a persona background for individual alignment.
Follow these instructions carefully:
1. You will be given some background information about a persona inside
<background > tags. Use this information to execute the task.
<background >
{background}
</background >
2. You will be presented with a list of items inside <items > tags. These are the
items available for purchase.
<items >
{items}
</items >
3. Your task is to choose one item from the list to buy and provide a reason for
your choice , based on the background information you are provided with.
Consider the following: a. Analyze the characteristics and infer the person 's
preferences and pickiness level. b. Evaluate each item in the list and how well
it aligns with the background. c. Make a decision that best fits the persona 's
likely preferences and pickiness level that you need to infer.
4. Your response should be in valid JSON format , containing two keys: "title" (the
product title) and "reason" (the explanation for your choice , including which
is the level of pickiness you inferred). Be sure to use the same title you
received as input in the <items > list.
5. Here's an example of the expected JSON output format:
<example >
{example_output}
</example >
6. Important notes:
- Only choose from the items provided in the list.
- Ensure your reason aligns with the given background information.
- Do not include any additional comments or explanations outside the JSON object.
- Make sure your JSON is properly formatted and valid.
7. Provide your response in a single JSON object , without any additional text
before or after it.
Prompt Explanation: Prompt for choosing a product index based on persona for group-level item selection alignment.
Follow these instructions carefully:
1. You will be given a set of persona characteristics inside <persona > tags. Embody
this persona for the task.
<persona >
{persona}
</persona >
2. You will be presented with a list of items inside <items > tags. These are the
items available for purchase.
<items >
{items}
</items >
3. Your task is to choose one item from the list to buy , based on the persona you
are embodying. Consider the following: a. Analyze the persona characteristics
and infer the person 's preferences and pickiness level. b. Evaluate each item
in the list and how well it aligns with the persona. c. Make a decision that
best fits the persona 's likely preferences and pickiness level that you need to
infer.
4. Your response should be in valid JSON format , containing one key: "output",
associated to a single value which is your answer. The value must be in valid
integer format , which represents the index of the chosen item in the input
list , (the indices start from 0).
5. Here's an example of the expected output in JSON format:
{example_output}
6. Important notes:
- Only choose from the items provided in the list.
- Ensure your reason aligns with the given persona characteristics.
- Do not include any additional comments or explanations outside the output integer.
- Please make sure to give the output in the exact same format I provided
Prompt Explanation: Prompt for simulating a full shopping session using tools within a text-only retail environment.
You are presented with: (i) a detailed description of a customer
of the online shopping website amazon.com and (ii) browsing tools.
Your task is to impersonate the given customer , adhering to the provided
description , and perform a shopping session.
You can browse the shopping website through the provided list of tools.
Notes:
- You are submitting queries to the amazon.com search bar. Keep your queries simple
and short (max 4 words). If you don't get search results , try up to 3 times
making the query less specific each time.
- When you want to terminate the shopping session , remember to use the
terminate_session tool.
- Before adding an item to the cart , you probably want to get more information on
it by visiting the item's detail page through the get_product_info_tool.
- You can decide to buy the items added in the cart or not: If you are satisfied
with the products added to the cart and believe the customer would proceed to a
purchase , purchase the cart. Instead , if you think the customer might hesitate
on the purchase , you can terminate the session without any purchases.
Customer description: {persona}
⏰ When is this relevant?
A mid-sized e-commerce brand wants to test how customers might respond to a new eco-friendly packaging feature on their product pages before launching it across the site. They want to know: Will this feature increase purchase likelihood among different customer types?
🔢 Follow the Instructions:
1. Define 3-5 Customer Segments
Identify realistic buyer personas using your internal CRM or marketing data (e.g., "budget-conscious parents," "eco-conscious millennials," "brand-loyal professionals"). These will guide the AI personas.
2. Create Persona Prompts
For each segment, write a short persona description for the AI to adopt. For example:
You are an eco-conscious millennial who prioritizes sustainable products and avoids wasteful packaging. You do moderate online shopping and read reviews before buying. You are price-aware but willing to spend more for ethical products.
3. Set Up Two Shopping Experiences
Prepare two simple product page descriptions: one without the eco-packaging feature (Control), and one with a short blurb highlighting the new eco-friendly packaging (Treatment). Keep all other details identical.
4. Prompt AI Personas to Simulate Purchase Decisions
Use the following template for each persona and version of the product page:
Persona: [insert persona text]
You are browsing an online store. You see the following product page:
[insert product page text]
Would you buy this product? Why or why not?
Output your decision (Yes/No) and a brief explanation.
5. Run the Simulation at Scale
For each persona, generate 50-100 responses per version (Control and Treatment). You can do this by adjusting temperature/randomness in the LLM to get varied outputs while staying within the persona.
6. Analyze Results
Calculate the % of "Yes" responses for each version and persona group. Compare Control vs. Treatment to see if the eco-feature increases purchase intent — and for whom.
7. Summarize Actionable Insights
Report the change in purchase intent across segments. Example: "Eco-conscious millennials showed a +22% lift in purchase likelihood with the eco-packaging feature, while budget-conscious parents showed no meaningful change."
🤔 What should I expect?
You’ll learn whether your eco-packaging feature is likely to influence buying decisions — and which types of customers respond most positively. This can help prioritize rollout strategies, tailor messaging, or decide if further investment in the feature is justified.