OpenProposal 3.0 JSON Schema Unofficial

Decision records · Value formats

D-005 Is a rate metric such as viewable_rate, completion_rate, or match_rate_expected a fraction from 0 to 1 or a percentage?

Gap Decision 5 on the supporting page of #121. Cited on main and with the open PRs.

What the schemas do

A number from 0 to 1, so 70 % is 0.7.

Options

  • fraction Chosen

    A number from 0 to 1, so 70 % is 0.7.

  • percent

    A number from 0 to 100, so 70 % is 70.

Why

A fraction has no unit and multiplies directly, as a derived figure needs. With bounds of 0 and 1, the common mistake of sending 70 for 70 % fails validation instead of passing as a 7000 % rate; with bounds of 0 and 100, a value of 0.7 meant as 70 % would pass silently. The § 3.1 delta_pct is a percentage by its name, so it isn't a Fraction.

What we ask the specification to state

State that rate metrics and match_rate_expected are fractions from 0 to 1, for example 0.7 for 70 %.

The specification lines it rests on

Each line is quoted as the record pins it. Expand an item to read the quote.

main

  • § 5.7, the committed_metrics[] row L320 at 44dfaaf
    committed_metrics[] | Array[Object] | requestable | { metric, value, basis } tuples — viewable_rate for display, completion_rate for video/audio/CTV, an audience-modelled metric for DOOH. Seller declares a ceiling; a buyer MAY request above it
  • § 5.3, the buyer_supplied row L236 at 44dfaaf
    buyer_supplied | Object | supplied | { segments_allowed, suppression_allowed, match_rate_expected, segments[], suppression_list }. match_rate_expected is the seller's stated expectation; segments[] and suppression_list are buyer-populated

With the open PRs

  • § 5.7, the committed_metrics[] row L313 on main at 981a74e
    committed_metrics[] | Array[Object] | requestable | { metric, value, basis } tuples — viewable_rate for display, completion_rate for video/audio/CTV, an audience-modelled metric for DOOH. Seller declares a ceiling; a buyer MAY request above it
  • § 5.3, the buyer_supplied row L229 on main at 981a74e
    buyer_supplied | Object | supplied | { segments_allowed, suppression_allowed, match_rate_expected, segments[], suppression_list }. match_rate_expected is the seller's stated expectation; segments[] and suppression_list are buyer-populated

What it shapes

main: Fraction, LineItem.buyer_supplied, LineItem.committed_metrics

With the open PRs: Fraction, LineItem.buyer_supplied, LineItem.committed_metrics

The record's YAML file