Effective average speed with stops
Driving 120 km at 90 km/h with half an hour of stops takes 1.833 hours door to door, so your effective average is roughly sixty-five km/h, not 90. Enter distance, moving speed and total stopped time for an honest trip average and arrival estimate. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Distance
- 120
- Driving speed
- 90
- Stopped time
- 0.5
- Driving time
- 1.3333333333
- Total time
- 1.8333333333
- Effective average speed
- 65.4545454545
- Speed reduction
- 24.5454545455
Door-to-door trip planning fails when you quote only the speedometer while moving and ignore rest stops, fuel fills, traffic lights, and border queues. Effective average speed with stops answers a different question from cruise speed alone: given the path distance you will drive, the speed you expect while the wheels are turning, and how long you will sit still along the way, what constant speed would cover the same distance in the same total wall-clock time? The model is elementary and transparent. Driving time equals distance divided by moving speed. Total time equals driving time plus total stopped time. Effective average speed equals distance divided by that total time. When stopped time is zero the effective mean equals your driving speed; when stops are long the door-to-door mean falls well below cruise, which is exactly what logistics planners and honest ETAs need. This calculator accepts those three numbers, returns driving time, total time, effective average speed, how much speed the stops remove, and the fraction of the trip spent stopped.
How effective average speed with stops is defined
Start from three quantities travellers already know or estimate: the path distance of the route, the average speed while the vehicle is actually moving, and the sum of all planned and unplanned stops. Driving time is distance divided by driving speed. That quotient is how long pure motion would take if you never paused.
Real door-to-door duration adds every idle interval: coffee breaks, charging or fuel, school drop-offs, congestion where the odometer barely moves, and formal rest rules for professional drivers. Total trip time is therefore driving time plus stopped time. Effective average speed is the single constant speed that covers the same path distance in that full wall-clock duration, which is simply distance divided by total time.
Because the denominator includes idle time, the effective mean is always less than or equal to the moving speed for non-negative stops. Equality holds only when stopped time is zero. The reduction relative to cruise is driving speed minus effective average speed, and the stop time fraction is stopped time over total time.
These identities are pure arithmetic: no traffic network, no random seed, no wall-clock Date, and no model drift. Use any consistent unit triple—kilometres with kilometres per hour and hours, miles with miles per hour and hours, or metres with metres per second and seconds—and the numbers stay coherent. Distance cannot be negative because path length is non-negative.
Driving speed must be strictly positive because it appears in a division that defines motion time. Stopped time must be non-negative.
Where door-to-door effective speed calculators show up
Road-trip and commute planners convert map distance and a realistic cruise assumption into honest door-to-door means once they add known parking, border, or meal stops. Fleet and logistics teams build first-pass schedule tables from stage kilometres, posted or observed moving speeds, and mandatory rest or depot dwell without spinning up a full traffic simulation. Driving instructors and secondary-school physics teachers contrast cruise speed with trip average when stops are included, giving students a closed-form check that matches the textbook identity of average speed as total distance over total time.
EV and long-haul coaches estimate how charging or rest stacks shrink the effective mean relative to highway cruise so pacing plans stay credible. If you already know total elapsed wall-clock time and only need distance over that time, use the simpler average speed calculator. If you need signed average velocity from displacement, multi-leg harmonic means from segment speeds only, or live traffic ETAs, treat those as separate search intents and landings rather than overloading this effective average speed with stops page.
What you can do with it
Honest road-trip ETAs with rest stops
Turn route distance, expected highway speed, and planned meal or fuel stops into an effective door-to-door average speed for realistic arrival planning.
Fleet stage tables with mandatory dwell
Combine stage kilometres, moving speed, and depot or regulatory rest time into trip mean speed before full routing models.
Classroom distance-over-time with stops
Show students how idle time lowers average speed relative to cruise using a deterministic oracle for homework and demos.
FAQ
What is effective average speed with stops?
Distance divided by total door-to-door time, where total time is driving time (distance over moving speed) plus all stopped time along the route.
How is this different from the plain average speed calculator?
The plain tool takes distance and total elapsed time you already know. This tool builds total time from driving speed and stopped time when you know cruise and stops separately.
What units should I use?
Keep units consistent. Kilometres with km/h and hours is common; miles with mph and hours also works.
What if driving speed is zero?
Moving speed must be positive because driving time is distance divided by driving speed.
What does it cost?
The browser tool is free and runs locally.
Related tools
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/travel/average-speed-with-stops \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"distance":120,"driving_speed":90,"stopped_time":0.5}'const res = await fetch("https://api.kit.forhosting.com/travel/average-speed-with-stops", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"distance": 120,
"driving_speed": 90,
"stopped_time": 0.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/average-speed-with-stops",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"distance": 120,
"driving_speed": 90,
"stopped_time": 0.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/average-speed-with-stops", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"distance":120,"driving_speed":90,"stopped_time":0.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"distance":120,"driving_speed":90,"stopped_time":0.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/average-speed-with-stops", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"distance": 120,
"driving_speed": 90,
"stopped_time": 0.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.average_speed_with_stops",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The free browser tool and the paid API share one pure deterministic function so homework demos and fleet scripts never disagree on the same inputs.
How effective average speed with stops is defined
If both distance and stopped time are zero, total time vanishes and the effective mean is undefined, so the request is rejected rather than returning infinity.
What you send and what you get back
Classic checks include one hundred twenty kilometres at ninety kilometres per hour with half an hour of stops: driving time is four thirds of an hour, total time is about one point eight three hours, and effective average falls below ninety. Zero distance with a positive wait yields effective speed zero. Zero stopped time recovers the pure driving speed as the effective mean. Wire the free browser form for trip planning and classroom drills, then call the same contract from scripts for bulk ETA tables. POST three required finite numbers: distance, the non-negative path length in a length unit consistent with your speed; driving_speed, the positive average speed while moving; and stopped_time, the non-negative total idle duration in the time unit implied by that speed. Missing fields, empty strings, NaN, Infinity, negative distance, non-positive driving speed, and negative stopped time fail with invalid_input and are not charged. On success the response echoes cleaned inputs and adds driving_time as distance over driving_speed, total_time as driving_time plus stopped_time, effective_average_speed as distance over total_time, speed_reduction as driving_speed minus effective_average_speed, stop_time_fraction as stopped_time over total_time, and speed_ratio as effective average over driving speed. A units hint object, method tag effective_average_speed_distance_over_drive_plus_stops, and a short formula string support UI labels and audit trails. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where door-to-door effective speed calculators show up
Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.