Это моя первая публикация на Хабре, который я читаю уже лет 10... Так что, если честно, даже немного трясусь от волнения. Всё равно что смотреть футбол и выйти на поле в составе моего любимого Кайрата. Но постараюсь без лирики и перейду к делу. Итак, в 2026 году уже всем как будто понятно, что потенциальные клиенты всё чаще выбирают банк не в поиске, а в диалоге с нейросетью (хотя многие с этим до сих пор почему‑то спорят). На выходе клиент получает короткий список из трёх‑четырёх названий. Так как я занимаюсь аналитикой данных, мне стало интересно, по какому принципу этот список собирается, как эти данные обрабатываются, и кто вообще попадает в этот заветный шорт‑лист.Ниже я описываю, как за пару вечеров собрал на Python замер видимости банков Казахстана в пяти ИИ‑ассистентах, на что напоролся и к каким выводам в итоге пришел. Код и формулы прилагаю, цифры можно перепроверить, если у вас будет желание. Читать далее
Это моя первая публикация на Хабре, который я читаю уже лет 10... Так что, если честно, даже немного трясусь от волнения. Всё равно что смотреть футбол и выйти на поле в составе моего любимого Кайрата. Но постараюсь без лирики и перейду к делу.
Итак, в 2026 году уже всем как будто понятно, что потенциальные клиенты всё чаще выбирают банк не в поиске, а в диалоге с нейросетью (хотя многие с этим до сих пор почему‑то спорят). На выходе клиент получает короткий список из трёх‑четырёх названий.
Так как я занимаюсь аналитикой данных, мне стало интересно, по какому принципу этот список собирается, как эти данные обрабатываются, и кто вообще попадает в этот заветный шорт‑лист.
Ниже я описываю, как за пару вечеров собрал на Python замер видимости банков Казахстана в пяти ИИ‑ассистентах, на что напоролся и к каким выводам в итоге пришел. Код и формулы прилагаю, цифры можно перепроверить, если у вас будет желание.

