FP, MFP and all the extensions have been programmed by Patrick Royston in Stata. FP (commands fracpoly and fp) and MFP (command mfp) have been ‘factory’ routines, i.e. standard parts of Stata, for many years.

The following articles have appeared in the Stata Journal.

In addition, the FP- or MFP-related packages listed below are available for download within Stata from Royston's UCL website via the following Stata command:

  • net from
  • fp_plus: Extensions to mfp and fracpoly supporting factor variables
  • fracpoly_powers: Extensions to mfp and fracpoly supporting factor variables
  • metacurve: Meta analysis of a continuous covariate
  • mfpboot: Bootstrapping MFP models for stability analysis
  • mfpi: Modelling interactions between categorical and continuous variables
  • mfpigen: Modelling interactions between continuous variables
  • mfpmi: MFP for multiply imputed data
  • stpmfp: Flexible parametric survival modelling with fractional polynomials
  • stmfpt: Multivariable Cox models with time-dependent covariate effects


MFP in R

The MFP in R software is implemented in two packages: mfp (Ambler G, and Benner A, 2023) and mfp2 (Kipruto E, Kammer M, Royston P, Sauerbrei W, 2023). The main advantage of mfp2 relative to mfp is informative output, computational efficiency, the ability to model sigmoid functions, availability of plotting functions and an additional interface that takes response y and design matrix X. The output of mfp2 is similar to mfp in Stata.



MFP is also available as a SAS macro.


For more details see Sauerbrei et al (2006): Multivariable regression model building by using fractional polynomials: description of SAS, STATA and R programs.