Skip to content

Main content

Historical Price Unit Factor Tool

Convert one verified same-commodity quantity-unit price with explicit source/date provenance; no currency or basket conversion.

Loading tool…

Description

targetUnitPrice = quotedPrice*targetQuantity/sourceQuantity; provenanceKey = JSON.stringify([source,dateLabel,commodity]).

Historical price series need compatible quantities, quality, dates and currency conventions. Rebasing or splicing a series changes its numerical scale without resolving source comparability or proving a change in living standards.

targetUnitPrice = quotedPrice*targetQuantity/sourceQuantity; provenanceKey = JSON.stringify([source,dateLabel,commodity]).

When to use this tool

Use Historical Price Unit Factor when checking a supplied historical price or index transformation.

How to use the tool and how it works

  1. Enter quotedPrice, sourceQuantity, targetQuantity, commodity, source, dateLabel. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read targetUnitPrice, provenanceKey. Use the output convention below.

Require positive sourceQuantity and targetQuantity. targetUnitPrice = quotedPrice*targetQuantity/sourceQuantity; provenanceKey = JSON.stringify([source,dateLabel,commodity]).1

Input fieldMeaning and unitsAccepted input
quotedPriceQuoted PriceRequired. Finite number.
sourceQuantitySource QuantityRequired. Finite number; strictly above 0.
targetQuantityTarget QuantityRequired. Finite number; strictly above 0.
commodityCommodityRequired. Text; maximum UTF-16 length 8192.
sourceCaller-supplied source label, not independently authenticated provenance.Required. Text; maximum UTF-16 length 8192.
dateLabelDate LabelRequired. Text; maximum UTF-16 length 8192.
Output fieldInterpretationReturned shape
targetUnitPriceTarget Unit PriceRequired. Finite number.
provenanceKeyProvenance KeyRequired. Text; maximum UTF-16 length 8192.
json
{
  "input": {
    "quotedPrice": 100,
    "sourceQuantity": 20,
    "targetQuantity": 5,
    "commodity": "grain-A",
    "source": "ledger-2",
    "dateLabel": "year-X"
  },
  "output": {
    "targetUnitPrice": 25,
    "provenanceKey": "[\"ledger-2\",\"year-X\",\"grain-A\"]"
  }
}

Limitations and assumptions

  • The quote is per sourceQuantity and the output per targetQuantity on a common physical basis. Provenance records supplied labels rather than authenticating sources or resolving historical units.
  • Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
  • Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.

Alternative or Complementary methods

Verify the original quotation basis and comparable series concepts, and use appropriate historical evidence for quality and unit adjustments.

References

  1. Calculation and input contract: economic-history/historical-price-unit-factor — tool.io

Similar or alternative tools