The world’s leading publication for data science, AI, and ML professionals.

Creating Synthetic User Research: Using Persona Prompting and Autonomous Agents

Unlocking In-depth Analysis with Simulated Customers and Market Research Using Generative AI & Large Language Models

User research is a critical component of validating any hypothesis against a group of actual users for gathering valuable market research into consumer behavior and preferences. Traditional user research methodologies, while invaluable, come with inherent limitations, including scalability, resource intensity, and the challenge of accessing diverse user groups. This article outlines how we can overcome these limitations by introducing a novel method of synthetic user research.

The power of synthetic user research, facilitated by autonomous agents, emerges as a game-changer. By leveraging generative AI to create and interact with digital customer personas in simulated research scenarios, we can unlock unprecedented insights into consumer behaviors and preferences. Fusing the power of generative AI prompting techniques with autonomous agents.


Persona Prompting – Emulating People

Before we dive into autonomous agents, let’s understand the concept of persona or personality prompting which is designed to capture elements of frustrations, behaviors, goals, personality traits, demographics and more.

Research: Adaptation of how personas are generated - Source: Stefano De Paoli (arXiv Oct 2023)
Research: Adaptation of how personas are generated – Source: Stefano De Paoli (arXiv Oct 2023)

We are using prompts to ask the language model to assume a role with as much deep context as possible. I use the following prompt which can be tailored to your needs but also includes various other demographic and behavioral assessment/traits.

Example Persona Generator System Prompt

You are an expert ML researcher and prompt engineer. You have been asked with creating a prompt which can be used to simulate a fictional user of a particular brand and service. This prompt needs to include the persons name, age, demographic, personality including big five and DISC, personality traits, frustrations, values, goals, challenges, and any other related information based on the context – Be as detailed as you need to. You will generate the prompt as a one liner starting with "You are ". This prompt is for customer of a major supermarket in Sydney, Australia. Please only return the prompt to use.

Example Output from Language Model

You are Mia, a 34-year-old marketing manager living in Sydney, Australia. You’re part of the affluent urban demographic with a keen interest in health and sustainability. Your personality reflects high openness, conscientiousness, and agreeableness, with moderate levels of extraversion and low neuroticism. In the DISC assessment, you score high on influence and steadiness. You’re sociable, detail-oriented, and value harmony. Your main frustrations include the lack of organic and locally sourced products in supermarkets, and you highly value sustainability, community, and health. Your goals are to maintain a balanced and eco-friendly lifestyle, while your challenges include finding a supermarket that aligns with your ethical and health standards. You seek convenience without compromising on your values.

As you can see with the prompting example above, we are quickly able to generate deeply defined synthetic users with rich personalities for a given scenario.

Fusing Autonomous Agents with Digital Personas

At the heart of synthetic user research is the fusion of autonomous agents and the synthetic personas— simulated entities that mimic human interactions and behaviors. Imagine autonomous agents as individuals in a sophisticated play, each assuming a persona crafted meticulously by generative AI. These personas interact in simulated environments, offering a simulated view of insights into consumer behaviors and preferences in diverse scenarios. Using autonomous agents we are able to almost bring these persona’s to life in a simulation.

This approach combining both technological (autonomous agent frameworks) and linguistic (personality and persona prompting) to get the desired outcome is one of many advanced approaches to leveraging the power of generative AI autonomous agents in unique ways.

Critical Role of Agent Frameworks

To bring this vision to life, the architecture of autonomous agents plays a pivotal role. Frameworks such as Autogen, BabyAGI, and CrewAI simplify the creation and management of AI agents, abstracting the complexities of their architecture. These frameworks enable the simulation of complex human behaviors and interactions, providing a foundation for generating digital personas that act, think, and respond like real customers

Under the covers these autonomous agent architecture are really smart routers (like a traffic controller) with prompts, caches (memory) and checkpoints (validation) on-top of existing large language models allowing for a high level abstraction for multi-agent conversations with language models.

Various types of agent interactions - Source Autogen Microsoft
Various types of agent interactions – Source Autogen Microsoft

We will be using Autogen (released by Microsoft) as our framework, utilizing the example depicted as the Flexible Conversation Pattern whereby agents can interact with each other. Agents can also be given "tools" to carry out "tasks" but this example we will be keeping things purely to conversations.

Creating Complex Interactions

The ability to simulate complex group dynamics and individual roles within these digital environments is crucial. It allows for the generation of rich, multifaceted data that more accurately reflects the diverse nature of real-world consumer groups. This capability is fundamental to understanding the varied ways in which different customer segments might interact with products and services. For example, integrating a persona prompt of a skeptical customer with an agent can yield deep insights into the challenges and objections various products might face. Or we can do more complex scenarios such as breaking these synthetic persona’s into groups to work through a problem and present back.


The How – Implementing Synthetic User Research

The process begins with scaffolding the autonomous agents using Autogen, a tool that simplifies the creation and orchestration of these digital personas. We can install the autogen pypi package using py

pip install pyautogen

Format the output (optional)— This is to ensure word wrap for readability depending on your IDE such as when using Google Collab to run your notebook for this exercise.

from IPython.display import HTML, display

def set_css():
  display(HTML('''
  <style>
    pre {
        white-space: pre-wrap;
    }
  </style>
  '''))
get_ipython().events.register('pre_run_cell', set_css)

Now we go ahead and get our environment setup by importing the packages and setting up the Autogen configuration – along with our LLM (Large Language Model) and API keys. You can use other local LLM’s using services which are backwards compatible with OpenAI REST service – LocalAI is a service that can act as a gateway to your locally running open-source LLMs.

I have tested this both on GPT3.5 gpt-3.5-turbo and GPT4 gpt-4-turbo-preview from OpenAI. You will need to consider deeper responses from GPT4 however longer query time.

import json
import os
import autogen
from autogen import GroupChat, Agent
from typing import Optional

# Setup LLM model and API keys
os.environ["OAI_CONFIG_LIST"] = json.dumps([
    {
        'model': 'gpt-3.5-turbo',
        'api_key': '<<Put your Open-AI Key here>>',
    }
])

# Setting configurations for autogen
config_list = autogen.config_list_from_json(
    "OAI_CONFIG_LIST",
    filter_dict={
        "model": {
            "gpt-3.5-turbo"
        }
    }
)

We then need to configure our LLM instance – which we will tie to each of the agents. This allows us if required to generate unique LLM configurations per agent, i.e. if we wanted to use different models for different agents.

# Define the LLM configuration settings
llm_config = {
    # Seed for consistent output, used for testing. Remove in production.
    # "seed": 42,
    "cache_seed": None,
    # Setting cache_seed = None ensure's caching is disabled
    "temperature": 0.5,
    "config_list": config_list,
}

Defining our researcher – This is the persona that will facilitate the session in this simulated user research scenario. The system prompt used for that persona includes a few key things:

  • Purpose: Your role is to ask questions about products and gather insights from individual customers like Emily.
  • Grounding the simulation: Before you start the task breakdown the list of panelists and the order you want them to speak, avoid the panelists speaking with each other and creating confirmation bias.
  • Ending the simulation: _Once the conversation is ended and the research is completed please end your message with TERMINATE to end the research session, this is generated from the generate_notice function which is used to align system prompts for various agents. You will also notice the researcher agent has the is_termination_msg set to honor the termination._

We also add the llm_config which is used to tie this back to the language model configuration with the model version, keys and hyper-parameters to use. We will use the same config with all our agents.

# Avoid agents thanking each other and ending up in a loop
# Helper agent for the system prompts
def generate_notice(role="researcher"):
    # Base notice for everyone, add your own additional prompts here
    base_notice = (
        'nn'
    )

    # Notice for non-personas (manager or researcher)
    non_persona_notice = (
        'Do not show appreciation in your responses, say only what is necessary. '
        'if "Thank you" or "You're welcome" are said in the conversation, then say TERMINATE '
        'to indicate the conversation is finished and this is your last message.'
    )

    # Custom notice for personas
    persona_notice = (
        ' Act as {role} when responding to queries, providing feedback, asked for your personal opinion '
        'or participating in discussions.'
    )

    # Check if the role is "researcher"
    if role.lower() in ["manager", "researcher"]:
        # Return the full termination notice for non-personas
        return base_notice + non_persona_notice
    else:
        # Return the modified notice for personas
        return base_notice + persona_notice.format(role=role)
# Researcher agent definition
name = "Researcher"
researcher = autogen.AssistantAgent(
    name=name,
    llm_config=llm_config,
    system_message="""Researcher. You are a top product reasearcher with a Phd in behavioural psychology and have worked in the research and insights industry for the last 20 years with top creative, media and business consultancies. Your role is to ask questions about products and gather insights from individual customers like Emily. Frame questions to uncover customer preferences, challenges, and feedback. Before you start the task breakdown the list of panelists and the order you want them to speak, avoid the panelists speaking with each other and creating comfirmation bias. If the session is terminating at the end, please provide a summary of the outcomes of the reasearch study in clear concise notes not at the start.""" + generate_notice(),
    is_termination_msg=lambda x: True if "TERMINATE" in x.get("content") else False,
)

Define our individuals – to put into the research, borrowing from the previous process we can use the persona’s generated. I have manually adjusted the prompts for this article to remove references to the major supermarket brand that was used for this simulation.

I have also included a "Act as Emily when responding to queries, providing feedback, or participating in discussions." style prompt at the end of each system prompt to ensure the synthetic persona’s stay on task which is being generated from the generate_notice function.

# Emily - Customer Persona
name = "Emily"
emily = autogen.AssistantAgent(
    name=name,
    llm_config=llm_config,
    system_message="""Emily. You are a 35-year-old elementary school teacher living in Sydney, Australia. You are married with two kids aged 8 and 5, and you have an annual income of AUD 75,000. You are introverted, high in conscientiousness, low in neuroticism, and enjoy routine. When shopping at the supermarket, you prefer organic and locally sourced produce. You value convenience and use an online shopping platform. Due to your limited time from work and family commitments, you seek quick and nutritious meal planning solutions. Your goals are to buy high-quality produce within your budget and to find new recipe inspiration. You are a frequent shopper and use loyalty programs. Your preferred methods of communication are email and mobile app notifications. You have been shopping at a supermarket for over 10 years but also price-compare with others.""" + generate_notice(name),
)

# John - Customer Persona
name="John"
john = autogen.AssistantAgent(
    name=name,
    llm_config=llm_config,
    system_message="""John. You are a 28-year-old software developer based in Sydney, Australia. You are single and have an annual income of AUD 100,000. You're extroverted, tech-savvy, and have a high level of openness. When shopping at the supermarket, you primarily buy snacks and ready-made meals, and you use the mobile app for quick pickups. Your main goals are quick and convenient shopping experiences. You occasionally shop at the supermarket and are not part of any loyalty program. You also shop at Aldi for discounts. Your preferred method of communication is in-app notifications.""" + generate_notice(name),
)

# Sarah - Customer Persona
name="Sarah"
sarah = autogen.AssistantAgent(
    name=name,
    llm_config=llm_config,
    system_message="""Sarah. You are a 45-year-old freelance journalist living in Sydney, Australia. You are divorced with no kids and earn AUD 60,000 per year. You are introverted, high in neuroticism, and very health-conscious. When shopping at the supermarket, you look for organic produce, non-GMO, and gluten-free items. You have a limited budget and specific dietary restrictions. You are a frequent shopper and use loyalty programs. Your preferred method of communication is email newsletters. You exclusively shop for groceries.""" + generate_notice(name),
)

# Tim - Customer Persona
name="Tim"
tim = autogen.AssistantAgent(
    name=name,
    llm_config=llm_config,
    system_message="""Tim. You are a 62-year-old retired police officer residing in Sydney, Australia. You are married and a grandparent of three. Your annual income comes from a pension and is AUD 40,000. You are highly conscientious, low in openness, and prefer routine. You buy staples like bread, milk, and canned goods in bulk. Due to mobility issues, you need assistance with heavy items. You are a frequent shopper and are part of the senior citizen discount program. Your preferred method of communication is direct mail flyers. You have been shopping here for over 20 years.""" + generate_notice(name),
)

# Lisa - Customer Persona
name="Lisa"
lisa = autogen.AssistantAgent(
    name=name,
    llm_config=llm_config,
    system_message="""Lisa. You are a 21-year-old university student living in Sydney, Australia. You are single and work part-time, earning AUD 20,000 per year. You are highly extroverted, low in conscientiousness, and value social interactions. You shop here for popular brands, snacks, and alcoholic beverages, mostly for social events. You have a limited budget and are always looking for sales and discounts. You are not a frequent shopper but are interested in joining a loyalty program. Your preferred method of communication is social media and SMS. You shop wherever there are sales or promotions.""" + generate_notice(name),
)

Define the simulated environment and rules for who can speak – We are allowing all the agents we have defined to sit within the same simulated environment (group chat). We can create more complex scenarios where we can set how and when next speakers are selected and defined so we have a simple function defined for speaker selection tied to the group chat which will make the researcher the lead and ensure we go round the room to ask everyone a few times for their thoughts.

# def custom_speaker_selection(last_speaker, group_chat):
#     """
#     Custom function to select which agent speaks next in the group chat.
#     """
#     # List of agents excluding the last speaker
#     next_candidates = [agent for agent in group_chat.agents if agent.name != last_speaker.name]

#     # Select the next agent based on your custom logic
#     # For simplicity, we're just rotating through the candidates here
#     next_speaker = next_candidates[0] if next_candidates else None

#     return next_speaker

def custom_speaker_selection(last_speaker: Optional[Agent], group_chat: GroupChat) -> Optional[Agent]:
    """
    Custom function to ensure the Researcher interacts with each participant 2-3 times.
    Alternates between the Researcher and participants, tracking interactions.
    """
    # Define participants and initialize or update their interaction counters
    if not hasattr(group_chat, 'interaction_counters'):
        group_chat.interaction_counters = {agent.name: 0 for agent in group_chat.agents if agent.name != "Researcher"}

    # Define a maximum number of interactions per participant
    max_interactions = 6

    # If the last speaker was the Researcher, find the next participant who has spoken the least
    if last_speaker and last_speaker.name == "Researcher":
        next_participant = min(group_chat.interaction_counters, key=group_chat.interaction_counters.get)
        if group_chat.interaction_counters[next_participant] < max_interactions:
            group_chat.interaction_counters[next_participant] += 1
            return next((agent for agent in group_chat.agents if agent.name == next_participant), None)
        else:
            return None  # End the conversation if all participants have reached the maximum interactions
    else:
        # If the last speaker was a participant, return the Researcher for the next turn
        return next((agent for agent in group_chat.agents if agent.name == "Researcher"), None)
# Adding the Researcher and Customer Persona agents to the group chat
groupchat = autogen.GroupChat(
    agents=[researcher, emily, john, sarah, tim, lisa],
    speaker_selection_method = custom_speaker_selection,
    messages=[],
    max_round=30
)

Define the manager to pass instructions into and manage our simulation – When we start things off we will speak only to the manager who will speak to the researcher and panelists. This uses something called GroupChatManager in Autogen.

# Initialise the manager
manager = autogen.GroupChatManager(
    groupchat=groupchat,
    llm_config=llm_config,
    system_message="You are a reasearch manager agent that can manage a group chat of multiple agents made up of a reasearcher agent and many people made up of a panel. You will limit the discussion between the panelists and help the researcher in asking the questions. Please ask the researcher first on how they want to conduct the panel." + generate_notice(),
    is_termination_msg=lambda x: True if "TERMINATE" in x.get("content") else False,
)

We set the human interaction – allowing us to pass instructions to the various agents we have started. We give it the initial prompt and we can start things off.

# create a UserProxyAgent instance named "user_proxy"
user_proxy = autogen.UserProxyAgent(
    name="user_proxy",
    code_execution_config={"last_n_messages": 2, "work_dir": "groupchat"},
    system_message="A human admin.",
    human_input_mode="TERMINATE"
)
# start the reasearch simulation by giving instruction to the manager
# manager <-> reasearcher <-> panelists
user_proxy.initiate_chat(
    manager,
    message="""
Gather customer insights on a supermarket grocery delivery services. Identify pain points, preferences, and suggestions for improvement from different customer personas. Could you all please give your own personal oponions before sharing more with the group and discussing. As a reasearcher your job is to ensure that you gather unbiased information from the participants and provide a summary of the outcomes of this study back to the super market brand.
""",
)

Once we run the above we get the output available live within your python environment, you will see the messages being passed around between the various agents.

Live python output - Our researcher talking to panelists
Live python output – Our researcher talking to panelists

Creating Actionable Outcomes – Summary Agent

Now that our simulated research study has been concluded we would love to get some more actionable insights. We can create a summary agent to support us with this task and also use this in a Q&A scenario. Here just be careful of very large transcripts would need a language model that supports a larger input (context window).

We need grab all the conversations – in our simulated panel discussion from earlier to use as the user prompt (input) to our summary agent.

# Get response from the groupchat for user prompt
messages = [msg["content"] for msg in groupchat.messages]
user_prompt = "Here is the transcript of the study ```{customer_insights}```".format(customer_insights="n>>>n".join(messages))

Lets craft the system prompt (instructions) for our summary agent – This agent will focus on creating us a tailored report card from the previous transcripts and give us clear suggestions and actions.

# Generate system prompt for the summary agent
summary_prompt = """
You are an expert reasearcher in behaviour science and are tasked with summarising a reasearch panel. Please provide a structured summary of the key findings, including pain points, preferences, and suggestions for improvement.
This should be in the format based on the following format:

Reasearch Study: <></p> <p class="wp-block-paragraph">Subjects: <<Overview of the subjects and number, any other key information>></p> <p class="wp-block-paragraph">Summary: <<Summary of the study, include detailed analysis as an export>></p> <p class="wp-block-paragraph">Pain Points:</p> <ul class="wp-block-list"> <li><<List of Pain Points – Be as clear and prescriptive as required. I expect detailed response that can be used by the brand directly to make changes. Give a short paragraph per pain point.>></li> </ul> <p class="wp-block-paragraph">Suggestions/Actions:</p> <ul class="wp-block-list"> <li><<List of Adctions – Be as clear and prescriptive as required. I expect detailed response that can be used by the brand directly to make changes. Give a short paragraph per reccomendation.>> <pre class="wp-block-prismatic-blocks"><code class="language-">"""</code></pre></li> </ul> <p class="wp-block-paragraph"><strong>Define the summary agent and its environment</strong> – Lets create a mini environment for the summary agent to run. This will need it’s own proxy (<em>environment</em>) and the initiate command which will pull the transcripts (_user<em>prompt</em>) as the input.</p> <pre class="wp-block-prismatic-blocks"><code class="language-python">summary_agent = autogen.AssistantAgent( name="SummaryAgent", llm_config=llm_config, system_message=summary_prompt + generate_notice(), ) summary_proxy = autogen.UserProxyAgent( name="summary_proxy", code_execution_config={"last_n_messages": 2, "work_dir": "groupchat"}, system_message="A human admin.", human_input_mode="TERMINATE" ) summary_proxy.initiate_chat( summary_agent, message=user_prompt, )</code></pre> <p class="wp-block-paragraph">This gives us an output in the form of a report card in Markdown, along with the ability to ask further questions in a Q&A style chat-bot on-top of the findings.</p> <figure class="wp-block-image size-large"><img data-dominant-color="f0f0f0" data-has-transparency="true" style="--dominant-color: #f0f0f0;" loading="lazy" decoding="async" width="2972" height="1936" class="wp-image-506396 has-transparency" src="https://towardsdatascience.com/wp-content/uploads/2024/03/18pdQPGomkUpgtdry-thK2w.png" alt="Live output of a report card from Summary Agent followed by open Q&A" srcset="https://towardsdatascience.com/wp-content/uploads/2024/03/18pdQPGomkUpgtdry-thK2w.png 2972w, https://towardsdatascience.com/wp-content/uploads/2024/03/18pdQPGomkUpgtdry-thK2w-300x195.png 300w, https://towardsdatascience.com/wp-content/uploads/2024/03/18pdQPGomkUpgtdry-thK2w-1024x667.png 1024w, https://towardsdatascience.com/wp-content/uploads/2024/03/18pdQPGomkUpgtdry-thK2w-768x500.png 768w, https://towardsdatascience.com/wp-content/uploads/2024/03/18pdQPGomkUpgtdry-thK2w-1536x1001.png 1536w, https://towardsdatascience.com/wp-content/uploads/2024/03/18pdQPGomkUpgtdry-thK2w-2048x1334.png 2048w" sizes="auto, (max-width: 2972px) 100vw, 2972px" /><figcaption class="wp-element-caption">Live output of a report card from Summary Agent followed by open Q&A</figcaption></figure> <hr class="wp-block-separator has-alpha-channel-opacity" /> <h2 class="wp-block-heading">What’s Next – What Else Could We Do</h2> <p class="wp-block-paragraph">This exercise was part of a larger autonomous agent architecture and part of my series of <a href="https://towardsdatascience.com/generative-ai-design-patterns-a-comprehensive-guide-41425a40d7d0">experiments into novel generative AI and agent architectures</a>. However here are some thought starters if you wanted to continue to extend on this work and some areas I have explored:</p> <ul class="wp-block-list"> <li><strong>Further Grounding</strong> – Through linkages with census data, internal CRM data or even live customer transcripts to create more representative sample of persona’s.</li> <li><strong>Combined with Multi-Modalities</strong> – We can now mix modalities with vision input on generative AI, this allows to now provide marketing materials and website screenshots to name a few as inputs to start the simulations with visual stimuli.</li> <li><strong>Giving the Agent Access to Tools</strong> – Providing access to other API’s and tools, you can create some unique experiences such as integrating individual customer persona agents into your corporate Slack, Teams, Miro to tag and respond to questions. Perhaps the Summary Agent at the end could load up some user-stories into your ticketing system such as JIRA?</li> </ul> <p class="wp-block-paragraph">Join me in shaping the future of user research. Explore the <a href="https://github.com/koconder/synthetic-user-research">project on GitHub</a>, contribute your insights, and let’s innovate together</p> <h2 class="wp-block-heading">The Future of User Research</h2> <p class="wp-block-paragraph">Synthetic user research stands at the frontier of innovation in the field, offering a blend of technological sophistication and practical efficiency. It represents a significant departure from conventional methods, providing a controlled, yet highly realistic, environment for capturing consumer insights. This approach does not seek to replace traditional research but to augment and accelerate the discovery of deep customer insights.</p> <p class="wp-block-paragraph">By introducing the concepts of autonomous agents, digital personas, and agent frameworks progressively, this revised approach to synthetic user research promises to make the field more accessible. It invites researchers and practitioners alike to explore the potential of these innovative tools in shaping the future of user research.</p> <hr class="wp-block-separator has-alpha-channel-opacity" /> <h2 class="wp-block-heading">Enjoyed This Story?</h2> <p class="wp-block-paragraph"><a href="https://vincentkoc.com/">Vincent Koc</a> is a highly accomplished, commercially-focused technologist and futurist with a wealth of experience focused in various forms of <a href="https://towardsdatascience.com/tag/artificial-intelligence/" title="Artificial Intelligence">Artificial Intelligence</a>.</p> <p class="wp-block-paragraph"><a href="https://medium.com/subscribe/@vkoc">Subscribe for free</a> to get notified when Vincent publishes a new story. Or follow him on <a href="https://www.linkedin.com/in/koconder/">LinkedIn</a> and <a href="https://twitter.com/koconder">X</a>.</p> <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><a href="https://medium.com/subscribe/@vkoc"><strong>Get an email whenever Vincent Koc publishes.</strong></a></p></blockquote> <p class="wp-block-paragraph"><em>Unless otherwise noted, all images are by the author with the support of generative AI for illustration design</em></p></div> </div> <hr class="wp-block-separator has-alpha-channel-opacity is-style-dotted" style="margin-top:var(--wp--preset--spacing--64);margin-bottom:var(--wp--preset--spacing--64)" /> <div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-17 wp-block-group-is-layout-constrained"> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-14 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-13 wp-block-group-is-layout-flex"> <p class="has-eyebrow-1-font-size wp-block-paragraph" style="text-transform:uppercase">Written By</p> <div style="font-style:normal;font-weight:700;text-transform:capitalize;" class="wp-block-post-author-name has-heading-5-font-size">Vincent Koc</div> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <DIV class="wp-block-button"><a href="https://towardsdatascience.com/author/vincentkoc/" class="wp-block-button__link wp-element-button">See all from Vincent Koc</a></DIV> </div> </div> </div> <div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex"> <p class="has-body-2-font-size wp-block-paragraph" style="font-style:normal;font-weight:700">Topics:</p> <div class="taxonomy-post_tag wp-block-post-terms"><a href="https://towardsdatascience.com/tag/artificial-intelligence/" rel="tag">Artificial Intelligence</a><span class="wp-block-post-terms__separator">, </span><a href="https://towardsdatascience.com/tag/data-science/" rel="tag">Data Science</a><span class="wp-block-post-terms__separator">, </span><a href="https://towardsdatascience.com/tag/editors-pick/" rel="tag">Editors Pick</a><span class="wp-block-post-terms__separator">, </span><a href="https://towardsdatascience.com/tag/large-language-models/" rel="tag">Large Language Models</a><span class="wp-block-post-terms__separator">, </span><a href="https://towardsdatascience.com/tag/psychology/" rel="tag">Psychology</a></div> </div> <div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex"> <p class="has-body-2-font-size wp-block-paragraph" style="font-style:normal;font-weight:700">Share this article:</p> <ul class="wp-block-outermost-social-sharing has-icon-color is-style-logos-only is-layout-flex wp-block-social-sharing-is-layout-flex"> <li style="color: var(--wp--custom--color--wild-blue-yonder); border-radius:100px;border-width:1px; padding-top:var(--wp--preset--spacing--8);padding-bottom:var(--wp--preset--spacing--8);padding-left:var(--wp--preset--spacing--8);padding-right:var(--wp--preset--spacing--8);" class="outermost-social-sharing-link outermost-social-sharing-link-facebook has-wild-blue-yonder-color wp-block-outermost-social-sharing-link"> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Ftowardsdatascience.com%2Fcreating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6%2F&title=Creating%20Synthetic%20User%20Research%3A%20Using%20Persona%20Prompting%20and%20Autonomous%20Agents" aria-label="Share on Facebook" rel="noopener nofollow" target="_blank" class="wp-block-outermost-social-sharing-link-anchor"> <svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg> <span class="wp-block-outermost-social-sharing-link-label screen-reader-text"> Share on Facebook </span> </a> </li> <li style="color: var(--wp--custom--color--wild-blue-yonder); border-radius:100px;border-width:1px; padding-top:var(--wp--preset--spacing--8);padding-bottom:var(--wp--preset--spacing--8);padding-left:var(--wp--preset--spacing--8);padding-right:var(--wp--preset--spacing--8);" class="outermost-social-sharing-link outermost-social-sharing-link-linkedin has-wild-blue-yonder-color wp-block-outermost-social-sharing-link"> <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Ftowardsdatascience.com%2Fcreating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6%2F&title=Creating%20Synthetic%20User%20Research%3A%20Using%20Persona%20Prompting%20and%20Autonomous%20Agents" aria-label="Share on LinkedIn" rel="noopener nofollow" target="_blank" class="wp-block-outermost-social-sharing-link-anchor"> <svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg> <span class="wp-block-outermost-social-sharing-link-label screen-reader-text"> Share on LinkedIn </span> </a> </li> <li style="color: var(--wp--custom--color--wild-blue-yonder); border-radius:100px;border-width:1px; padding-top:var(--wp--preset--spacing--8);padding-bottom:var(--wp--preset--spacing--8);padding-left:var(--wp--preset--spacing--8);padding-right:var(--wp--preset--spacing--8);" class="outermost-social-sharing-link outermost-social-sharing-link-x has-wild-blue-yonder-color wp-block-outermost-social-sharing-link"> <a href="https://x.com/share?url=https%3A%2F%2Ftowardsdatascience.com%2Fcreating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6%2F&text=Creating%20Synthetic%20User%20Research%3A%20Using%20Persona%20Prompting%20and%20Autonomous%20Agents" aria-label="Share on X" rel="noopener nofollow" target="_blank" class="wp-block-outermost-social-sharing-link-anchor"> <svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z"></path></svg> <span class="wp-block-outermost-social-sharing-link-label screen-reader-text"> Share on X </span> </a> </li> </ul> </div> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained"> </div> </main> <div class="wp-block-group has-surface-secondary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--80);padding-bottom:var(--wp--preset--spacing--80)"> <div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"> <h2 class="wp-block-heading has-heading-3-font-size">Related Articles</h2> <div class="wp-block-query alignwide is-layout-flow wp-block-query-is-layout-flow"> <ul class="wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-1 wp-block-post-template-is-layout-grid is-entire-card-clickable"><li class="wp-block-post post-3482 post type-post status-publish format-standard has-post-thumbnail hentry category-artificial-intelligence category-data-science category-deep-learning category-machine-learning tag-artificial-intelligence tag-data-science tag-deep-learning tag-machine-learning tag-neural-networks"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-25 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <figure style="aspect-ratio:16/9;width:100%;" class="wp-block-post-featured-image"><img width="1400" height="644" src="https://towardsdatascience.com/wp-content/uploads/2024/08/0c09RmbCCpfjAbSMq.png" class="attachment-post-thumbnail size-post-thumbnail has-transparency wp-post-image" alt="" style="--dominant-color: #f5eddd;width:100%;height:100%;object-fit:cover;" decoding="async" loading="lazy" srcset="https://towardsdatascience.com/wp-content/uploads/2024/08/0c09RmbCCpfjAbSMq.png 1400w, https://towardsdatascience.com/wp-content/uploads/2024/08/0c09RmbCCpfjAbSMq-300x138.png 300w, https://towardsdatascience.com/wp-content/uploads/2024/08/0c09RmbCCpfjAbSMq-1024x471.png 1024w, https://towardsdatascience.com/wp-content/uploads/2024/08/0c09RmbCCpfjAbSMq-768x353.png 768w" sizes="auto, (max-width: 1400px) 100vw, 1400px" data-has-transparency="true" data-dominant-color="f5eddd" /></figure> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-24 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-20 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/implementing-convolutional-neural-networks-in-tensorflow-bc1c4f00bd34/" target="_self" >Implementing Convolutional Neural Networks in TensorFlow</a></h2> <a href="https://towardsdatascience.com/category/artificial-intelligence/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Artificial Intelligence </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">Step-by-step code guide to building a Convolutional Neural Network </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-23 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-22 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/shreya-rao/" target="_self" class="wp-block-post-author-name__link">Shreya Rao</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-21 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2024-08-20T17:12:30-05:00">August 20, 2024</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 6 min read</div> </div> </div> </div> </div> </div> </li><li class="wp-block-post post-3485 post type-post status-publish format-standard has-post-thumbnail hentry category-artificial-intelligence category-large-language-models category-philosophy category-psychology tag-artificial-intelligence tag-editors-pick tag-large-language-models tag-philosophy tag-psychology"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-31 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-30 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-26 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/what-do-large-language-models-understand-befdb4411b77/" target="_self" >What Do Large Language Models “Understand”?</a></h2> <a href="https://towardsdatascience.com/category/artificial-intelligence/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Artificial Intelligence </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">A deep dive on the meaning of understanding and how it applies to LLMs </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-29 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-28 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/tarikdzekman/" target="_self" class="wp-block-post-author-name__link">Tarik Dzekman</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-27 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2024-08-21T00:15:58-05:00">August 21, 2024</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 31 min read</div> </div> </div> </div> </div> </div> </li><li class="wp-block-post post-3491 post type-post status-publish format-standard has-post-thumbnail hentry category-artificial-intelligence category-machine-learning category-statistics tag-artificial-intelligence tag-hands-on-tutorials tag-machine-learning tag-statistics tag-time-series-forecasting"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-37 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <figure style="aspect-ratio:16/9;width:100%;" class="wp-block-post-featured-image"><img width="2560" height="1506" src="https://towardsdatascience.com/wp-content/uploads/2024/08/0GyVVTbgotH-DhGPH-scaled.jpg" class="attachment-post-thumbnail size-post-thumbnail not-transparent wp-post-image" alt="Photo by Krista Mangulsone on Unsplash" style="--dominant-color: #7d7668;width:100%;height:100%;object-fit:cover;" decoding="async" loading="lazy" srcset="https://towardsdatascience.com/wp-content/uploads/2024/08/0GyVVTbgotH-DhGPH-scaled.jpg 2560w, https://towardsdatascience.com/wp-content/uploads/2024/08/0GyVVTbgotH-DhGPH-300x177.jpg 300w, https://towardsdatascience.com/wp-content/uploads/2024/08/0GyVVTbgotH-DhGPH-1024x603.jpg 1024w, https://towardsdatascience.com/wp-content/uploads/2024/08/0GyVVTbgotH-DhGPH-768x452.jpg 768w, https://towardsdatascience.com/wp-content/uploads/2024/08/0GyVVTbgotH-DhGPH-1536x904.jpg 1536w, https://towardsdatascience.com/wp-content/uploads/2024/08/0GyVVTbgotH-DhGPH-2048x1205.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" data-has-transparency="false" data-dominant-color="7d7668" /></figure> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-36 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-32 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/how-to-forecast-hierarchical-time-series-75f223f79793/" target="_self" >How to Forecast Hierarchical Time Series</a></h2> <a href="https://towardsdatascience.com/category/artificial-intelligence/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Artificial Intelligence </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">A beginner’s guide to forecast reconciliation </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-35 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-34 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/dr-robert-kuebler/" target="_self" class="wp-block-post-author-name__link">Dr. Robert Kübler</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-33 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2024-08-20T12:32:17-05:00">August 20, 2024</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 13 min read</div> </div> </div> </div> </div> </div> </li><li class="wp-block-post post-3494 post type-post status-publish format-standard has-post-thumbnail hentry category-data-science category-machine-learning tag-anomaly-detection tag-data-science tag-hands-on-tutorials tag-machine-learning tag-time-series-analysis"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-43 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <figure style="aspect-ratio:16/9;width:100%;" class="wp-block-post-featured-image"><img width="2560" height="1707" src="https://towardsdatascience.com/wp-content/uploads/2024/08/1bAABgtZtAIG5YW1oEjW3pA-scaled.jpeg" class="attachment-post-thumbnail size-post-thumbnail not-transparent wp-post-image" alt="Photo by davisuko on Unsplash" style="--dominant-color: #097cb9;width:100%;height:100%;object-fit:cover;" decoding="async" loading="lazy" srcset="https://towardsdatascience.com/wp-content/uploads/2024/08/1bAABgtZtAIG5YW1oEjW3pA-scaled.jpeg 2560w, https://towardsdatascience.com/wp-content/uploads/2024/08/1bAABgtZtAIG5YW1oEjW3pA-300x200.jpeg 300w, https://towardsdatascience.com/wp-content/uploads/2024/08/1bAABgtZtAIG5YW1oEjW3pA-1024x683.jpeg 1024w, https://towardsdatascience.com/wp-content/uploads/2024/08/1bAABgtZtAIG5YW1oEjW3pA-768x512.jpeg 768w, https://towardsdatascience.com/wp-content/uploads/2024/08/1bAABgtZtAIG5YW1oEjW3pA-1536x1024.jpeg 1536w, https://towardsdatascience.com/wp-content/uploads/2024/08/1bAABgtZtAIG5YW1oEjW3pA-2048x1365.jpeg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" data-has-transparency="false" data-dominant-color="097cb9" /></figure> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-42 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-38 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/hands-on-time-series-anomaly-detection-using-autoencoders-with-python-7cd893bbc122/" target="_self" >Hands-on Time Series Anomaly Detection using Autoencoders, with Python</a></h2> <a href="https://towardsdatascience.com/category/data-science/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Data Science </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">Here’s how to use Autoencoders to detect signals with anomalies in a few lines of… </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-41 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-40 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/piero-paialunga/" target="_self" class="wp-block-post-author-name__link">Piero Paialunga</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-39 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2024-08-21T00:03:49-05:00">August 21, 2024</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 12 min read</div> </div> </div> </div> </div> </div> </li><li class="wp-block-post post-3503 post type-post status-publish format-standard has-post-thumbnail hentry category-data-science tag-data-science tag-deep-dives tag-operations-research tag-project-management tag-quantum-computing"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-49 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-48 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-44 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/solving-a-constrained-project-scheduling-problem-with-quantum-annealing-d0640e657a3b/" target="_self" >Solving a Constrained Project Scheduling Problem with Quantum Annealing</a></h2> <a href="https://towardsdatascience.com/category/data-science/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Data Science </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">Solving the resource constrained project scheduling problem (RCPSP) with D-Wave’s hybrid constrained quadratic model (CQM) </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-47 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-46 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/luisfernandopa1212/" target="_self" class="wp-block-post-author-name__link">Luis Fernando PÉREZ ARMAS, Ph.D.</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-45 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2024-08-20T17:18:15-05:00">August 20, 2024</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 29 min read</div> </div> </div> </div> </div> </div> </li><li class="wp-block-post post-3509 post type-post status-publish format-standard has-post-thumbnail hentry category-data-science category-machine-learning tag-computer-science tag-data-science tag-getting-started tag-linear-regression tag-machine-learning"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-55 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <figure style="aspect-ratio:16/9;width:100%;" class="wp-block-post-featured-image"><img width="1588" height="448" src="https://towardsdatascience.com/wp-content/uploads/2023/02/1VEUgT5T4absnTqBMOEuNig.png" class="attachment-post-thumbnail size-post-thumbnail has-transparency wp-post-image" alt="" style="--dominant-color: #dcdad8;width:100%;height:100%;object-fit:cover;" decoding="async" loading="lazy" srcset="https://towardsdatascience.com/wp-content/uploads/2023/02/1VEUgT5T4absnTqBMOEuNig.png 1588w, https://towardsdatascience.com/wp-content/uploads/2023/02/1VEUgT5T4absnTqBMOEuNig-300x85.png 300w, https://towardsdatascience.com/wp-content/uploads/2023/02/1VEUgT5T4absnTqBMOEuNig-1024x289.png 1024w, https://towardsdatascience.com/wp-content/uploads/2023/02/1VEUgT5T4absnTqBMOEuNig-768x217.png 768w, https://towardsdatascience.com/wp-content/uploads/2023/02/1VEUgT5T4absnTqBMOEuNig-1536x433.png 1536w" sizes="auto, (max-width: 1588px) 100vw, 1588px" data-has-transparency="true" data-dominant-color="dcdad8" /></figure> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-54 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-50 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/back-to-basics-part-uno-linear-regression-cost-function-and-gradient-descent-590dcb3eee46/" target="_self" >Back To Basics, Part Uno: Linear Regression and Cost Function</a></h2> <a href="https://towardsdatascience.com/category/data-science/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Data Science </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">An illustrated guide on essential machine learning concepts </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-53 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-52 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/shreya-rao/" target="_self" class="wp-block-post-author-name__link">Shreya Rao</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-51 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2023-02-03T06:34:43-05:00">February 3, 2023</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 6 min read</div> </div> </div> </div> </div> </div> </li><li class="wp-block-post post-3524 post type-post status-publish format-standard has-post-thumbnail hentry category-data-science category-machine-learning category-mathematics category-statistics tag-data-science tag-machine-learning tag-mathematics tag-python tag-statistics"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-61 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <figure style="aspect-ratio:16/9;width:100%;" class="wp-block-post-featured-image"><img width="691" height="732" src="https://towardsdatascience.com/wp-content/uploads/2024/08/1kM8tfYcdaoccB1HX71YDig.png" class="attachment-post-thumbnail size-post-thumbnail has-transparency wp-post-image" alt="" style="--dominant-color: #d2d8d7;width:100%;height:100%;object-fit:cover;" decoding="async" loading="lazy" srcset="https://towardsdatascience.com/wp-content/uploads/2024/08/1kM8tfYcdaoccB1HX71YDig.png 691w, https://towardsdatascience.com/wp-content/uploads/2024/08/1kM8tfYcdaoccB1HX71YDig-283x300.png 283w" sizes="auto, (max-width: 691px) 100vw, 691px" data-has-transparency="true" data-dominant-color="d2d8d7" /></figure> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-60 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-56 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/must-know-in-statistics-the-bivariate-normal-projection-explained-ace7b2f70b5b/" target="_self" >Must-Know in Statistics: The Bivariate Normal Projection Explained</a></h2> <a href="https://towardsdatascience.com/category/data-science/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Data Science </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">Derivation and practical examples of this powerful concept </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-59 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-58 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/lu-battistoni/" target="_self" class="wp-block-post-author-name__link">Luigi Battistoni</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-57 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2024-08-14T12:17:00-05:00">August 14, 2024</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 7 min read</div> </div> </div> </div> </div> </div> </li><li class="wp-block-post post-3527 post type-post status-publish format-standard has-post-thumbnail hentry category-data-science category-writing tag-authors tag-blogging tag-data-science tag-towards-data-science tag-writing"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-67 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <figure style="aspect-ratio:16/9;width:100%;" class="wp-block-post-featured-image"><img width="2560" height="1920" src="https://towardsdatascience.com/wp-content/uploads/2022/09/11tHmNYFaWWtWG5I7bNeN6g-scaled.jpeg" class="attachment-post-thumbnail size-post-thumbnail not-transparent wp-post-image" alt="Photo by Jess Bailey on Unsplash" style="--dominant-color: #e4e2e5;width:100%;height:100%;object-fit:cover;" decoding="async" loading="lazy" srcset="https://towardsdatascience.com/wp-content/uploads/2022/09/11tHmNYFaWWtWG5I7bNeN6g-scaled.jpeg 2560w, https://towardsdatascience.com/wp-content/uploads/2022/09/11tHmNYFaWWtWG5I7bNeN6g-300x225.jpeg 300w, https://towardsdatascience.com/wp-content/uploads/2022/09/11tHmNYFaWWtWG5I7bNeN6g-1024x768.jpeg 1024w, https://towardsdatascience.com/wp-content/uploads/2022/09/11tHmNYFaWWtWG5I7bNeN6g-768x576.jpeg 768w, https://towardsdatascience.com/wp-content/uploads/2022/09/11tHmNYFaWWtWG5I7bNeN6g-1536x1152.jpeg 1536w, https://towardsdatascience.com/wp-content/uploads/2022/09/11tHmNYFaWWtWG5I7bNeN6g-2048x1536.jpeg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" data-has-transparency="false" data-dominant-color="e4e2e5" /></figure> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-66 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-62 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/how-to-make-the-most-of-your-experience-as-a-tds-author-b1e056be63f1/" target="_self" >How to Make the Most of Your Experience as a TDS Author</a></h2> <a href="https://towardsdatascience.com/category/data-science/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Data Science </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">A quick guide to our resources and FAQ </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-65 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-64 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/towardsdatascience/" target="_self" class="wp-block-post-author-name__link">TDS Editors</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-63 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2022-09-13T15:20:50-05:00">September 13, 2022</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 4 min read</div> </div> </div> </div> </div> </div> </li><li class="wp-block-post post-3533 post type-post status-publish format-standard has-post-thumbnail hentry category-data-science category-machine-learning tag-data-science tag-machine-learning tag-tds-explore tag-towards-data-science"> <div class="wp-block-group alignwide is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-73 wp-block-group-is-layout-flex wp-block-pattern wp-block-null"> <figure style="aspect-ratio:16/9;width:100%;" class="wp-block-post-featured-image"><img width="2560" height="1707" src="https://towardsdatascience.com/wp-content/uploads/2020/11/0BF38u2sw4WQdaMLS-scaled.jpg" class="attachment-post-thumbnail size-post-thumbnail not-transparent wp-post-image" alt="Photo by Alex Geerts on Unsplash" style="--dominant-color: #7c6b64;width:100%;height:100%;object-fit:cover;" decoding="async" loading="lazy" srcset="https://towardsdatascience.com/wp-content/uploads/2020/11/0BF38u2sw4WQdaMLS-scaled.jpg 2560w, https://towardsdatascience.com/wp-content/uploads/2020/11/0BF38u2sw4WQdaMLS-300x200.jpg 300w, https://towardsdatascience.com/wp-content/uploads/2020/11/0BF38u2sw4WQdaMLS-1024x683.jpg 1024w, https://towardsdatascience.com/wp-content/uploads/2020/11/0BF38u2sw4WQdaMLS-768x512.jpg 768w, https://towardsdatascience.com/wp-content/uploads/2020/11/0BF38u2sw4WQdaMLS-1536x1024.jpg 1536w, https://towardsdatascience.com/wp-content/uploads/2020/11/0BF38u2sw4WQdaMLS-2048x1365.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" data-has-transparency="false" data-dominant-color="7c6b64" /></figure> <div class="wp-block-group alignwide is-style-default is-vertical is-layout-flex wp-container-core-group-is-layout-72 wp-block-group-is-layout-flex" style="padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-left:0"> <div class="wp-block-group is-reversed is-vertical is-layout-flex wp-container-core-group-is-layout-68 wp-block-group-is-layout-flex"> <h2 style="margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;" class="has-link-color alignwide wp-elements-c804df8ecfea890347697a4469c7a87f wp-block-post-title has-text-color has-text-primary-color has-heading-6-font-size"><a href="https://towardsdatascience.com/our-columns-53501f74c86d/" target="_self" >Our Columns</a></h2> <a href="https://towardsdatascience.com/category/data-science/" style="text-transform:uppercase;" class="is-taxonomy-category wp-block-tenup-post-primary-term has-text-color has-text-secondary-color has-eyebrow-1-font-size"> Data Science </a> </div> <div class="has-link-color wp-elements-9b2da9e78c2e95c41dab8b5a7bd89187 wp-block-post-excerpt has-text-color has-text-secondary-color"><p class="wp-block-post-excerpt__excerpt">Columns on TDS are carefully curated collections of posts on a particular idea or category… </p></div> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-71 wp-block-group-is-layout-flex"> <div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-70 wp-block-group-is-layout-flex"> <div style="text-decoration:none;" class="has-link-color wp-elements-405d4e0f55fae1c84a82bd83ba2e27c0 wp-block-post-author-name has-text-color has-blue-gray-color has-caption-1-font-size"><a href="https://towardsdatascience.com/author/towardsdatascience/" target="_self" class="wp-block-post-author-name__link">TDS Editors</a></div> <div class="wp-block-group has-text-secondary-color has-text-color has-link-color wp-elements-421d182eef1a5225f64372b8a5605ad9 is-nowrap is-layout-flex wp-container-core-group-is-layout-69 wp-block-group-is-layout-flex"> <div class="has-link-color wp-elements-2f08df38809735c44d27c382513ecb52 wp-block-post-date has-text-color has-text-secondary-color has-caption-1-font-size"><time datetime="2020-11-14T16:54:29-05:00">November 14, 2020</time></div> <div class="wp-elements-717bb1e0e8956d465f5b94f3ba248dbf wp-block-tenup-post-time-to-read has-text-color has-text-secondary-color has-caption-1-font-size"> 4 min read</div> </div> </div> </div> </div> </div> </li></ul> </div> </div> </div> </div> <footer class="wp-block-template-part wp-block-template-part--footer"> <div class="wp-block-group is-style-section-brand has-spindle-color has-text-color has-link-color wp-elements-73818550390986c7c1234e2751e7730f has-global-padding is-layout-constrained wp-container-core-group-is-layout-79 wp-block-group-is-layout-constrained is-style-section-brand--7" style="margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--32);padding-right:var(--wp--preset--spacing--16);padding-bottom:var(--wp--preset--spacing--32);padding-left:var(--wp--preset--spacing--16)"> <div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-77 wp-block-group-is-layout-flex"> <ul class="wp-block-social-links has-large-icon-size has-icon-color is-style-logos-only is-layout-flex wp-block-social-links-is-layout-flex"><li style="color: var(--wp--custom--color--spindle); " class="wp-social-link wp-social-link-youtube has-spindle-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.youtube.com/c/TowardsDataScience" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li> <li style="color: var(--wp--custom--color--spindle); " class="wp-social-link wp-social-link-x has-spindle-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://x.com/TDataScience" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li> <li style="color: var(--wp--custom--color--spindle); " class="wp-social-link wp-social-link-linkedin has-spindle-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/company/towards-data-science/?originalSubdomain=ca" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li> <li style="color: var(--wp--custom--color--spindle); " class="wp-social-link wp-social-link-threads has-spindle-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.threads.net/@towardsdatascience" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M16.3 11.3c-.1 0-.2-.1-.2-.1-.1-2.6-1.5-4-3.9-4-1.4 0-2.6.6-3.3 1.7l1.3.9c.5-.8 1.4-1 2-1 .8 0 1.4.2 1.7.7.3.3.5.8.5 1.3-.7-.1-1.4-.2-2.2-.1-2.2.1-3.7 1.4-3.6 3.2 0 .9.5 1.7 1.3 2.2.7.4 1.5.6 2.4.6 1.2-.1 2.1-.5 2.7-1.3.5-.6.8-1.4.9-2.4.6.3 1 .8 1.2 1.3.4.9.4 2.4-.8 3.6-1.1 1.1-2.3 1.5-4.3 1.5-2.1 0-3.8-.7-4.8-2S5.7 14.3 5.7 12c0-2.3.5-4.1 1.5-5.4 1.1-1.3 2.7-2 4.8-2 2.2 0 3.8.7 4.9 2 .5.7.9 1.5 1.2 2.5l1.5-.4c-.3-1.2-.8-2.2-1.5-3.1-1.3-1.7-3.3-2.6-6-2.6-2.6 0-4.7.9-6 2.6C4.9 7.2 4.3 9.3 4.3 12s.6 4.8 1.9 6.4c1.4 1.7 3.4 2.6 6 2.6 2.3 0 4-.6 5.3-2 1.8-1.8 1.7-4 1.1-5.4-.4-.9-1.2-1.7-2.3-2.3zm-4 3.8c-1 .1-2-.4-2-1.3 0-.7.5-1.5 2.1-1.6h.5c.6 0 1.1.1 1.6.2-.2 2.3-1.3 2.7-2.2 2.7z"/></svg><span class="wp-block-social-link-label screen-reader-text">Threads</span></a></li> <li style="color: var(--wp--custom--color--spindle); " class="wp-social-link wp-social-link-bluesky has-spindle-color wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://bsky.app/profile/towardsdatascience.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li></ul> </div> <div class="wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex has-2-columns"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="is-default-size wp-block-site-logo"><a href="https://towardsdatascience.com/" class="custom-logo-link" rel="home"><img loading="lazy" width="242" height="77" src="https://towardsdatascience.com/wp-content/uploads/2025/02/TDS-Vector-Logo.svg" class="custom-logo" alt="Towards Data Science" decoding="async" /></a></div> <p class="wp-block-paragraph">Your home for data science and Al. The world’s leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals.</p> <div class="wp-block-group is-vertical is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-78 wp-block-group-is-layout-flex"> <div class="wp-block-tenup-copyright"> <span class="wp-block-tenup-copyright__copyright"> © </span> <span class="wp-block-tenup-copyright__prefix">Insight Media Group, LLC</span> <span class="wp-block-tenup-copyright__year"> 2025 </span> </div> <nav class="items-justified-center alignwide wp-block-navigation is-content-justification-center is-layout-flex wp-container-core-navigation-is-layout-1 wp-block-navigation-is-layout-flex" aria-label="Site Footer Navigation"><ul class="wp-block-navigation__container items-justified-center alignwide wp-block-navigation"><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://towardsdatascience.com/about-towards-data-science-d691af11cc2f/"><span class="wp-block-navigation-item__label">About</span></a></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://towardsdatascience.com/privacy-policy/"><span class="wp-block-navigation-item__label">Privacy Policy</span></a></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://towardsdatascience.com/website-terms-of-use/"><span class="wp-block-navigation-item__label">Terms of Use</span></a></li></ul></nav> <button id="ot-sdk-btn" class="ot-sdk-show-settings wp-block-html">Cookies Settings</button> </div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <h2 class="wp-block-heading has-surface-primary-color has-text-color has-link-color has-heading-6-font-size wp-elements-8abfba23580a95812086dc19dff05bae" style="margin-bottom:var(--wp--preset--spacing--16)">Sign up to our newsletter</h2> <script class="wp-block-html" charset="utf-8" type="text/javascript" src="http://js.hsforms.net/forms/embed/v2.js"></script> <script> hbspt.forms.create({ portalId: "46095657", formId: "f73211c9-0317-43e8-8fbe-6eb475701286", onFormReady: function($form) { console.log({$form}); const formElement = $form[0]; console.log({formElement}); if (formElement) { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'https://towardsdatascience.com/wp-content/themes/tds-theme/dist/css/frontend.css'; formElement.ownerDocument.head.appendChild(link); } } }); </script> </div> </div> </div> </footer> </div> <script type="application/json" id="wp-script-module-data-@wordpress/interactivity"> {"config":{"tenup/site-header":{"debug":false,"navigationBreakpoint":900,"enableBackdrop":true,"enableHeadroom":false,"headroomOptions":{"offset":{"up":100,"down":100},"tolerance":0,"classes":{"initial":"headroom--initialized","pinned":"is-pinned","unpinned":"is-unpinned","top":"is-top","notTop":"not-top","bottom":"is-bottom","notBottom":"not-bottom"}},"focusableSelectors":["a[href]","input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])","select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","[contenteditable]","[tabindex]:not([tabindex^=\"-\"])"],"childRegions":[],"REGIONS":{"SEARCH":"search","MOBILE_NAVIGATION":"mobile-navigation"}},"tenup/navigation":{"icons":{"open":{"iconSet":"uikit","icon":"menu"},"close":{"iconSet":"uikit","icon":"close"}}},"tenup/search-button":{"icons":{"open":{"iconSet":"uikit","icon":"search"},"close":{"iconSet":"uikit","icon":"close"}}},"tenup/navigation-megamenu":{"icons":{"open":{"iconSet":"uikit","icon":"chevron-down"},"close":{"iconSet":"uikit","icon":"chevron-up"}}}},"state":{"tenup/site-header":{"isMobileNavigation":false,"isSubmenuExpanded":false,"isMobileNavigationExpanded":false,"isSearchExpanded":false,"hasSearch":false,"isInitialized":false,"expandedRegion":false,"triggerElement":null,"headroom":{"isPinned":false,"isTop":true,"isBottom":false},"isBackdropVisible":false,"isMegaMenuExpanded":false}}} </script> <script src="https://towardsdatascience.com/wp-content/themes/ui-kit-theme/dist/js/post-template-view-script.js?ver=a0d80fcdb9e0f5246681" id="ui-kit-theme-post-template-view-script-js"></script> <script id="wp-block-template-skip-link-js-after"> ( function() { var skipLinkTarget = document.querySelector( 'main' ), sibling, skipLinkTargetID, skipLink; // Early exit if a skip-link target can't be located. if ( ! skipLinkTarget ) { return; } /* * Get the site wrapper. * The skip-link will be injected in the beginning of it. */ sibling = document.querySelector( '.wp-site-blocks' ); // Early exit if the root element was not found. if ( ! sibling ) { return; } // Get the skip-link target's ID, and generate one if it doesn't exist. skipLinkTargetID = skipLinkTarget.id; if ( ! skipLinkTargetID ) { skipLinkTargetID = 'wp--skip-link--target'; skipLinkTarget.id = skipLinkTargetID; } // Create the skip link. skipLink = document.createElement( 'https://towardsdatascience.com/creating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6/a' ); skipLink.classList.add( 'skip-link', 'screen-reader-text' ); skipLink.href = '#' + skipLinkTargetID; skipLink.innerHTML = 'Skip to content'; // Inject the skip link. sibling.parentElement.insertBefore( skipLink, sibling ); }() ); </script> <script src="https://towardsdatascience.com/wp-content/plugins/prismatic/lib/prism/js/prism-core.js?ver=3.4.4" id="prismatic-prism-js"></script> <script src="https://towardsdatascience.com/wp-content/plugins/prismatic/lib/prism/js/lang-bash.js?ver=3.4.4" id="prismatic-prism-bash-js"></script> <script src="https://towardsdatascience.com/wp-content/plugins/prismatic/lib/prism/js/lang-makefile.js?ver=3.4.4" id="prismatic-prism-makefile-js"></script> <script src="https://towardsdatascience.com/wp-content/plugins/prismatic/lib/prism/js/lang-perl.js?ver=3.4.4" id="prismatic-prism-perl-js"></script> <script src="https://towardsdatascience.com/wp-content/plugins/prismatic/lib/prism/js/lang-python.js?ver=3.4.4" id="prismatic-prism-python-js"></script> <script id="tds-regwall-js-extra"> var tdsRegwall = {"ssoMetaApiEndpoint":"https:\/\/img-api.towardsdatascience.com\/api\/accounts\/sso\/meta?serverURL=https:\/\/img-api.towardsdatascience.com&redirect=https:\/\/towardsdatascience.com\/creating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6\/&failedRedirect=https:\/\/towardsdatascience.com\/creating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6\/","redirect":"https:\/\/towardsdatascience.com\/creating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6\/","ssoAccountEndpoint":"https:\/\/img-api.towardsdatascience.com\/api\/accounts\/me","ssoLogout":"https:\/\/img-api.towardsdatascience.com\/api\/accounts\/sso\/logout?redirect=https:\/\/towardsdatascience.com\/creating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6\/&failedRedirect=https:\/\/towardsdatascience.com\/creating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6\/"}; </script> <script src="https://towardsdatascience.com/wp-content/plugins/tds-plugin/dist/js/regwall.js?ver=2632e3dfc80e4aea6aab" id="tds-regwall-js" async data-wp-strategy="async"></script> </body> <!-- Mirrored from towardsdatascience.com/creating-synthetic-user-research-using-persona-prompting-and-autonomous-agents-b521e0a80ab6/ by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 07 Mar 2025 17:43:46 GMT --> </html>