Relative cost weight of a case group from group mean costs

Divides the mean cost per case in one group by the mean cost per case across all groups of the costing sample, the calculation that the European Observatory study of DRG systems describes in greatly simplified terms. The overall mean is the case-weighted mean of the group means, so the case-weighted average of the weights equals 1 in the costing year. Real systems refine the ratio, for example with IHACPA's inlier and outlier cost model for each AR-DRG, but keep the same scaling to a reference cost.

Signature

c_bar = sum_(k=1)^K [n_k * c_bar_k] / sum_(k=1)^K [n_k]; w_g = c_bar_g / c_bar
Inputs
InputsDefinitionUnit
n_kNumber of cases in group k of the costing sample, one value per groupcount
c_bar_kMean cost per case in group k, one value per group in the same order as n_kcurrency per case
c_bar_gMean cost per case in group g in the costing samplecurrency per case
Output
c_barMean cost per case over every case in the costing sample, the reference cost of one unit of weightcurrency per case
w_gCase weight (relative weight) of group g, its mean cost per case relative to the average caseratio, 1 for a group costing the same as the average case
  • K Number of groups in the costing sample, equal to the length of the n_k and c_bar_k lists (count)

Function

Case weight derivation, case-weighted payment and casemix cost comparison function

Maps the mean costs of patient classification groups, such as diagnosis-related groups (DRGs), to relative case weights, and uses the weights to price hospital cases and to compare hospital costs for a given casemix. The records follow the notation of the Case Weight article, where w_g is the weight of group g and c_bar the mean cost per case across all groups, so a weight of 1 marks a group whose cases cost the same as the average case.

Computational function

  • Computational function: case weights, hospital casemix, case payment and cost ratio from costing data

    Takes the cases and mean cost of every group in a costing sample, one hospital's cases by group, a base rate, an adjustment factor and the hospital's actual cost, and returns the group weights, the hospital's casemix and average weight, its total case payment and its casemix-adjusted cost ratio. It chains HE-FM-CWT-001, HE-FM-CWT-002 summed over the hospital's cases, and HE-FM-CWT-003, so its inputs are costing-sample and hospital data rather than the symbols of any one formula. The hospital's average weight is its case mix index, returned as an intermediate output.

    Inputs and outputs: n_k: Cases in each group of the costing sample; required, one count per group. Unit: count.; c_bar_k: Mean cost per case in each group, in the same order; required. Unit: currency per case.; n_hg: The hospital's cases in each group, in the same order; required. Unit: count.; B: Base rate; required, above zero. Unit: currency per unit of weight.; a_h: Hospital adjustment factor; 1 when none applies. Unit: ratio.; C_h: The hospital's actual total cost for those cases; required. Unit: currency.; c_bar: Mean cost per case in the costing sample, the reference cost of one unit of weight. Unit: currency per case.; w_g: Weight of each group. Unit: ratio.; CM_h: Casemix, the sum of the weights of the hospital's cases. Unit: weighted cases.; CMI_h: Average weight of the hospital's cases. Unit: ratio.; P_h: Total basic case payment to the hospital. Unit: currency.; R_h: Casemix-adjusted cost ratio. Unit: ratio.

    Assumption: The hospital's cases are grouped on the same classification and coding rules as the costing sample, each case receives one basic payment with no outlier or add-on payments, and the reference cost of one unit of weight is the sample mean c_bar.

    Worked example (Illustrative Hospital X from the case weight article): The costing sample gives weights of 0.50, 1.25 and 3.25. Hospital X's 260 cases make a casemix of 195 and an average weight of 0.75; at a base rate of £4,000 it is paid £780,000 against a cost of £858,000, a cost ratio of 1.10. n_k = [600, 300, 100]; c_bar_k = [2000, 5000, 13000]; n_hg = [200, 50, 10]; B = 4000; a_h = 1; C_h = 858000; c_bar = 4000; w_g = [0.5, 1.25, 3.25]; CM_h = 195; CMI_h = 0.75; P_h = 780000; R_h = 1.1

    Worked example (Illustrative Hospital Y from the case weight article): Hospital Y's 210 cases make a casemix of 345 and an average weight of about 1.64; it is paid £1,380,000 against a cost of £1,311,000, a cost ratio of 0.95. n_k = [600, 300, 100]; c_bar_k = [2000, 5000, 13000]; n_hg = [50, 100, 60]; B = 4000; a_h = 1; C_h = 1311000; c_bar = 4000; w_g = [0.5, 1.25, 3.25]; CM_h = 345; CMI_h = 1.642857; P_h = 1380000; R_h = 0.95

    Excel: =SUMPRODUCT(SampleCases,SampleMeanCost)/SUM(SampleCases) in a cell named RefUnitCost; =SampleMeanCost/RefUnitCost beside each group, giving the range GroupWeights; =SUMPRODUCT(HospitalCases,GroupWeights) in a cell named Casemix; then =Casemix/SUM(HospitalCases) for the average weight, =Casemix*BaseRate*HospitalAdj for the payment and =HospitalCost/(Casemix*RefUnitCost) for the cost ratio. All ranges are the same size and in the same group order.

    R: case_weights <- function(n_k, cbar_k, n_hg, B, a_h, C_h) { cbar <- sum(n_k * cbar_k) / sum(n_k); w <- cbar_k / cbar; cm <- sum(n_hg * w); list(cbar = cbar, w = w, cm = cm, cmi = cm / sum(n_hg), pay = cm * B * a_h, ratio = C_h / (cm * cbar)) } Returns a list; for example case_weights(c(600, 300, 100), c(2000, 5000, 13000), c(200, 50, 10), 4000, 1, 858000)[["ratio"]] gives 1.1.

    Python: def case_weights(n_k, cbar_k, n_hg, B, a_h, C_h): cbar = sum(n * c for n, c in zip(n_k, cbar_k)) / sum(n_k); w = [c / cbar for c in cbar_k]; cm = sum(n * x for n, x in zip(n_hg, w)); return {"cbar": cbar, "w": w, "cm": cm, "cmi": cm / sum(n_hg), "pay": cm * B * a_h, "ratio": C_h / (cm * cbar)} Takes lists in the same group order and returns a dictionary of the outputs.

    Test (Weights average 1 over the costing sample): The case-weighted mean of the weights is 1. Expected result: TRUE. Excel check: =ABS(SUMPRODUCT(SampleCases,GroupWeights)/SUM(SampleCases)-1)<1E-9

    Test (Casemix priced at the reference cost equals the cases priced at group means): The casemix multiplied by RefUnitCost equals the hospital's cases priced at the group mean costs. Expected result: TRUE. FALSE shows weights scaled to another reference or ranges in different group orders. Excel check: =ABS(Casemix*RefUnitCost-SUMPRODUCT(HospitalCases,SampleMeanCost))<1E-6

    Common error (Ranges in different group orders): If the hospital's cases are listed in the order C, B, A while the weights run A, B, C, Hospital X's casemix becomes 10 × 0.50 + 50 × 1.25 + 200 × 3.25, or 717.5 instead of 195 (computed here for illustration), and its cost ratio falls from 1.10 to about 0.30. SUMPRODUCT does not check that the groups match.

    Source: Busse R, Geissler A, Quentin W, Wiley M, editors. Diagnosis-Related Groups in Europe. Maidenhead: Open University Press; 2011. Chapter 6 (Cots et al.), p. 78, on computing relative weights from average costs, and Chapter 14 (Geissler et al.), p. 250, on casemix as the sum of cost weights and the case mix index as casemix divided by cases.

    c_bar = sum(n_k * c_bar_k) / sum(n_k); w_g = c_bar_k / c_bar; CM_h = sum(n_hg * w_g); CMI_h = CM_h / sum(n_hg); P_h = CM_h * B * a_h; R_h = C_h / (CM_h * c_bar)

Try this function

Implementations

  • Excel

    Case weight from group mean costs with SUMPRODUCT

    With the cases and mean costs of every group of the costing sample in equal-sized ranges named SampleCases and SampleMeanCost, and the mean cost of the group of interest in a cell named ThisGroupMeanCost, Excel returns the group's weight.

    =ThisGroupMeanCost/(SUMPRODUCT(SampleCases,SampleMeanCost)/SUM(SampleCases))

Assumptions

  • One costing sample, cost scope and year for all case weights

    All group means come from the same costing sample, cost scope and year, so every weight is scaled to the same average case. IHACPA, for example, removes depreciation and other capital costs and direct teaching, training and research costs before it sets cost weights for admitted acute care.

  • Groups homogeneous enough in cost for a group mean

    Cases within a group are similar enough in cost for the group mean to stand for them. The weight then gives the expected cost of an average case in the group and says nothing about what one patient will cost; trim points and outlier rules decide how far extreme cases shape it.

Worked examples

  • Weight of illustrative group B in the case weight article

    In the article's illustrative costing sample, groups A, B and C have 600, 300 and 100 cases with mean costs of £2,000, £5,000 and £13,000. The overall mean is £4,000,000 over 1,000 cases, or £4,000, so group B's weight is 5,000 / 4,000 = 1.25.

    n_k = [600, 300, 100]; c_bar_k = [2000, 5000, 13000]; K = 3; c_bar_g = 5000; c_bar = 4000; w_g = 1.25
  • Weight of illustrative group C in the case weight article

    From the same sample, group C's mean cost of £13,000 gives a weight of 13,000 / 4,000 = 3.25, and group A's £2,000 gives 0.50. The case-weighted average of the three weights is 1.

    n_k = [600, 300, 100]; c_bar_k = [2000, 5000, 13000]; K = 3; c_bar_g = 13000; c_bar = 4000; w_g = 3.25

Common errors

  • Scaling case weights by the unweighted mean of group means

    Taking the simple average of £2,000, £5,000 and £13,000 gives about £6,667 instead of the case-weighted £4,000, and weights of 0.30, 0.75 and 1.95 (computed here for illustration). Their case-weighted average is 0.6, not 1, so every payment at the same base rate falls by 40%.

  • Comparing case weights across systems or years

    A weight is scaled to the average case of its own costing sample. One NWAU, one Medicare weight unit and an implicit HRG weight refer to different averages, so their values are not comparable, and a weight from one year is not paired with a base rate set for another.

Sources

  • European Observatory description of DRG relative weights

    Busse R, Geissler A, Quentin W, Wiley M, editors. Diagnosis-Related Groups in Europe: Moving towards transparency, efficiency and quality in hospitals. Maidenhead: Open University Press, European Observatory on Health Systems and Policies Series; 2011. Chapter 6 (Cots et al.), p. 78: DRG relative weights computed, in greatly simplified terms, by dividing the average cost of cases in a DRG by the average treatment cost of all cases in a country, a weight of one marking a DRG whose cases cost the same as the average case.

    View source →

  • Medicare payment weights based on average resources per DRG

    Centers for Medicare & Medicaid Services. Acute Inpatient PPS. Baltimore, MD: CMS; accessed 2 October 2026. Each DRG has a payment weight based on the average resources used to treat Medicare patients in that DRG.

    View source →

  • IHACPA inlier and outlier cost model and cost scope for admitted acute care

    Independent Health and Aged Care Pricing Authority. National Pricing Model Technical Specifications 2026-27. Sydney: IHACPA; March 2026. Section 2.1.2 (p. 11), which removes depreciation and other capital costs and excludes direct teaching, training and research costs from the admitted acute cost model, and Section 2.2.8 (p. 18), the AR-DRG inlier/outlier model with a mean cost for inlier episodes, a base amount plus a per diem for long-stay outliers and calibration of modelled to actual costs. Read at the Internet Archive copy of 18 May 2026; live file https://www.ihacpa.gov.au/sites/default/files/2026-03/National_Pricing_Model_Technical_Specifications_2026-27.PDF.

    View source →

Canonical Identity

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