Source: https://guthlabs.ai/docs/instruments/pricing-discount-markdown-calculator/

instrument / verified-clean

# Pricing/Discount & Markdown Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

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

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/pricing-discount-markdown-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/pricing-discount-markdown-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/pricing-discount-markdown-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/pricing-discount-markdown-calculator/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Finance, Economics & Business (educational only — never individualized investment, tax, or legal advice)

**Tranche**: tranche-4

**Evidence ID**: t4-270

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The sequential-stacking rule is mathematically sound under percentage-point inputs, but the instrument is incomplete and cannot honestly claim to compute the required discount to hit a target without a target-price input and explicit formula. The label 'Educational estimate' is appropriate, provided the calculator does not present tax, fee, or individualized financial advice.

### Formula and scope findings

- The sale-price formula is correct only when discount is represented as a decimal fraction; if the input is a percentage value such as 20, the formula must be sale = list * (1 - discount_percent / 100).

- Sequential stacked discounts correctly multiply remaining-price factors: final = list * product(1 - discount_i / 100).

- The required-discount-to-target calculation is claimed but no formula or target-price input is specified. For one overall discount, it should be required_discount_percent = (1 - target_price / list_price) * 100.

- The formulas for total dollar off and effective discount percentage are missing. They should be total_dollar_off = list_price - final_price and effective_discount_percent = (1 - final_price / list_price) * 100.

### Unit assumptions

- Prices are expressed in the same currency and numeric unit, with no tax, shipping, fees, or currency conversion included.

- Discount inputs are percentage points, so 20 means 20%, not 0.20.

- For stacked discounts, each discount is applied sequentially to the price remaining after the prior discount.

- Required discount to target is interpreted as one equivalent overall discount unless a separate stacking schedule is explicitly provided.

- Currency rounding is not specified; calculations below use exact arithmetic before any display rounding.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

A zero list price produces undefined required discount and undefined effective discount because the formulas divide by list price. The instrument should reject the input or display an explicit undefined result.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "list_price": 100,
    "discount_percent": 20,
    "stacking": false,
    "target_price": 80
  },
  "expected_outputs": {
    "final_price": 80,
    "total_dollar_off": 20,
    "effective_discount_percent": 20,
    "required_discount_percent": 20
  },
  "working": "Sale price = 100 * (1 - 20/100) = 100 * 0.80 = 80. Total $ off = 100 - 80 = 20. Effective discount = (20/100) * 100% = 20%. Required discount to reach 80 = (1 - 80/100) * 100% = 20%."
}
````

## Related workflows

[Startup Unit Economicspromos](<https://guthlabs.ai/docs/instrument-workflows/startup-econ/>)

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
