AIRUS CommercialExperimentOps · WTP / Live Quotes / Win-Loss

Сколько покупатель РЕАЛЬНО готов платить, за какую ценность, при каких условиях подпишет — а не просто похвалил презентацию. Коммерческая модель учится на реальных сделках, а не на словах.

Движки коммерческого эксперимента

WTP: declared → validated только деньгами
«Клиент готов платить X» со слов sales — это DECLARED (authoritative:false). VALIDATED достигается ТОЛЬКО из реального платного действия: append-only ledger top_up (деньги пришли), server-side, никогда из body-флага. В P0 платёж keyed по tenant → валидация на уровне tenant (этот tenant реально внёс ≥X → его WTP≥X подтверждён деньгами). REFUTED — заплатил меньше, чем «был готов».
Win / Loss / No-Decision
Исход сделки — first-class трёх видов. No-decision (сделка застряла/зависла/переприоритезирована) — НЕ loss: молчание ≠ отказ ≠ согласие. Win-rate = won/(won+lost), no-decision вынесен из знаменателя (иначе он тайно раздувает «проигрыши»). Причины win/loss — human-declared таксономия, помечены как declared, не measured.
Эксперимент fail-closed
A/B по цене: малое n / вырожденная выборка (conversions > n) / < 2 вариантов → CANNOT_CONCLUDE. При достаточной выборке — только DIRECTIONAL лидер, НЕ «significance» и НЕ «optimal price». Статистическая значимость (CI), ценовая эластичность и оптимальная цена — roadmap, не фейкаем уверенный вывод из шума.
Server-side атрибуция
deal/tenant из аутентифицированного контекста, реально уплаченное — из серверной агрегации ledger, не из тегов тела запроса. Публичный what-if демонстрирует лестницу, но VALIDATED через него недостижим (тело не поднимает статус).
Sealed Commercial Receipt
Квитанция сделки = проекция (authoritative:false): WTP-статус, реально уплаченное, исход+причина (human-declared), заключение эксперимента (directional). canonicalize с рекурсивной сортировкой → sha256, seal-once по (tenant, deal_ref), verify-from-sealed, DB-immutability (append-only триггеры).
Reuse честно
Бакетирование эксперимента — packagingops.experimentAssignVariant (не переизобретаем). Реальный платёж — LedgerService top_up (append-only, единственный источник истины по деньгам). НЕ дублирует quote-to-cash механику и tender-GTM квалификацию.

Честность провенанса

WTP лестница fail-closed:
  DECLARED   — «клиент готов платить X» (authoritative:false, из слов sales)
  VALIDATED  — реально уплачено ≥ X (append-only ledger top_up, tenant-scoped, live_measured)
  REFUTED    — реально уплачено < X (платит меньше, чем «был готов»)
  тело запроса НЕ поднимает статус — только реальные деньги через ledger

Исходы: win / loss / no_decision (first-class)
  no_decision ≠ loss (silence ≠ acceptance ≠ rejection); win_rate = won/(won+lost)

Эксперимент: малое n / вырожденная выборка → CANNOT_CONCLUDE
  при достаточной выборке — только DIRECTIONAL лидер (не significance/optimal price)

roadmap (plan_only):
  per-deal payment validation (deal-keyed платёж; сейчас VALIDATED только tenant-level)
  статистическая значимость (CI/elasticity/optimal price)
  авто-связь исхода с CRM/подписанным контрактом (сейчас human-declared)