GH GambleHub

Коллективная ликвидность

1) Зачем это нужно

Мгновенная ликвидность в новых кластерах. Запускаетесь в регионе/нишe — «подмешиваете» общий пул.
Лучшее соответствие и цены. Глубокий рынок → меньше «спред», выше EPI (улучшение эффективной цены/подбора).
Шоки спроса/предложения. Перетекание нагрузки между узлами снижает отказ и очереди.
Экономика. Выше fill rate и ARPU при умеренном росте затрат; возможность cross-sell.

2) Модели коллективной ликвидности

МодельОписаниеКогда выбирать
Единый общий пулЦентрализованный ордербук/каталог для всех каналовПростая юрисдикция, один бренд
Федерация пуловПулы у партнеров, поверх — слой SOR/агрегацииРазные юрисдикции/бренды, суверенитет
Маркет-хабВаш продукт = «биржа»: партнеры публикуют офферыМного поставщиков, вы — координатор
Мульти-хостинг/white-labelНесколько витрин → один скрытый пулКаналы и витрины различны, supply общий
Локальные кластеры с мостамиЛокальные пулы, мосты по правиламСтрогая локализация/латентность

3) Архитектурные компоненты

Ордербук/каталог: абстракции заявка/оффер, статус и версии, SLAs и атрибуты совместимости.
SOR (Smart Order Routing): правила выбора пула/поставщика с учетом цены/качества/юрисдикции/латентности.
Согласованность: CDC и журналы событий, дедуп по `event_id`, компенсирующие транзакции.
Атрибуция и биллинг: кто «владельца» сделки/комиссии, окна претензий, reconciliation.
Качество и репутация: рейтинги/SLA партнера, штрафы, бейджи.
Приватность и локализация: маскирование ПД, гео-пиннинг, правила экспорта событий.

Скетч DFD (Mermaid):
mermaid flowchart LR
U [Demand] --> GW [Routing Gateway]
P1 [Pool A] --- GW
P2 [Pool B] --- GW
P3 [Partner C] --- GW
GW --> SB[Settlement/Billing]
GW --> OBS[Observability/SLO]

4) Контракты данных (минимум полей)

yaml offer. v1:
id: uuid kind: product    slot    capacity price: {amount: decimal, currency: ISO4217}
quality: {rating: 0..5, sla_ttm_ms: int}
geo: {region: "EU", city: "Tallinn"}
vendor: {id: "partner-123", tier: "gold"}
terms: {ttl_s: 60, cancellation: "window:15m"}
version: 7 request. v1:
id: uuid constraints: {geo, time, price_ceiling, compliance}
qos: {max_ttm_ms: 500, min_rating: 4. 0}
trace_id: uuid consent: {...}

5) SOR: правила и псевдокод

Критерии ранжирования:
  • `score = w_priceprice_improvement + w_slattm_slo + w_qquality + w_geodistance_penalty + w_riskvendor_risk_penalty`
python def route(request, pools):
candidates = []
for pool in pools:
if not compliant(request, pool):
continue quotes = pool. quote (request) # timebox, idempotent for q in quotes:
s = score(q, request)
candidates. append((s, pool, q))
ordered = sorted(candidates, key=lambda x: -x[0])
return best_feasible(ordered, fairness=request. fairness)

Fairness (справедливость): ротация поставщиков, квоты на долю оборота, tie-break по репутации и недавним выигрышам.

6) Метрики ликвидности

Fill rate = закрытые заявки / все заявки (по сегменту/кластеру).
Time-to-match (p50/p95) — время до подбора/исполнения.
Depth — доступный объем в заданном диапазоне цены/качества.
Spread / EPI — улучшение эффективной цены vs бенчмарка.
Utilization — загрузка предложения (idle% ↓ — хорошо, если без SLA-провалов).
Integrity — доля отмен/фолс-конверсий, расхождение в reconciliation (< ε).
Fairness — дисперсия распределения оборота по поставщикам при равном качестве.

SLO ликвидности (пример):
  • `fill_rate_month ≥ 92%` в кластере с ≥ N активными офферами.
  • `p95_time_to_match ≤ 3s` в пиковые часы.
  • `cancel_rate ≤ 1.5%` при SLA поставщика `on-time ≥ 98%`.

7) Наблюдаемость и доказательная база

События: `request.sent`, `quote.received`, `match.made`, `settled`, `cancelled`, `refund`.
Трассировки: `trace_id` сквозной через SOR → пул → поставщик.
Аудит: подписи вебхуков, журнал версий ордербука, «скриншот» котировок.
Reconciliation: двусторонние отчеты, дедуп, расхождения < ε, SLA закрытия претензий.

8) Приватность, комплаенс, суверенитет

Geo-pinning: чувствительные категории/PII не выходят из разрешенного региона.
Псевдонимизация: для межпартнерского обмена — только псевдо-идентификаторы.
Retention как код: TTL событий, право на удаление, Legal Hold.
DPA/вебхуки: подпись, анти-replay, контроль схем.

9) Операционная модель и расчеты

Роли: Market Operator (вы), Пулы/Партнеры (supply), Каналы/Витрины (demand).
Коммерция: RevShare/CPA/минимальные гарантии; «клип» за маршрутизацию/улучшение цены.
Кредиты/штрафы: за срыв SLA, ложные офферы, несогласованность отчетов.
Settlement: периодичность T+N, удержания, chargebacks, отчетность.

Профиль партнера (фрагмент):
yaml partner_id: "pool-A"
sla:
fill_rate: ">= 90%"
on_time: ">= 98%"
quote_ttl_s: 2 limits:
rps: 200 region: ["EU","TR"]
commercials:
model: "revshare: 20% of net"
security:
webhook_signature: "Ed25519"

10) Паттерны интеграции

Pull-quote API с тайм-боксом (idempotency-key).
Подписанные Webhooks для `match.made`/`settled` (ретраи с экспонентой).
Event bus для CDC ордербука и аналитики (версии событий).
Batch-recon (ежедневный SFTP/Blob + контрольные суммы).
Outbox/Inbox у обоих сторон + дедуп.
Версионирование схем/SDK, окно совместимости.

11) Управление перегрузкой и качелями

Анти-конгестия: лимитеры, очереди, приоритизация VIP/сложных кейсов, surge-коэффициенты.
Анти-арбитраж (токсичный): запреты «самоисполнений» по заниженной цене/качеству, мониторинг «ping-pong» запросов.
Анти-фрод: device/поведенческие сигнатуры, honey-tokens, отложенная квалификация (cool-off).
Деградация с честью: fallback на локальный пул, «best-effort» с прозрачным ухудшением.

12) Примеры логики (скетчи)

12.1 Роутинг с учетом юрисдикции и SLO

python def compliant(req, pool):
return (req. constraints. geo in pool. regions and pool. sla. quote_ttl_s <= 2 and pool. vendor_tier in {"gold","silver"})

12.2 Политика справедливости (Rego-идея)

rego package fairness deny["overexposed vendor"] {
usage. share[input. vendor] > 0. 45 input. vendor. tier == "silver"
}

12.3 Проба конвергенции ордербука

sql
SELECT offer_id, MAX(version)-MIN(version) AS drift
FROM orderbook_events
WHERE ts >= now() - interval '5 minutes'
GROUP BY 1
HAVING MAX(version)-MIN(version) > 1; -- fragmentation signal

13) Метрики зрелости

Coverage: доля сегментов/регионов, где есть ≥ X активных офферов.
Elasticity: как быстро fill rate восстанавливается при +Δ спроса.
EPI/Spread-improvement: выгода от агрегации vs соло-пул.
Fair-distribution: отклонение доли оборота от ожидаемой по качеству.
Recon-health: частота/срок закрытия расхождений.
Privacy-score: доля маршрутов без выноса ПД за границы политики.

14) Анти-паттерны

Голая федерация без SOR и правил качества → фрагментация, отмены.
«Стеклянный рынок»: открываете все всем — всплеск фрода и ценовой войны.
Нет атрибуции и reconciliation → вечные споры и замороженные выплаты.
Жесткая синхронщина между пулами → каскадная латентность/отказы.
Одинаковые правила для разных сегментов → деградация опыта в премиум/локальных нишах.
Игнорирование TTL офферов → сделки по «протухшим» условиям.
Единый ключ шифрования на весь рынок → невозможно точечно «стереть» данные.

15) Чек-лист архитектора

1. Определены модель (общий пул/федерация/хаб) и ограничения суверенитета?
2. Есть контракт данных (схемы, версии, TTL, подписи) и окно совместимости?
3. Реализован SOR с fairness и бэкомпами, SLO ликвидности и дашбордами?
4. Прописаны биллинг/атрибуция, окна претензий, кредиты/штрафы?
5. Встроены анти-конгестия/анти-фрод/анти-арбитраж и режим деградации?
6. Налажен reconciliation и артефакты «доказательства сделки»?
7. Приватность: псевдонимизация, geo-pinning, ретеншен, право на удаление?
8. Учения: стресс-пики спроса/падение пула/рассинхронизация ордербука?
9. FinOps: бюджет egress, стоимость маршрутизации, целевой EPI?
10. Governance: пороговые доли, сертификация партнеров, аудит.

Заключение

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

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Telegram
@Gamble_GC
Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

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