AI-powered Financial Search

FactSet

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.

Let’s break down what’s happening behind the scenes when this kind of error occurs:

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

160k

160k

+9% increase

Entity-confirmation accuracy

92%

92%

+27% increase

Retention (4-week)

31%

31%

+6 pts increase

Created by

© 2026 All rights reserved

Created by

© 2026 All rights reserved

Created by

© 2026 All rights reserved