Bed turnover rate from discharges and average available beds

Divides the discharges of a period, including deaths, by the average daily number of available beds over the same period. The result is the number of patients each bed served, a partial productivity ratio of one output, discharges, to one input, beds. NHS Wales reports it as the bed use factor (indicator IP03). B_bar is the mean of the daily bed counts, which the computational function under this formula derives from those counts.

Signature

T = D / B_bar
Inputs
InputsDefinitionUnit
DDischarges in the period, including deaths in hospital, counted as whole stayscount
B_barAverage daily number of available beds over the period, the mean of the daily countsbeds, above zero
Output
TDischarges per average available bed over the periodpatients per bed per period, usually per year

Function

Bed turnover rate and turnover interval function

Maps the discharges, available beds and occupied bed-days of a period to the two measures reported as bed turnover: the turnover rate, the number of patients each bed served, and the turnover interval, the average time a bed stands empty between one patient and the next. It also expresses both through bed occupancy and average length of stay, and spreads the annual cost of a staffed bed over the patients it served. The records follow the notation of the Bed Turnover article. The throughput identity linking annual discharges to beds, occupancy and average length of stay is held on the Average Length of Stay page (HE-FM-ALOS-002) and is referenced here, not repeated.

Computational function

  • Computational function: bed turnover rate from daily available bed counts

    Takes a series of daily available bed counts and the discharges of the same period, and returns the average daily number of available beds and the turnover rate. It averages the daily counts first and then applies HE-FM-BTO-001, so its inputs are the daily counts rather than the single bed figure B_bar. Averaging daily counts matters when wards open or close during the year: a mean of the opening and closing counts misstates capacity if beds were closed for part of the period.

    Inputs and outputs: A_d: Number of beds available on day d, one value for each day of the period; required, zero or above. Unit: beds.; n: Number of days in the period, equal to the number of daily counts; required, above zero. Unit: days.; D: Deaths and discharges in the period from the same beds; required, zero or above. Unit: count.; B_bar: Average daily number of available beds, returned as an intermediate output. Unit: beds.; T: Bed turnover rate for the period. Unit: patients per bed per period.

    Assumption: Each daily count uses one stated definition of an available bed, the same one that defines the beds whose discharges are counted in D. A day on which a ward is closed carries the reduced count, not a blank.

    Worked example (Ward of 60 beds closed for 73 days): A hospital has 400 beds on 292 days and 340 beds on the 73 days a ward is closed, so it averages 388 beds a day. With 24,820 discharges the turnover rate is about 63.97, against 62.05 if the 400 beds at the start and end of the year were used. A_d = [400 on 292 days, 340 on 73 days]; n = 365; D = 24820; B_bar = 388; T = 63.97

    Worked example (Constant bed stock reproduces the baseline): With 400 beds available on every day, the average equals the bed count and the function returns the baseline turnover rate of HE-EX-BTO-001. A_d = [400 on 365 days]; n = 365; D = 24820; B_bar = 400; T = 62.05

    Excel: =Discharges/AVERAGE(DailyBeds) With one row per day of the period in a range named DailyBeds and deaths and discharges in a cell named Discharges, the formula returns the turnover rate.

    R: turnover_rate <- function(daily_beds, discharges) discharges / mean(daily_beds) Takes a numeric vector of daily bed counts; rep(c(400, 340), c(292, 73)) builds the first worked example.

    Python: def turnover_rate(daily_beds, discharges): return discharges / (sum(daily_beds) / len(daily_beds)) Takes a list of daily bed counts, for example [400] * 292 + [340] * 73.

    Test (Every day of the period has a bed count): The number of numeric counts equals the number of rows in the range. Expected result: TRUE. FALSE shows blank days, which AVERAGE skips, so closed or missing days would drop out and overstate the average bed stock. Excel check: =COUNT(DailyBeds)=ROWS(DailyBeds)

    Test (One count for each day of the period): The range holds as many rows as there are days from the first to the last day of the period. Expected result: TRUE. Excel check: =ROWS(DailyBeds)=PeriodEnd-PeriodStart+1

    Common error (Dividing discharges by the sum of the daily counts): The sum of the daily counts in the first example is 141,620 available bed-days, and dividing 24,820 discharges by it gives about 0.1753 discharges per bed-day rather than 63.97 per bed. The sum is divided by n before it enters the turnover rate.

    Source: NHS Wales Data Dictionary. Indicator IP03 Bed use factor. Accessed 1 October 2026. Base data: deaths and discharges during the period and the average daily number of available beds during the period.

    B_bar = sum(A_d) / n; T = D / B_bar

Try this function

Implementations

  • Excel

    Bed turnover rate in one cell

    Excel divides the named cell holding deaths and discharges by the named cell holding the average daily number of available beds.

    =Discharges/AvgAvailableBeds

Assumptions

  • Discharges and beds from the same bed stock

    D counts the discharges from the beds counted in B_bar, on one counting unit. Day cases are included in both or in neither: counting them as discharges while leaving day beds out of the bed count overstates bed use.

  • Bed turnover rates compared over equal periods

    T is a count per period, so an annual rate is compared only with another annual rate, and a part-year figure is reported with its period.

Worked examples

  • Bed turnover rate at the illustrative 400-bed baseline

    In the article's illustrative hospital, 24,820 discharges from 400 beds available throughout the year give a turnover rate of 62.05 patients per bed.

    D = 24820; B_bar = 400; T = 62.05
  • Bed turnover rate after 60 beds close in route B

    In route B of the article, shorter stays with no extra demand leave discharges at 24,820. Closing 60 beds to restore 85% occupancy leaves 340 beds and lifts the turnover rate to 73.

    D = 24820; B_bar = 340; T = 73

Common errors

  • Counting ward transfers as bed turnover discharges

    Counting ward transfers or consultant episodes instead of whole stays inflates D. Adding 2,482 transfers to the baseline's 24,820 discharges would raise the turnover rate from 62.05 to about 68.3 with no extra patient treated. Readmissions raise D in the same way, so turnover is read alongside the readmission rate.

  • Bed turnover rate from opening and closing bed counts

    A hospital with 400 beds on the first and last days of the year, but with a 60-bed ward closed for 73 days in between, had 388 beds available on an average day. The mean of the opening and closing counts, 400, gives a turnover rate of 62.05 for 24,820 discharges instead of about 63.97, understating bed use.

Sources

  • NHS Wales bed use factor indicator IP03

    NHS Wales Data Dictionary. Indicator IP03 Bed use factor. Accessed 1 October 2026. Calculation: number of deaths and discharges divided by the average daily number of available beds, with terms defined in QueSt 1 (QS1).

    View source →

  • Bed turnover rate defined as discharges per active bed

    Aloh HE, Onwujekwe OE, Aloh OG, Nweke CJ. Is bed turnover rate a good metric for hospital scale efficiency? A measure of resource utilization rate for hospitals in Southeast Nigeria. Cost Effectiveness and Resource Allocation. 2020;18:21. Methods: bed turnover rate is the number of discharges (or admissions) in one year divided by the number of active beds.

    View source →

Canonical Identity

Stable URI · Machine-readable · Resolvable · CC BY 4.0