AI-powered Financial Search

Year
2024 - 2025
Company
FactSet
Role
Lead UX Designer
Improving FactSet’s AI chatbot by rethinking how users select companies, indices, and people—reducing ambiguity and boosting confidence with every query.
© AI-powered Financial Search

Context
Fixing Entity Confusion
at the Source
FactSet’s Mercury AI is an advanced financial chatbot designed to help users access real-time market data using natural language. While powerful, it struggled with one crucial detail: understanding what the user was asking about.
Was “Apple” the company or the fruit? Was “Amazon” a stock, a river, or a marketplace?
In financial workflows, precision is everything. If the bot misunderstood the entity being referenced, the entire search result became irrelevant. This project set out to fix that.
Challenge
When AI Guesses,
Users Lose Trust
Mercury initially relied on natural language processing alone to infer which company, index, or individual a user meant. This guesswork led to:
Incorrect entity matches
Frustrated users needing fast, accurate results
No control over how queries were interpreted
Discovery
Understanding
User Mental Models
Before moving into design, it was critical to understand how users were interacting with Mercury—and where they were getting stuck.
To kick off the research, I initiated a series of working sessions with the PM, during which we collaboratively reviewed over 100 real-world chatbot queries like:

What’s the current P/E ratio and forward guidance for Nvidia and AMD?

What is the debt maturity profile of Delta Air Lines?

What’s the consensus for Amazon price to funds from operations for the next three years?

How long have Alphabet's CEO served?

Which public companies in semiconductor industry have the highest R&D spend?

Show the leverage ratio trend for Rivian over the past 8 quarters.

What are the top 50 banks in California by total assets?
We identified 3 recurring friction points:
Users often referenced ambiguous entities that Mercury misunderstood.
Users wanted to mention multiple entities in one sentence, but Mercury couldn’t handle them well.
There was no way to correct misinterpretations. Users had to rephrase the whole query.
Research
Bridging the Gap Between
Language and Logic
Understanding how AI interprets prompts helps designers shape better, more accurate experiences.
To design more intelligent, trustworthy interactions, I needed to understand how the system processed language under the hood. One major insight came from the issue of “Ticker Dominance.” For example:
A user types “What's the price of Ford?” but the AI returns Forward Industries (FORD), not Ford Motor Co (F)—because “FORD” is a stronger string match, despite being the wrong intent.
Design Implication: Without a “common sense” override layer (e.g., based on company popularity or trading volume), the model may output a technically correct, but contextually wrong answer.
Ideation
Breaking Down Intelligence
into Lego Blocks
After understanding how Mercury’s AI interprets prompts, I realized many suggested queries used static entities like “Tesla” or “California.” They worked once—but couldn’t scale.
I redesigned them as interactive variables like ^Company, #Metric, and /State, each backed by real-time suggestions. This turned rigid examples into flexible, reusable building blocks, allowing users to craft their own prompts while aligning with how the AI thinks.
Solution
One Symbol
to Rule Them All
We standardized ^ as the single trigger for entity selection across all entity types. This simplified learning and reduced ambiguity. Users could now:
Insert entity tokens directly into their query
Edit and preview entities before submission
Use real-time prompt suggestions as scaffolding
Impact
Better Accuracy,
Higher Confidence
This shift from static text to variable-based prompts transformed the search experience. Users no longer had to retype entire queries, just tweak a value. It boosted personalization, reduced query friction, and laid the groundwork for a modular, scalable prompt system that can grow with user needs and data complexity.

Monthly active chat users
+9% increase
Entity-confirmation accuracy
+27% increase
Retention (4-week)
+6 pts increase





