- PVSM.RU - https://www.pvsm.ru -

Как я первый в Казахстане измерил ИИ видимость банков (и что из этого вышло)

Это моя первая публикация на Хабре, который я читаю уже лет 10... Так что, если честно, даже немного трясусь от волнения. Всё равно что смотреть футбол и выйти на поле в составе моего любимого Кайрата. Но постараюсь без лирики и перейду к делу.

Итак, в 2026 году уже всем как будто понятно, что потенциальные клиенты всё чаще выбирают банк не в поиске, а в диалоге с нейросетью (хотя многие с этим до сих пор почему‑то спорят). На выходе клиент получает короткий список из трёх‑четырёх названий.

Так как я занимаюсь аналитикой данных, мне стало интересно, по какому принципу этот список собирается, как эти данные обрабатываются, и кто вообще попадает в этот заветный шорт‑лист.

Ниже я описываю, как за пару вечеров собрал на Python замер видимости банков Казахстана в пяти ИИ‑ассистентах, на что напоролся и к каким выводам в итоге пришел. Код и формулы прилагаю, цифры можно перепроверить, если у вас будет желание.

Итоговый балл по четырём осям: Kaspi - 66, Halyk - 62, а внизу ICBC и БИЭнКей с нулевой узнаваемостью. Замер по пяти нейросетям, июль 2026.

Итоговый балл по четырём осям: 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"bcitib"],
 "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. А самое интересное проявилось пониже:

  1. Знают, но не называют. Банки, о которых ИИ рассказывает подробно и верно, но в вопросе о выборе банка их не называет. Нурбанк, Bank RBK, Altyn Bank — у них точность высокая, узнаваемость низкая. Данные об этих банках у ИИ есть, но в короткий ответ они не попадают.

  2. Нулевая зона. У БИЭнКей (новый банк с корейским капиталом) и ICBC узнаваемость ровно нулевая. Банк работает, лицензирован, а для нейросети в вопросе о выборе банка его не существует. Свежий бренд без следа в местных источниках модель не видит, даже если материнская группа огромная.

На чьи источники опирается ИИ

Тут меня ждал главный сюрприз. Я вытащил все домены из источников и посчитал, чьими глазами модель смотрит на банк. Оказалось, на официальные сайты самих банков приходится всего 16,8% ссылок.

Только 16,8% ссылок в ответах ИИ ведут на сайты самих банков; остальное собрано из агрегаторов и СМИ. По 902 ответам, июль 2026.

Только 16,8% ссылок в ответах ИИ ведут на сайты самих банков; остальное собрано из агрегаторов и СМИ. По 902 ответам, июль 2026.

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

У каждой модели своё мнение

Ещё я сравнил, сколько банков модели называют на один и тот же вопрос. Разброс оказался достаточно существенным.

Perplexity называет в среднем 6,4 банка при ответе на вопрос, ChatGPT и Алиса — меньше четырёх. Показаны средние значения по небрендовым запросам.

Perplexity называет в среднем 6,4 банка при ответе на вопрос, ChatGPT и Алиса — меньше четырёх. Показаны средние значения по небрендовым запросам.

Perplexity при ответе перечисляет в среднем больше шести банков, ChatGPT и «Алиса» — меньше четырёх. Из‑за этого один и тот же банк бывает заметен в одной модели и невидим в другой. Причина — в обучающих данных и в том, есть ли у модели поиск по сети (по свежей информации). Практический смысл простой: измерять видимость по одной нейросети бессмысленно, ответы расходятся в разы.

Где замер может быть неточен

Редкое написание названий банков или опечатки исследование не учитывает, и присутствие банка из‑за этого может чуть занижаться. С вариантами написания иностранных названий я боролся, как мог, но полностью убрать этот фактор не удалось.

Также стоит отметить, что ответы моделей меняются от обновления к обновлению, поэтому данные могут достаточно быстро меняться, и через пару месяц мы, вероятно, увидим чуть изменившуюся картину.

Но ни один из этих факторов сильно не влияет на общую картину: половина банков для ИИ почти невидимы, и зависит это от внешней активности в в агрегаторах и медиа.

Что делать с этим дальше

Этот замер воспроизводимый: список банков открытый, вопросы типовые. Любой желающий может задать тем же пяти моделям такие вопросы и сверить результат. Я планирую прогнать это ещё раз через несколько месяцев и посмотреть, какие произошли изменения.

По идее, у банков, которые займутся своим присутствием во внешних источниках, узнаваемость должна пойти вверх.

Если у вас есть вопросы к моей методологии или хотите поделиться своими методами подобных исследование, буду рад увидеть ваше мнение и ответить на любые вопросы.

Автор: ali_platonov

Источник [1]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/456475

Ссылки в тексте:

[1] Источник: https://habr.com/ru/articles/1069776/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1069776