Итоговый балл по четырём осям: Kaspi — 66, Halyk — 62, а внизу ICBC и БИЭнКей с нулевой узнаваемостью. Замер по пяти нейросетям, июль 2026.
Зачем вообще это измерятьЯ работаю с данными по банковскому рынку: в основном это процентные ставки и кредитные продукты. Год назад источником трафика и действий клиентов на сайте был поиск. Сейчас заметная часть людей просто спрашивает у ChatGPT вопрос в духе «какую карту с кэшбэком оформить в Казахстане» и берёт то, что модель назвала первым. Для банка это как новая полка в магазине: если тебя не назвали в ответе — значит, внимания ты не пролучишь.
Проблема в том, что эффективность этой полки пока никто толком не измеряет, особенно в Казахстане. Регуляторные рейтинги считают традиционные активы и надёжность, а не то, что нейросеть выдаёт человеку. Я же решил посчитать именно это — присутствие банка в ответах ИИ — и сделать это воспроизводимо, чтобы результат не зависел от одного удачного скриншота.
Исходные данные: 23 банка и ловушка с тёзкамиПервый вопрос — кого вообще брать в исследование. Банков же много, да? Чтобы не отбирать банки по узнаваемости и не смещать этим выборку, я взял официальный список банков второго уровня из реестра Нацбанка на официальном гос сайте — получилось всего 23 действующих банка.
Дальше начались нюансы. Банк в тексте ответа надо как‑то однозначно определить, а называют его по‑разному: например, Halyk, Народный банк, халық, в общем, вы поняли. Я завёл на каждый банк набор regex‑алиасов и домен для отдельной оси. Вот как выглядит одна запись ростера:
{"name": "Halyk Bank", "domain": "halykbank.kz", "foreign": False,
"aliases": [r"halyk", r"халык", r"халық", r"народн\w+ банк", r"homebank"],
"products": ["homebank", "halyk card", "halyk"]},Отдельная головная боль — иностранные дочки. Флаг foreign я поставил там, где имя банка совпадает с глобальным брендом: «Банк Китая», «ICBC», «Ситибанк». Если просто искать в источниках домен citibank, метрика цитируемости у казахстанского Ситибанка взлетит до небес — потому что модель цитирует глобальный Citi, а не алматинский филиал. У Ситибанка Казахстан вообще нет своего домена, это подстраница на доткомовском глобальном домене. Так что пришлось добавить требование по пути в URL:
{"name": "Ситибанк Казахстан", "domain": "citibank.com", "foreign": True,
"aliases": [r"ситибанк", r"citibank", r"\bciti\b"],
"cite_path": "kazakhstan"}, # засчитываем источник, только если в URL есть /kazakhstanКазалось бы, мелочь, но без неё один банк выходил бы в лидеры цитируемости на пустом месте. Такие детали в подобных замерах и решают, верить итоговым результатам или нет.
Три типа вопросовСледующий вопрос — что спрашивать. Я развёл вопросы на три группы, у каждой была своя задача.
Первая, без названия банка: «топ банков Казахстана 2026», «где выгоднее ипотека», «лучшее банковское приложение». Здесь видно, кого модель вспоминает сама, без дополнительной подсказки. Это главная группа — 28 запросов по девяти темам от карт до эквайринга.
Вторая — прямые сравнения лидеров: «Kaspi или Halyk для повседневных расчётов». Тут интересна тональность и то, на что модель опирается, когда сравнивает банки.
Третья — фундаментальная информация по каждому банку: описание банка, официальный сайт и приложение, список карт и продуктов, свежие новости и надёжность. Тут проверяем, свежий ли ответ, ведёт ли на официальный источник, не путает ли модель продукты.
Первые две группы я гонял в нейронках по три раза. Ответы небрендовых запросов гуляют от прогона к прогону сильнее всего. Исключение у меня составлял ChatGPT с веб‑поиском: он самый дорогой, поэтому его я решил использовать везде по одному разу. В сумме получилось 902 ответа.
Как я собирал ответыЧетыре модели — ChatGPT, Claude, Perplexity, Gemini — я «пытал» через aitunnel единым OpenAI‑совместимым клиентом. Алису же я допрашивал напрямую через Yandex Search API, у неё генеративный ответ с поиском отдаётся отдельным методом с регионом.
Для оси цитируемости важно было вытащить из ответа не только текст, но и ссылки, на которые модель опиралась. У ChatGPT они лежат в annotations, у Perplexity — в citations верхнего уровня. Я собирал оба варианта в один список:
def extract_sources(dump):
out, seen = [], set()
def add(url):
url = (url or "").strip()
if url and url not in seen:
seen.add(url)
out.append({"domain": domain_of(url), "url": url})
choice = (dump.get("choices") or [{}])[0]
for a in (choice.get("message") or {}).get("annotations") or []:
if a.get("type") == "url_citation":
add((a.get("url_citation") or {}).get("url"))
for url in dump.get("citations") or []:
add(url if isinstance(url, str) else (url or {}).get("url"))
return out«Алиса» отдаёт источники штатным полем, с ней проще. Запрос к ней выглядит так (поле search_type переключает поиск на Казахстан):
payload = {
"messages": [{"role": "ROLE_USER", "content": prompt}],
"folderId": YANDEX_FOLDER,
"search_type": "SEARCH_TYPE_KK", # регион Казахстан
"enableNrfmDocs": True,
}Каждый ответ я писал строкой в JSONL, с uid запроса, платформой, номером прогона, текстом и источниками. Это дало бесплатную резюмируемость: 900 сетевых вызовов рано или поздно оборвутся на таймауте, а при перезапуске уже собранные тройки (uid, platform, iter) просто пропускаются.
Балл каждому банку я собирал по четырём осям, каждая от 0 до 100.
Узнаваемость — самое главное, корень замера. Беру небрендовые ответы, ищу в каждом все банки по их алиасам и запоминаю позицию первого упоминания. Банк, которого модель называет часто и высоко, получает больший балл. Формула — доля присутствия плюс небольшой бонус за то, что банк стоит ближе к началу списка:
for r in nonbrand_answers:
for idx, (name, _) in enumerate(find_banks(r["text"])):
present[name] += 1
rank_acc[name].append(idx + 1)
for name in banks:
presence = present[name] / n_answers
avg_rank = mean(rank_acc[name]) if rank_acc[name] else None
pos_bonus = (1 - (avg_rank - 1) / n_banks) if avg_rank else 0
recognition[name] = round(100 * (0.70 * presence + 0.30 * pos_bonus), 1)Цитируемость — это доля ответов о банке, где в источниках всплыл его собственный домен (с поправкой на путь для тёзок из прошлого раздела).
Точность — актуальность ответа, наличие ссылки и совпадение реальных продуктов банка с тем, что назвала модель.
Тональность я размечал отдельной LLM, с оговоркой под финансы: отказ модели и уход в дисклеймер про меняющиеся ставки — это нейтральная оценка, она не несёт негативный оттенок. Для темы про деньги так правильнее, иначе осторожность ИИ засчиталась бы банку в минус.
Итоговый балл — среднее по осям. Узнаваемость я намеренно не смешиваю с надёжностью банка.
Что получилосьСредний балл узнаваемости по нише — 37,9 из 100. Почти половина банков (47,8%) в небрендовом вопросе «какой банк выбрать» набрала меньше 10% присутствия: сами модели их попросту не вспоминают.
Наверху рейтинга — розничные лидеры с плотным присутствием в медиа. Kaspi узнают почти все модели и почти всегда хвалят, у него тональность 95,8. Halyk по чистой узнаваемости даже выше (86,8), но описывают его гораздо нейтральнее, не так позитивно. Дальше ForteBank и Alatau City Bank. А самое интересное проявилось пониже:
Знают, но не называют. Банки, о которых ИИ рассказывает подробно и верно, но в вопросе о выборе банка их не называет. Нурбанк, Bank RBK, Altyn Bank — у них точность высокая, узнаваемость низкая. Данные об этих банках у ИИ есть, но в короткий ответ они не попадают.
Нулевая зона. У БИЭнКей (новый банк с корейским капиталом) и ICBC узнаваемость ровно нулевая. Банк работает, лицензирован, а для нейросети в вопросе о выборе банка его не существует. Свежий бренд без следа в местных источниках модель не видит, даже если материнская группа огромная.
Тут меня ждал главный сюрприз. Я вытащил все домены из источников и посчитал, чьими глазами модель смотрит на банк. Оказалось, на официальные сайты самих банков приходится всего 16,8% ссылок.

Только 16,8% ссылок в ответах ИИ ведут на сайты самих банков; остальное собрано из агрегаторов и СМИ. По 902 ответам, июль 2026.
Остальное — агрегаторы банков и МФО, такие как Bank.kz или Бробанк, обзоры ставок, деловые издания вроде Курсива и Forbes. То есть то, что нейросеть расскажет про банк, определяют в основном внешние площадки, а не пресс‑служба банка. Если банк слабо представлен в этих источниках или данные там устарели, ровно таким его и увидит клиент через ИИ. Для меня как для человека, который эти данные и собирает, вывод показался любопытным: качество карточек в каталогах влияет на ответ модели сильнее, чем редизайн банковского сайта и бесконечные улучшение (сами знаете, как это происходит).
У каждой модели своё мнениеЕщё я сравнил, сколько банков модели называют на один и тот же вопрос. Разброс оказался достаточно существенным.

Perplexity называет в среднем 6,4 банка при ответе на вопрос, ChatGPT и Алиса — меньше четырёх. Показаны средние значения по небрендовым запросам.
Perplexity при ответе перечисляет в среднем больше шести банков, ChatGPT и «Алиса» — меньше четырёх. Из‑за этого один и тот же банк бывает заметен в одной модели и невидим в другой. Причина — в обучающих данных и в том, есть ли у модели поиск по сети (по свежей информации). Практический смысл простой: измерять видимость по одной нейросети бессмысленно, ответы расходятся в разы.
Где замер может быть неточенРедкое написание названий банков или опечатки исследование не учитывает, и присутствие банка из‑за этого может чуть занижаться. С вариантами написания иностранных названий я боролся, как мог, но полностью убрать этот фактор не удалось.
Также стоит отметить, что ответы моделей меняются от обновления к обновлению, поэтому данные могут достаточно быстро меняться, и через пару месяц мы, вероятно, увидим чуть изменившуюся картину.
Но ни один из этих факторов сильно не влияет на общую картину: половина банков для ИИ почти невидимы, и зависит это от внешней активности в в агрегаторах и медиа.
Что делать с этим дальшеЭтот замер воспроизводимый: список банков открытый, вопросы типовые. Любой желающий может задать тем же пяти моделям такие вопросы и сверить результат. Я планирую прогнать это ещё раз через несколько месяцев и посмотреть, какие произошли изменения.
По идее, у банков, которые займутся своим присутствием во внешних источниках, узнаваемость должна пойти вверх.
Если у вас есть вопросы к моей методологии или хотите поделиться своими методами подобных исследование, буду рад увидеть ваше мнение и ответить на любые вопросы.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Ваш бэктест нейронки врёт на ±10 процентных пунктов | 0 | 8.99 | 12-08-2026 |
| 2 | Масштабирование без потерь: база знаний, чтобы запустить филиалы банка за 2 недели | 0 | 9.37 | 12-08-2026 |
| 3 | Масштабирование без потерь: база знаний, чтобы запустить филиалы банка за 2 недели | 0 | 9.37 | 12-08-2026 |
| 4 | Эксплуатация моделей (ModelOps) | 0 | 9.1 | 30-06-2026 |
| 5 | Книга: «Думай как аналитик. Статистика и данные с примерами на Python. 3-е изд.» | 0 | 6.69 | 16-07-2026 |
| 6 | Книга: «Машинное обучение на табличных данных: XGBoost, глубокое обучение и ИИ» | 0 | 8.35 | 05-05-2026 |
| 7 | Парадокс ликвидности или почему казахстанские банки верят тракторам больше, чем солнечной энергии | 0 | 6.64 | 27-05-2026 |
| 8 | Технологии доверия и персонализации | 0 | 5 | 29-09-2025 |
| 9 | Перспективы ИИ в России: снова на исходной позиции, как и 100 лет назад (про политику) | -2 | 5 | 28-06-2026 |
| 10 | Экибастузские мегаватты в ИИ-вычисления или как Казахстан монетизирует энергию на $10 млрд | 0 | 11.49 | 15-06-2026 |