Skip to content

Account for seller fees after selecting one price - #117

Draft
aleksUIX wants to merge 3 commits into
IABTechLab:mainfrom
aleksUIX:contribution/pricing-arithmetic
Draft

aleksUIX wants to merge 3 commits into
IABTechLab:mainfrom
aleksUIX:contribution/pricing-arithmetic

Conversation

@aleksUIX

@aleksUIX aleksUIX commented Oct 24, 2026 •

Copy link
Copy Markdown

#94 treats pricing[] as alternatives, while #115 adds seller fees as extra rows and leaves derived_units unchanged. At USD 25 CPM, a USD 50,000 commitment containing a USD 2,500 fee leaves USD 47,500 for media, or 1.9 million impressions.

This adds discussion wording and 60 fixed calculation vectors. amount uses the same terms as agreed_rate, without choosing gross or net commission treatment or settling #115's tax question. Selected flat charges contribute once and cannot be separate pricing alternatives. Spend requires a positive agreed rate; units commitments permit a zero rate. Minimum-spend and budget bounds include flat charges.

The supporting calculator preserves an explicitly accepted counter below a posted floor and returns floor_check: not_checked. Passing arithmetic does not establish seller acceptance, reserve inventory or authorize a commitment. Tax-inclusive arithmetic, print adjustments and general mandatory-fee structures remain outside this profile.

The normative spec and field indexes are unchanged. If the wording is adopted, the affected body, appendix and example updates should land together.

Validation: 60 vectors, existing appendix checks and 11 YAML files pass. Three added zero-rate cases fail against the prior published calculator and pass with this change.

Member of the IAB Tech Lab Agentic Taskforce, commenting in a personal capacity.

@KonstantinMirin

Copy link
Copy Markdown

Postindustria (IAB Tech Lab member). @aleksUIX, the arithmetic matches our fee-basis revision on #94. Four fixes so the texts agree:

  • Spend amount. "Payable to the seller" can read as seller_rate (§ 5.6), but the display example divides 80,000 by agreed_rate 24.00, not 20.40. "Pre-tax" settles #115's billing.tax_inclusive. Suggest: "amount is the seller total, on the same terms as agreed_rate, including selected delta_flat charges (§ 3.1)."
  • Fees. "Solely to make it additive" turns on intent. Suggest: "A seller fee is never a pricing[] entry."
  • Positive rate. Only the spend formula divides by it; the calculator also rejects a 0 CPM added-value line on basis = units. Scope it to basis = spend.
  • Bounds vectors. None fails min_spend or min_budget. Add a units case where only the fee meets min_spend: 400,000 impressions at USD 25 CPM plus USD 1,500 is USD 11,500, passing 11,000 and failing 12,000.

Analyzed and generated with the help of Claude, fully reviewed by me.

@aleksUIX

Copy link
Copy Markdown
Author

Updated in response to these four points. amount now uses the same terms as agreed_rate, leaving commission and tax treatment open. Seller fees cannot be separate pricing[] alternatives.

Zero-rate units commitments now work; spend still requires a positive agreed rate. Added fee-inclusive minimum-spend and minimum-budget cases: 400,000 impressions at USD 25 CPM plus USD 1,500 totals USD 11,500, passing 11,000 and failing 12,000.

All 60 calculation vectors pass, along with the appendix and YAML checks. The calculator remains a limited discussion profile; it does not establish acceptance or implement tax-inclusive arithmetic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants