Source: https://guthlabs.ai/docs/instruments/price-elasticity-of-demand-calculator/mechanism/

instrument mechanism / verified-clean

# Price Elasticity of Demand Calculator mechanism

The inspectable method record for Price Elasticity of Demand Calculator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The core midpoint/arc elasticity formula is standard and arithmetically valid. The specification needs an explicit signed-coefficient convention, an absolute-value classification rule, and validation behavior for zero averages and zero price changes before it can receive PASS. The educational-only honest label is appropriate.

- The midpoint/arc formula is correct: E = (ΔQ / average Q) ÷ (ΔP / average P).

- The classification rule is not specified. Standard classification is based on absolute elasticity: |E| > 1 elastic, |E| = 1 unit elastic, and |E| < 1 inelastic.

- The sign convention is ambiguous: the coefficient is normally negative for a downward-sloping demand curve, while the classification normally uses its absolute value.

## Units and conventions

- Price before and after must use the same currency and scale, such as both dollars or both cents.

- Quantity before and after must use the same unit, such as both units, kilograms, or thousands of units.

- Because the formula is a ratio of percentage changes, consistent rescaling of price or quantity does not change elasticity.

- Percentage changes are midpoint changes: ΔQ divided by average Q, and ΔP divided by average P.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "price_before": 10,
    "price_after": 12,
    "quantity_before": 100,
    "quantity_after": 90,
    "price_unit": "currency units",
    "quantity_unit": "units"
  },
  "expected_outputs": {
    "elasticity_coefficient": -0.578947,
    "classification": "inelastic"
  },
  "working": "Average Q = (100 + 90) / 2 = 95. ΔQ = 90 - 100 = -10. ΔQ / average Q = -10 / 95 = -2/19. Average P = (10 + 12) / 2 = 11. ΔP = 12 - 10 = 2. ΔP / average P = 2 / 11. E = (-2/19) ÷ (2/11) = (-2/19) × (11/2) = -11/19 = -0.578947. Since |E| = 0.578947 < 1, the result is inelastic."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

An unchanged price makes the percentage price change exactly zero, so the midpoint elasticity quotient is undefined. The instrument must reject that input or explicitly report undefined; returning a numeric result would be incorrect.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/price-elasticity-of-demand-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/price-elasticity-of-demand-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/price-elasticity-of-demand-calculator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
