FunnelPlotR

1 FunnelPlotR - v0.3.1

FunnelPlotR helps you build funnel plot for comparing institutional performance, including ratios of counts, proporitons and indirectly standardised ratios, such as the Summary Hospital-level Mortality Index (SHMI). It allows you to make overdispersion (OD) adjustments, draws plots, and labels outliers in ggplot2.

This is an implementation of the plot processes, and overdispersion methods described in:
Statistical methods for healthcare regulation: rating, screening and surveillance. Spiegelhalter et al (2012)
Funnel plots for comparing institutional performance. Spiegelhalter (2004)
Handling over-dispersion of performance indicators. Spiegelhalter (2005)

It allows users to specify whether they want ‘overdispersed’ limits, or unadjusted Poisson limits. OD adjustment is performed using z-score transformation, with outliers adjusted, before calculating a dispersion ratio (phi). This ratio is then used this to calculate a ‘between’ units standard deviation (tau) to add to the ‘within’ units standard deviation (sigma). The amount of outlier adjustment (Winsorisation) can be changed, but defaults to 10% at each end of the distribution.

There is a variant method for this, described in the NHS’ Summary Hospital Mortality Indicator’
Summary Hospital-level Mortality Indicator, NHS Digital, SHMI specification
This uses a log-transformation and truncation of the distribution for calculating overdispersion, whereas Spieglehalter’s methods use a square-root transformation and Winsorisation, for indirectly standardised indicators.



This package was originally developed for use in my PhD project, but published on GitHub in case it’s of use for others. It has now been submitted to CRAN for publication.

v0.2.0 This is the first CRAN release of FunnelPlotR, for building funnel plots of indirectly standardised ratios, such as hospital mortality ratio. It allows adjustment of funnel limits for overdispersion. Future releases will extend functionality to proportions and ratios of counts. This package replaces the earlier CMFunnels package, that was only released on GitHub.

v0.2.1: Hides internal functions, removed unnecessary function, typos and scaling bug fixed. Added new custom scaling functions.

v0.2.2: Minor bug fix for discrepancy between documentation and function defaults

v0.3.1: Major update adding: methods for ratios of counts and proportions, better control of scaling, limits and outlier settings, control of themes and colour options. Internals were significantly reordered, and converted to S3 system with new methods for extracting elements. New vignette added to show formatting options!

For more information, see:

This package is the newer version of the older CMFunnels package. Development work will focus on this package from now on

Chris Mainey
Chris Mainey
Deputy Director of Specialist Analytics

NHS Data Scientist and analytical leader with interests in statistical modelling and machine learning in healthcare data.