Average Rate of Change Calculator
Compute the average rate of change of a function between two points. Enter the endpoints (x₁, y₁) and (x₂, y₂) — that is, (a, f(a)) and (b, f(b)) — and get Δy/Δx with both changes broken out and a plain-English reading of the result.
Example: with x₁ (start input, a) 1 · y₁ (start output, f(a)) 5 · x₂ (end input, b) 4 · y₂ (end output, f(b)) 17 → Average rate of change: 4.
- Change in y (Δy)12
- Change in x (Δx)3
- What it meanson average, y rises 4 per 1-unit increase in x from x = 1 to x = 4
Computed by the calculator below using its default values. Change any input to see your own numbers.
Average rate of change = (f(b) − f(a)) ÷ (b − a) — the slope of the secant line through the two points. Here: (17 − 5)/(4 − 1) = 4.
Average rate of change is just slope with a job
Between any two points on a function, the average rate of change is (f(b) − f(a))/(b − a): total change in output divided by total change in input. Geometrically it is the slope of the secant line — the straight line cut through both points. If f gives position in miles at time x in hours, the average rate of change is your average speed; if f gives revenue by month, it is revenue growth per month.
The word 'average' is doing real work. A car covering 120 miles in 3 hours averaged 40 mph even if it sat in traffic and then sped; the secant slope smooths over everything between the endpoints. Shrink the interval, and the average rate approaches the instantaneous rate — the derivative. On f(x) = x², the average rate from x = 1 to 3 is 4, from 1 to 1.1 it is 2.1, and in the limit at x = 1 it is exactly 2.
How it’s calculated
Average rate of change = Δy/Δx = (y₂ − y₁)/(x₂ − x₁), with the two points read as (a, f(a)) and (b, f(b)). Results shown to 4 decimal places. When Δx = 0 the rate is undefined (vertical secant).
This tool takes the two endpoint values as given — it reports the secant slope between them and says nothing about what the function does inside the interval.
Shrinking the interval on f(x) = x² toward x = 1
| Interval | Computation | Average rate |
|---|---|---|
| x = 1 to 3 | (9 − 1)/2 | 4 |
| x = 1 to 2 | (4 − 1)/1 | 3 |
| x = 1 to 1.5 | (2.25 − 1)/0.5 | 2.5 |
| x = 1 to 1.1 | (1.21 − 1)/0.1 | 2.1 |
| Limit at x = 1 | derivative f′(1) | 2 |
Computed with (f(b) − f(a))/(b − a) on f(x) = x²; the shrinking secant slopes approach the tangent slope, the core idea of calculus.
Common mistakes
- Subtracting in one order on top and the other on the bottom — (y₂ − y₁) must sit over (x₂ − x₁), matching order.
- Reporting the average of the two y-values instead of the change between them.
- Treating the result as the rate everywhere on the interval — it is one summary number; the function can speed up, slow down, or reverse inside.
- Dropping the units: a rate is output units per input unit (dollars per month, miles per hour), and unlabeled rates get misread.
Frequently asked questions
What is the average rate of change formula?
(f(b) − f(a)) ÷ (b − a): the change in the function's output divided by the change in input across the interval. For the points (1, 5) and (4, 17): (17 − 5)/(4 − 1) = 4.
Is average rate of change the same as slope?
It is the slope of the secant line through the two endpoints. For a straight line the two ideas coincide everywhere; for a curve, the secant slope is a between-two-points summary rather than the curve's slope at any single point.
What is the difference between average and instantaneous rate of change?
Average uses two separate points; instantaneous is the limit as those points merge — the derivative. Speedometer versus trip-average is the standard analogy: this calculator computes the trip average.
What does a negative average rate of change mean?
The function ended lower than it started: y falls, on net, as x increases across the interval. From (2, 10) to (6, 2) the rate is −2, meaning y drops 2 per unit of x on average.
Can the average rate of change be zero on a changing function?
Yes — it only compares endpoints. f(x) = x² from x = −3 to 3 starts and ends at 9, so its average rate is 0 even though the function moved the whole time.