How Leapwork Go Calculates Virtual User Hours for a Timeline | Leapwork Docs

This article explains how Leapwork Go calculates the Virtual User Hours estimate for a timeline.

What Virtual User Hours means

Virtual User Hours measures total usage over time, not only the highest number of concurrent users at a single moment.

1 Virtual User Hour = 1 virtual user running for 1 hour

How the timeline estimate is calculated

Leapwork Go calculates the timeline estimate by adding together the usage from each sequence block in the timeline.

Review update: Before usage is calculated, each load point is rounded up to the next billing increment of 50 virtual users.

For example:

Configured load point Billed load point
0 50
1-50 50
51-100 100
101-150 150

For each load segment in a sequence block, Leapwork Go:

  1. Determines how long the segment runs, in hours.
  2. Rounds the start and end load points up to the next billing increment of 50 virtual users.
  3. Determines the average billed load for that segment.
  4. Multiplies the average billed load by the segment duration.

Segment Virtual User Hours = average billed virtual users x duration in hours

Leapwork Go then adds all segment values across the timeline.

Total timeline Virtual User Hours = sum of all segment Virtual User Hours values

For reference:

How Leapwork Go handles different load shapes

Constant load

If the load stays flat, Leapwork Go uses the billed load for the full segment.

Virtual User Hours = billed virtual users x hours

Review update: Example revised for 50-user billing increments.

Ramp up or ramp down

If the load changes between two points, Leapwork Go uses the average of the billed start and end loads for that segment.

Segment Virtual User Hours = ((billed start load + billed end load) / 2) x duration in hours

Review update: Example revised for 50-user billing increments.

Review update: Example revised for 50-user billing increments.

Multiple tracks

Virtual User Hours is additive across tracks. Leapwork Go calculates each sequence block separately and then adds the results together.

Review update: Example revised for 50-user billing increments.

It does not matter whether the tracks overlap in time or start at different points in the timeline. If they run, their usage contributes to the total.

What changes the estimate

The estimate changes when you change:

Review update: The estimate can also change when a load point crosses a 50-user billing threshold, for example from 50 to 51, or from 100 to 101.

Moving a sequence block later in the timeline does not change that block's usage by itself. It only changes when the load happens. The estimate does not depend on:

Virtual User Hours vs peak virtual users

These metrics describe different things:

Metric What it tells you
Virtual User Hours Total usage over the full run, using 50-user billing increments
Peak virtual users Highest combined concurrent configured load at any point in the run
Planned runtime How long the full timeline is expected to run

For a duration-based timeline, planned runtime is determined by the latest ending sequence block in the timeline.

Two timelines can have the same Virtual User Hours and very different shapes.

Example:

Both consume the same total usage, but the second has a higher peak load.

Estimate vs actual usage

Before you start a run, Leapwork Go shows an estimate based on the full timeline design.

Review update: The estimate uses the same 50-user billing increments described above.

Actual usage is calculated from elapsed run time during execution. If a run stops early, actual consumption can be lower than the original estimate.

Execution-target runs and final consumption

When a sequence block is configured to stop after reaching an execution target, Leapwork Go separates the planning estimate from the final persisted usage.

Example:

Summary

To estimate Virtual User Hours in a timeline, Leapwork Go calculates the total virtual-user-over-time consumption for every sequence block and adds those values together.

Review update: Apply the 50-user billing increment to each load point first, then calculate the segment and timeline totals.

As a quick rule of thumb: