Реалізація AI-динамічного ціноутворення у мобільному додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація AI-динамічного ціноутворення у мобільному додатку
Складний
~2-4 тижні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація AI-динамічного ціноутворення в мобільному додатку

Динамічне ціноутворення — це не «підняти ціну коли попит високий». Це алгоритм, який у реальному часі балансує між максимізацією виручки та збереженням конверсії. Занадто агресивна стратегія руйнує довіру; занадто консервативна — залишає гроші на столі.

У мобільних додатках це завдання має додатковий вимір: ціна, показана користувачу, повинна бути консистентною в межах сеансу. Користувач не повинен бачити, як ціна змінилася між переглядом карточки товару та екраном оплати.

Де та як застосовується

E-commerce та маркетплейси

Класичні сценарії: ціни авіаквитків, готелів, доставки, ride-sharing. Фактори, які впливають на ціну: поточний попит (кількість активних сеансів на цей товар), залишок на складі, час до закінчення пропозиції, поведінка конкурентів (парсинг публічних цін), сегмент користувача.

Моделі ціноутворення

Три основних підходи у порядку зростання складності:

Правила: «якщо залишок < 5 одиниць — +15% до базової ціни». Швидко реалізується, легко пояснити бізнесу, погано адаптується до складних паттернів попиту.

Регресія/ML: модель передбачає оптимальну ціну за вектором ознак. XGBoost з ознаками попиту, часу та конкурентного середовища дає хорошу baseline-точність.

Reinforcement Learning: агент навчається в середовищі, отримуючи награду за конверсію та/або виручку. Складніше в реалізації та відладці, але краще у довгостроковій оптимізації. Підходить для зрілих продуктів з великим трафіком.

Ключові технічні моменти

Консистентність ціни в сеансі

Ціна фіксується при першому перегляді товару та не змінюється до кінця сеансу (або визначеного TTL). Реалізується через кеш цін на сервері з ключем {user_id}_{item_id}_{session_id}.

// Android: отримання ціни з кешуванням в межах сеансу
class PricingRepository(
    private val pricingApi: PricingApi,
    private val sessionId: String
) {
    private val priceCache = HashMap<String, PricedItem>()

    suspend fun getPrice(itemId: String, userId: String): PricedItem {
        // спочатку перевіряємо локальний кеш сеансу
        priceCache[itemId]?.let { return it }

        val priced = pricingApi.getPrice(
            PriceRequest(
                itemId = itemId,
                userId = userId,
                sessionId = sessionId,
                timestamp = System.currentTimeMillis()
            )
        )
        priceCache[itemId] = priced
        return priced
    }
}

Ознаки для моделі ціноутворення

@dataclass
class PricingFeatures:
    # Demand signals
    views_last_1h: int
    add_to_cart_rate_1h: float
    active_sessions_on_item: int

    # Supply
    stock_level: int
    days_until_expiry: Optional[int]  # для швидкопсуваних

    # User segment
    user_ltv_bucket: int  # 0-4 (низька до високої вартості)
    user_price_sensitivity: float  # еластичність з історії

    # Time context
    hour_of_day: int
    day_of_week: int
    is_payday_week: bool  # 1-7 та 25-31 числа місяця

    # Competitive
    competitor_price_delta: Optional[float]  # % різниця з конкурентом

user_price_sensitivity — важлива ознака, яку часто упускають. Вона обчислюється з історії: наскільки часто користувач купляв після зниження ціни vs при повній ціні. Користувачі з високою еластичністю отримують персоналізовані знижки; нечутливі до ціни — ні.

A/B тестування стратегій ціноутворення

Тестувати цінові стратегії складніше, ніж UI-зміни. Cannibalization bias: користувач у контрольній групі бачить одну ціну, у тестовій — іншу, але вони конкурують за один і той же інвентар. Правильний підхід — гео-розділення або часове розділення (holdout weeks).

// iOS: відображення ціни з badge якщо вона динамічна
struct ProductPriceView: View {
    let pricedItem: PricedItem

    var body: some View {
        HStack(spacing: 6) {
            if let original = pricedItem.originalPrice, original > pricedItem.currentPrice {
                Text(original.formatted(.currency(code: "USD")))
                    .strikethrough()
                    .foregroundColor(.secondary)
                    .font(.subheadline)
            }

            Text(pricedItem.currentPrice.formatted(.currency(code: "USD")))
                .font(.headline)
                .foregroundColor(pricedItem.isDiscounted ? .red : .primary)

            if pricedItem.priceExpiresIn < 600 {  // <10 хвилин
                Text("⏱ \(pricedItem.priceExpiresIn / 60) хв")
                    .font(.caption)
                    .foregroundColor(.orange)
            }
        }
    }
}

Таймер до закінчення ціни створює терміновість без маніпуляції — користувач бачить реальне обмеження, а не фіктивний countdown.

Процес роботи

Аудит даних: історія продажів, поточні сигнали попиту, доступність конкурентних цін.

Побудова baseline правилової стратегії та збір даних для ML-моделі.

Навчання та валідація моделі на офлайн-даних.

Розробка pricing API + client-side кеш сеансу.

Online-тестування з гео-розділенням та моніторингом виручки + конверсії.

Орієнтири за часом

Правилова динамічна ціна з API — 1 тиждень. ML-модель з feature engineering та offline-валідацією — 3–4 тижні. Повна система з online A/B тестуванням та моніторингом — 6–8 тижнів.