Как стать автором
Обновить
227.8
Сначала показывать

Отказ от рекламы: ограничения методов оценки денежной стоимости

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров651

Привет, Хабр! Мы команда T-Банка: Алиса — лидер проекта, Алексей — аналитик по клиентскому негативу, Влад — аналитик, разбирается в данных и превращает числа в гипотезы, Александр — исследователь-разработчик ML-алгоритмов. Мы изучаем, как коммуникации влияют на клиентов и как сделать их более точными и ценными для бизнеса.

Реакция клиентов на рекламу и их восприятие коммуникаций напрямую влияют на долгосрочные отношения. В T-Банке мы стремимся персонализировать предложения, минимизируя негатив, который может возникнуть при взаимодействии с рекламой.

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

Потом перед нами появилась задача посложнее: дать количественную оценку средней денежной стоимости отказа клиента от рекламы. Мы столкнулись со сложными причинно-следственными связями в поведении пользователей, и это привело нас к важному выводу: далеко не все методы дают быстрый практический результат в условиях реальных данных.

В статье мы поделимся опытом оценки стоимости отказа от рекламы на примере трех подходов — Stratified Random Sampling, Propensity Score Matching и FAISS, а также выводами, к которым пришли в итоге.

Читать далее

Scala Digest. Выпуск 29

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров500

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. 

Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать двадцать девятый выпуск

Эволюция Angular с колокольни UI-Kit-разработчика

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров3.1K

На этой неделе команда Angular отметила значимый юбилей в истории развития своего фреймворка — 20-ю мажорную версию! Лучше повода не найти, чтобы удариться в ностальгические воспоминания про путь развития Angular за последние 5 лет — за десять последних мажорных версий.

Предлагаю нестандартный подход к изучению темы. Возьмем непопулярную точку зрения: мой многолетний опыт разработки огромной коллекции библиотек с компонентами под Angular — продукт под названием Taiga UI. В статье мы опустим многие заезженные фичи каждой мажорной версии Angular и сфокусируемся на кажущихся мелочах, которые стали значимыми шагами в истории развития нашего семейства библиотек. Я постараюсь на время статьи дать примерить шкуру разработчика Angular UI Kit!

Читать далее

Как работать с CAPY

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров589

Привет, Хабр! Я Данил Трещев, работаю в T-Банке в команде Spirit Compute, которая отвечает за runtime-инфраструктуру. Сегодня я хочу рассказать, как работать с Cluster API Provider Yandex (CAPY). Мы разработали собственное решение, которое позволяет разворачивать k8s-кластеры в инфраструктуре Yandex Cloud.

Разберем, как развернуть Management Cluster и Workload Cluster с помощью инструментов управления кластерами. Материал подходит для обучения и тестирования. Итоговое окружение не будет готово к продакшену — для этого понадобятся дополнительные настройки безопасности и отказоустойчивости.

Добро пожаловать под кат все, кому интересно познакомиться с темой! 

Читать далее

Что у меня за распределение

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.6K

Привет! Меня зовут Василий, я ML инженер центра ML-экспертизы в обслуживании. В Т-Банке мы прогнозируем нагрузку на колл-центр: сколько придет обращений, какой длительности и некоторые другие характеристики. 

Нужно уметь переводить эту нагрузку в количество людей на линии. Для этого мы реализовали симулятор колл-центра. Для работы симулятора нужно понимать, как распределены те или иные случайные величины, и иметь численные характеристики соответствия наблюдаемых значений теоретическим распределениям. Это называется задачей (критериями) согласия: к какому теоретическому распределению вероятностей принадлежит данная выборка.

«Используй Колмогорова — Смирнова, да и все тут», — скажут мне. В принципе, да, но нет. Мы пойдем чуть дальше и попытаемся разобраться, как все устроено и какие есть ограничения. Расскажу, почему нельзя просто так применять критерии согласия, к каким это приводит ошибкам и как с этим быть.

Читать далее

Как я удалил clickstream, но его восстановили из небытия

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.1K

Всем привет! Я Дмитрий Немчин из Т-Банка. Расскажу не очень успешную историю о том как я удалил данные и что из этого вышло.

В ИТ я больше 12 лет, начинал DBA и разработчиком в кровавом энтепрайзе с Oracle. В 2015 году познакомился с Greenplum в Т, да так тут и остался. С 2017 года стал лидить команду, потом все чуть усложнилось и команда стала не одна.  Возможно, вы меня могли видеть как организатора Greenplum-митапов в России. 

Но команда командой, менеджмент менеджментом, а руки чешутся..

Читать далее

Быстрый алгоритм fulltext-поиска без токенизации

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров3.8K

Меня зовут Дмитрий Ольшанский, я ведущий инженер Т-Банка. Расскажу о новом (насколько мне известно) алгоритме поиска текста по шаблону. Такая задача возникла в рамках проекта Sage — observability-платформы от Т-Банка, для которой мы строим новый бэкэнд для структурированных логов, SageDB. 

Читать далее

Как мы систематизировали работу с техдолгом в своей QA-команде

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров906

Привет, Хабр! Меня зовут Илья, работаю инженером по обеспечению качества в Т-Банке. Пишу автотесты на Kotlin, занимаюсь ручным тестированием и стараюсь улучшать процессы в команде.

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

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

Читать далее

Java Digest #24

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.9K

Всем привет! 👋👋👋👋👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске рассказываем о новых JEPs в OpenJDK, которые вошли в статус Candidate. Спойлер Applet API — RIP. В этом месяце вышли сразу IntelliJ IDEA 2025.1 и OpenIDE — эта битва будет легендарной! 

Мы добавили краткий обзор JavaOne’25. И, как обычно, собрали полезные статьи: как избавиться от Flaky-тестов с помощью JMina, как ZGC аллоцирует память в хипе. Сделали подборку материалов о паттернах и методологиях разработки и разбавили размышлениями о том, как писать хороший код и оставаться профессионалом. 

Читать свежий выпуск

Scala Digest. Выпуск 28

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1K

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. 

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать двадцать восьмой выпуск

Как мы научились эффективно работать с техническим долгом

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.7K

Доброго времени, Хабр! Меня зовут Эдвард. В сфере обеспечения качества я с 2012 года. Последние 7 лет работаю в Т-Банке, начинал со старшего специалиста по тестированию бэкэнда и работал в Т-Инвестициях. А сейчас занимаю позицию QA Head управления разработки социальных платформ.

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

Читать далее

Тестирование CAP-теоремы на примере MongoDB

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.6K

Привет, Хабр! Я Сергей Гайдамаков. Уже 28 лет я занимаюсь проектированием и разработкой программных систем различного масштаба. Сейчас работаю в Т-Банке системным аналитиком и проектирую системы, которые в совокупности составляют большую распределенную систему. 

Несмотря на большое число статей про CAP-теорему, есть трудности ее практического применения при создании распределенных программных систем. Я описал результаты тестирования набора реплик MongoDB в штатных и аварийных ситуациях, параметры запросов для достижения требуемых свойств CAP-теоремы. А еще развенчал некоторые заблуждения и мифы относительно базы данных MongoDB. 

Читать далее

Как улучшить предсказуемость поставки дизайна с помощью метрик эффективности команды

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.6K

Привет! Меня зовут Егор Стремоусов, я тимлид команды продуктовых дизайнеров платформы TWork Обслуживания в Т-Банке. Расскажу, как моя команда повысила предсказуемость поставки дизайн-задач, какие методы и инструменты мы для этого использовали.

Читать далее

Как работает Robolectric и почему это важно знать

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.1K

Представьте, что можно тестировать android-код без эмулятора, запуская тесты за секунды вместо минут. Именно это обещает Robolectric — библиотека, которую либо любят, либо ненавидят, но точно не игнорируют. 

За кажущейся простотой «просто добавь зависимость» скрывается удивительная магия модификации байткода, о которой не рассказывают в статьях. Предлагаю разобраться, как на самом деле работает магия Robolectric и почему эти знания пригодятся любому android-разработчику.

Читать далее

Неизвестные пробелы в тестовом покрытии

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1.2K

Тестирование — это наука не о том, чтобы доказать, что программа работает корректно, а о том, чтобы доказать, что она работает НЕкорректно. И если доказать это не удалось, то с какой-то вероятностью программа работает корректно. Остается некоторый пробел. Давайте рассмотрим, что за это за пробелы, откуда берутся и как можно их минимизировать.

Читать далее

Демоприложения: как жить, когда у вас 90+ application-модулей

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров2.5K

С того момента, как Олег Шелякин рассказал про запуск демоприложений в проекте мобильного банка, большинство команд успело обзавестись своей собственной уютной демкой, и сейчас их количество приближается к 90. 

В предыдущей статье основной акцент был на сокращении времени сборки и синхронизации кода с Android Studio. Но так уж выходит, что, решая одну проблему, мы порождаем другие. Если раньше был один единственный application module, к которому подключались все остальные модули для сборки в конечный артефакт(apk, aab), то сейчас таких модулей стало приблизительно на 90 больше.

Меня зовут Роман Заремба и я расскажу, как мы ушли от кода интеграции в application-модулях, пересмотрели базовые решения, придумали подход collector + initializer, перешли на библиотеку App Startup, избавились от нее и стали использовать стандартный Java ServiceLoader.

Читать далее

Методы анализа текстовых данных пользовательских обращений

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.5K

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

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

Хотя процент уникальных обращений на линию поддержки с проблемой от рекламы затрагивает менее 0,2% от MAU, учитывая масштаб активной базы пользователей, на ежемесячной основе мы получаем порядка 20 тысяч сообщений о проблемах, связанных с рекламными уведомлениями.

Наша задача — выявить ключевые паттерны и категории жалоб, автоматизировав анализ текстовых данных с использованием обработки естественного языка (NLP) и алгоритмов кластеризации. В этой статье рассмотрим, как такие подходы позволяют структурировать отзывы пользователей и находить инсайты для оптимизации маркетинговых стратегий.

Читать далее

Java Digest #23

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.9K

Всем привет! 👋👋👋👋👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин, Константин и Роман. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске будет много релизов, один из них — новый майлстоун Spring 7.0.0, а еще — новые версии Quarkus и Kora. Снова узнаем, как сделать Spring быстрее, вспомним старые хорошие доклады в новом формате и посмотрим на фичи Java 24 на примере крестиков-ноликов.

Читать далее

Как мы пишем ML-приложения с использованием паттерна пайплайнов

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.7K

Привет, Хабр! Я Тимофей Милованов, ведущий Golang-разработчик в команде VoiceKit, где мы занимаемся голосовыми технологиями. Мы разрабатываем сервисы по распознаванию и синтезу голоса, преобразованию одного голоса в другой, а еще голосовой биометрией.

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

Читать далее

Scala Digest. Выпуск 27

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.3K

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии.

Читать двадцать седьмой выпуск
1
23 ...

Информация

Сайт
l.tbank.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия