The decision
Commerce teams usually have more eligible products than they can support equally. Simple bestseller ranking ignores margin. Historical ROAS can overstate incrementality. Pure exploitation starves new products of learning. Promotion Allocation combines these tensions in one bounded portfolio recommendation.
The service recommends an allocation; it never executes it. It receives no authority to alter an advertising account, change a campaign, or spend the budget.
When it fits
- There are at least two products competing for a positive promotion budget.
- Product-level sales history and approximate unit economics are available.
- A SCALE / KEEP / TEST / PAUSE portfolio decision can influence an action worth more than $5.
- The buyer accepts experimental decision support—not a guaranteed performance outcome.
Do not buy when
- There is only one product, no real allocation choice, or no product history.
- You need campaign execution, bid changes, or autonomous spend.
- You require proven causal lift or guaranteed revenue, ROAS, or profit.
- An unchanged portfolio was already evaluated recently under the same decision version.
What comes back
The response includes a decision ID, version, request hash, methodology, and one recommendation per eligible product. Shares sum to approximately 100% and amounts reconcile to the submitted budget.
{
"decision_version": "0.3.0",
"budget": 500,
"experimental": true,
"incrementality_status": "UNVALIDATED_FORWARD",
"expected_incremental_contribution_profit": null,
"recommendations": [
{
"product_id": "established_sku",
"action": "SCALE",
"recommended_promotion_share": 0.60,
"recommended_promotion_amount": 300
},
{
"product_id": "emerging_sku",
"action": "TEST",
"recommended_promotion_share": 0.20,
"recommended_promotion_amount": 100
}
]
}Scientific boundary
Platform-attributed promotion outcomes are treated as features, not proof of causal lift. Expected incremental contribution profit remains null until forward and controlled experiments justify a causal estimate. The current performance status is UNVALIDATED_FORWARD.
The public Stripe test-mode MPP implementation passed 18 validator checks. That validates the payment protocol—not the economic performance of the allocation model.
Purchase boundary
Validation is free. The paid route returns HTTP 402 and an MPP payment challenge without credentials. An MPP-capable buyer may satisfy the $5 Stripe test-mode charge and retry the same request. Live payments remain disabled pending a separate launch approval.