2.7 KiB
Customer-Tuning Solver Prototype
Status: MVP for ADAPTIVE-WP-0006.
Purpose
This milestone adds the first executable customer-tuning flow described in
INTENT.md.
The solver now accepts selected customer-tunable inputs, solves the remaining usage-price parameter, validates the tuned configuration against boundary constraints, and checks seller-side comparable-customer LTV against the best available predefined reference model.
Generic Solver Contract
Core module: adaptive_pricing_core/customer_tuning.py
Inputs:
- a baseline
PricingConfiguration - the comparable-customer profile
- boundary policy
- LTV policy
- a
CustomerTuningRequest - the set of predefined reference configurations available to that profile
Current request fields:
included_unitscontract_duration_monthsminimum_monthly_turnoverprepaid_amountguaranteed_platform_feecustomer_funded_onboardingreduced_cancellation_flexibility- preference:
lower_usage_priceorseller_ltv - approval mode:
self_serve_onlyorallow_approval
Current solved field:
usage_unit_price
Decision Logic
For each candidate usage price in the search range, the solver:
- builds a tuned
PricingConfiguration - runs boundary validation
- estimates
average_comparable_customer_lifetime_value - compares the tuned result with the best predefined reference model for the profile
A tuned configuration is only accepted when:
- boundary validation is valid
- no seller approval is required when the request is
self_serve_only - tuned comparable-customer LTV meets the configured improvement threshold
The solver returns structured output including:
- accepted / rejected / requires approval decision
- solved configuration
- reference model and required LTV threshold
- binding constraints
- chosen trade-offs
- explanation text
Coulomb Pilot
Pilot module: projects/coulomb-pricing/observatory/tuning.py
Pilot request catalog:
projects/coulomb-pricing/data/tuning_requests.json
The Coulomb pilot currently targets membership-plus-overage against the
small-team comparable-customer profile.
Two pilot requests are shipped:
- a seller-safe lower-usage-price request that succeeds
- a high-included-usage request that is rejected for self-serve
Current Modeling Note
The observatory simulation path still scales default hybrid included usage by
members_per_customer.
The tuning pilot interprets request-level included_tokens values as total
package allowances, then maps them into canonical configuration fields before
running the solver. This keeps the prototype aligned with the catalog’s tunable
bounds while avoiding a broader simulation recalibration inside this milestone.