Реализация AI-прогнозирования бюджета пользователя в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация AI-прогнозирования бюджета пользователя в мобильном приложении
Сложная
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Реализация AI-прогнозирования бюджета пользователя в мобильном приложении

Транзакции у пользователя есть. История трат — тоже. Проблема в том, что классические фильтры «прошлый месяц» не говорят, хватит ли денег до зарплаты. Прогностическая модель, встроенная в мобильное приложение, закрывает этот gap: смотрит на паттерны, учитывает сезонность, предупреждает до того, как баланс уйдёт в минус.

Архитектура: на устройстве или сервер

Первый вопрос — где считать. Для бюджетного прогнозирования ответ почти всегда «гибридно»: лёгкая модель на устройстве для быстрого inline-прогноза, тяжёлая на сервере для переобучения и персонализации.

На устройстве разворачиваем квантизованную модель через CoreML (iOS) или TensorFlow Lite (Android). CoreML принимает .mlmodel формат, TFLite — .tflite. Обе можно получить конвертацией из PyTorch или Keras.

// iOS: загрузка CoreML модели и предсказание
import CoreML

class BudgetForecaster {
    private let model: BudgetForecastModel

    init() throws {
        let config = MLModelConfiguration()
        config.computeUnits = .cpuAndNeuralEngine
        model = try BudgetForecastModel(configuration: config)
    }

    func predictBalance(features: BudgetForecastModelInput) throws -> Double {
        let output = try model.prediction(input: features)
        return output.predictedBalance
    }
}

computeUnits = .cpuAndNeuralEngine — модель использует Neural Engine на A12+ чипах. Инференс 30-дневного прогноза на iPhone 14 занимает < 5ms.

Подготовка данных и фичи

Качество прогноза определяется не моделью, а фичами. Из истории транзакций формируем:

  • скользящее среднее расходов за 7/30/90 дней по категориям
  • день недели и день месяца (сезонность внутри месяца — реальная: расходы 25-го числа системно отличаются от 10-го)
  • флаг «recurring»: платежи с регулярным интервалом (Netflix, аренда, кредит)
  • отклонение текущего периода от среднего — z-score трат

Recurring-платежи — особый случай. Их нужно детектировать отдельно: кластеризация по amount ± 5% + периодичность. Хорошо работает простой алгоритм: группируем транзакции одного merchant, считаем медиану интервала между ними, если StdDev < 3 дня — это recurring.

Модели: что использовать

Для временных рядов финансовых данных с объёмом истории 3–24 месяца хорошо работают три подхода:

Модель Когда подходит Сложность реализации
ARIMA / SARIMA Мало данных, нет нелинейности Низкая
LightGBM / XGBoost Смешанные фичи, таблицы Средняя
LSTM / Transformer Сложные паттерны, много истории Высокая

На практике для большинства приложений LightGBM выигрывает у LSTM при объёме истории < 2 лет. Меньше данных — проще модель. LSTM переобучается на коротких рядах. LightGBM конвертируется в TFLite через tf.lite.TFLiteConverter + ONNX промежуточный формат.

Серверная часть: переобучение и персонализация

Раз в неделю (или при добавлении N новых транзакций) серверная часть дообучает персональную модель на данных конкретного пользователя. Схема: базовая глобальная модель + файн-тюнинг на персональной истории.

Федеративное обучение (Federated Learning) — опция для приложений с требованиями к приватности. Google FL via TensorFlow Federated, Apple Private Federated Learning (iOS 17+). Данные пользователя не покидают устройство, на сервер отправляются только gradient updates.

Персонализированная модель доставляется на устройство через фоновую задачу — BGProcessingTask на iOS, WorkManager на Android. Загрузка нового .mlmodel / .tflite по Wi-Fi, замена старого без перезапуска приложения.

UI: отображение прогноза

Прогноз без контекста — бесполезен. Показываем:

  • Ожидаемый баланс к концу месяца с доверительным интервалом (не одно число — диапазон)
  • Детализация: где модель «видит» крупные запланированные траты
  • Алерт: если прогноз показывает дефицит — уведомление за 5+ дней, не в день X

Доверительный интервал реализуем через quantile regression: обучаем три модели (q10, q50, q90) — пессимистичный, медианный, оптимистичный прогноз. Отображаем как диапазон на графике.

Процесс работы

Аудит структуры транзакционных данных и их качества. Разработка pipeline очистки и feature engineering. Обучение и валидация модели на исторических данных. Конвертация в CoreML/TFLite, оптимизация под устройство. Интеграция в мобильное приложение, UI компонент прогноза. Настройка серверного pipeline переобучения.

Ориентиры по срокам

MVP с базовой ARIMA/LightGBM моделью и UI — 1–2 недели. Полная персонализированная система с федеративным обучением и фоновыми обновлениями модели — 4–8 недель.