Ilia Mishin
РусскийEnglish

Reworked banking search: 85% more successful sessions

Personalized suggestions and an AI assistant on the start screen

App-wide search in a banking app · iOS · Android · Web · 2025–2026

A hand holding an iPhone with the new search screen: the AI assistant answers how to open a CD
РусскийEnglish

Context

Gazprombank is one of Russia’s largest banks, with more than 5M monthly users across its mobile and web apps. Search works on iOS, Android, and web. Before the redesign, everyone saw the same start screen with “Recent searches,” “Transfer by phone number,” and “Smart tips” blocks. Search could find the bank’s services and content, but questions like “How do I…” or “How much…” got an error

The problem

Only 40% of search sessions succeeded, and search satisfaction was 2.6 out of 5. We counted a session as successful when the user clicked a result and didn’t come back to search within 10 seconds, meaning they found what they needed instead of rephrasing the query

My task

  1. Find weak spots in the search flow and where it could grow
  2. Form hypotheses based on the findings
  3. Test them: the riskiest one with hallway tests, the rest with post-release metrics
  4. Build a redesign concept and get leadership sign-off
  5. Take the solution to release

Auditing the existing flow

We reviewed the flow with the customer experience team and found these problems:

  • The start screen was the same for everyone. The closest things to personalization were “Recent searches” and “Transfer by phone number.” The first only copied text back into the search bar. The second took up a lot of space
  • Not everyone needed “Smart tips.” The block only helped if you had an account or a payment due, but it took up a big part of the screen
  • Questions ended in an error. Search couldn’t handle queries like “How do I…” and “How much…”
  • The web app on iOS couldn’t access contacts. People typed numbers by hand or looked for an old transfer in their history, and transfer conversion dropped
Search before the redesign

Market benchmarking

Benchmarking showed a trend toward personalization: static start screens were giving way to content picked for each user. The bank was building its own AI tools at the time, so the idea was to put an assistant into search and make search the starting point for most banking tasks

Monzo builds its search start screen from recent queries and suggestions. Cleo opens the chat with a spending summary
Starling lets you ask about your spending in plain words. In Cash App, an “I want to…” field takes you to an action through the assistant

Hypotheses and how we tested them

Before development I tested only the riskiest flow, Contact Picker. The other decisions were based on the audit and common market practice, and post-release metrics confirmed them

  • If we remove the underperforming static blocks, “Smart tips” and “Recent searches,” and put personalized elements in their place, the start screen gets more relevant and people reach the target action faster

    After release, personalized suggestions got 50% more clicks than static ones. Confirmed

  • If we shrink the “Transfer by phone number” block, we free up room for more important content without losing transfer conversion

    After release, transfer conversion didn’t change. Confirmed

  • If we add an AI assistant to search, people can get answers to the long, conversational queries that used to end in an error, and search becomes an entry point for banking operations

    After release, the successful-session rate went from 40% to 74%. That’s the effect of the whole redesign. We didn’t measure the assistant’s impact separately. Confirmed along with the other changes

  • If we build an onboarding flow for turning on Contact Picker API, an experimental Safari feature that gives the browser access to contacts, transfer conversion on iOS web goes up: no more typing numbers by hand or hunting for an old transfer in history

    In hallway tests, 8 out of 10 respondents found the menu and turned the feature on, so the onboarding is clear. Its effect on transfer conversion hasn’t been measured yet

Building the concept

I turned the research drafts into a working concept and took it to the department’s vice president for sign-off. After a few rounds, the flow became more focused on personalization:

1The search start screen became personal

Before typing a query, every user used to see the same static suggestions. I replaced them with personalized chips: reminders to make a loan payment, pay off a balance, or pick a cashback category. Each chip is something this customer needs to do right now. If a category has several payments, a bottom sheet opens with the details

I also removed the “Smart tips” and “Recent searches” blocks, shrank “Transfer by phone number,” and renamed it “Recent transfers.” That freed up a lot of room on the screen

The screen now had room for the future AI assistant

2iOS web users got the flow they already knew from the mobile app

Sending money by phone number is a common flow, but unlike the mobile apps, the web version couldn’t access the user’s contacts. I designed an onboarding flow for connecting the address book through the Contact Picker API, an experimental Safari feature. It opens the native iOS contact picker and drops a contact’s number straight into the field

Address book onboarding via the Contact Picker API

3Rolling out a full AI assistant

I rolled it out in stages. First, Gazik, the bank’s animated mascot, appeared on the search page. Users needed time to get used to the character before it started answering questions

Gazik, the bank’s animated mascot, on the search page

Later the team built an ML classifier that detects intent: it can tell when a regular results list is enough and when a query needs a full answer. For queries like “What’s my transfer limit?” that need a direct answer on the spot, I designed the assistant’s response with text that streams in, ChatGPT-style, right on top of the familiar results. A disclaimer always sits next to the answer, and when the assistant isn’t confident, the flow falls back to the regular results list

The assistant’s answer on top of the search results

4Adding the search entry point to other screens

As an experiment, the product owner proposed placing a search entry point on every first- and second-level screen of the web app, expecting more people to use search. I agreed on the floating button’s placement with each screen’s owner, and the button’s label changes with the screen it’s on. When you open search from it, Gazik suggests queries related to that screen

Rolling the entry point out to other screens

The result

The team shipped the changes over several releases, and the biggest shift was in the successful-session rate: it climbed 85%, from 40% to 74%. Most of that gain came from question-type queries, the ones that used to dead-end in a search error and now reach an answer. The new personalized chips also got a 50% higher CTR than the static ones, so the bet on personalization paid off. Monthly search users grew by 20%, and average satisfaction rose from 2.6 to 3.5. But the rating itself hid an unexpected finding

40% → 74%
successful search sessions
2.6 → 3.5
search satisfaction
+50%
personalized vs static suggestion CTR
+20%
search MAU in the web app

Key insight: 9 out of 10 ratings were either a 1 or a 5

Digging into the satisfaction increase, I looked at the ratings distribution behind the average score: 46% ones, 43% fives, only ~11% in between. An average of 3.5 described a user who didn’t exist: search had no “average” users, just happy and unhappy ones, and the star scale blended them into one number. I pushed to switch to a binary like/dislike rating. It shows the real split instead of a fake middle ground

Averages blur the real split between happy and unhappy customers

Takeaways

  • Metrics can hide insights that aren’t obvious at first. If a rating scale doesn’t work as intended, it’s time to rethink how the data is collected
  • The familiar mascot did the onboarding for us: users didn’t have to get used to a new character and a new feature at the same time

Next case: Dashboard →