ForHosting KIT · Developer Utilities

Percent change between values calculator

The percent change between values calculator measures how far a new value has moved relative to its original baseline.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Enter the old value and the new value to receive the arithmetic difference, the signed percentage change, and a clear increase, decrease, or no-change label. A positive percentage indicates movement above the baseline, while a negative percentage indicates movement below it. The calculation is deterministic, supports configurable rounding, and can be used interactively or automated through the API.

Enter the baseline and comparison value correctly

Start with the old value, which is the original measurement and the denominator of the calculation. Then provide the new value that you want to compare against that baseline. Order matters: moving from 80 to 100 is a 25 percent increase, but moving from 100 to 80 is a 20 percent decrease because the baseline changes. Both inputs may be positive or negative finite numbers, but the old value cannot be zero. A zero baseline makes ordinary percentage change undefined because no finite number can describe the change as a share of zero. If zero is meaningful in your dataset, report the absolute difference or choose a domain-specific comparison rule instead of inventing a percentage. The optional decimals setting controls output rounding from zero through twelve places. Use fewer places for a readable report and more places when a downstream calculation needs additional precision. The calculator returns the original inputs as well as its results, making the comparison easy to audit later.

Understand the signed percentage and direction

The calculator subtracts the old value from the new value, divides that difference by the old value, and multiplies the result by 100. It preserves the sign of the result. With a positive baseline, a positive result means an increase and a negative result means a decrease. An exact zero is labeled no change. The response also includes the plain arithmetic difference, so you can distinguish a movement of five units from a movement of five percent. Take care when the old value is negative: the standard signed formula follows the mathematical sign of the denominator, which can make everyday words such as improvement or decline misleading. For example, moving from negative 100 to negative 50 produces a negative 50 percent change under the stated formula, even though the new number is numerically greater. In financial loss, temperature, balance, or error contexts, explain the baseline convention beside the result. The returned formula field makes that convention explicit rather than leaving readers to guess which percentage definition was used.

Use percent change responsibly in reports and automation

Percent change is useful when measurements have different scales because it expresses movement relative to where each measurement started. Use it for month-over-month traffic, price comparisons, inventory levels, experiment metrics, energy consumption, test scores, or any series with a meaningful non-zero baseline. Keep the time period and units consistent: comparing a weekly total with a monthly total produces an arithmetically valid answer that may still be analytically useless. Do not confuse percent change with percentage-point change. If a conversion rate rises from 20 percent to 25 percent, the increase is five percentage points, while the relative percent change is 25 percent. In automated workflows, retain the old value, new value, difference, signed percentage, and direction together so reviewers can reconstruct the result. Choose one rounding policy for presentation and avoid repeatedly calculating from already rounded output. The browser calculation and API share the same pure algorithm, so a validated input produces the same structured result in either channel without network lookups, randomness, or time-dependent behavior.

Track business metrics

Compare revenue, orders, traffic, or inventory with the preceding period and preserve the signed direction.

Explain experimental movement

Measure how a treatment result changed from its baseline while retaining both the relative and absolute difference.

Automate recurring reports

Generate consistent percent-change fields for dashboards, alerts, exports, and scheduled performance summaries.

What formula does the calculator use?

It uses ((new value - old value) / old value) × 100 and returns the signed result.

Why can the old value not be zero?

The old value is the denominator. Division by zero is undefined, so ordinary percentage change has no finite result.

What does a negative result mean?

For a positive baseline, it means the new value is lower than the old value. Negative baselines require careful interpretation because the denominator also changes the sign.

Is percent change the same as percentage-point change?

No. Moving from 20% to 25% is a five-percentage-point rise but a 25% relative increase.

How much does an API calculation cost?

Each API request costs $0.002. The same deterministic calculation can also run in the browser.

Can I control rounding?

Yes. Set decimals to an integer from 0 through 12; the default is six decimal places.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/stat/percent-change

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/stat/percent-change \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"old_value":80,"new_value":100}'
{
  "old_value": 80,
  "new_value": 100
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "stat.percent_change",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →