% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/risk.R
\name{gb_risk_register}
\alias{gb_risk_register}
\title{Build a risk register with monetised exposure}
\usage{
gb_risk_register(risks, appraisal = NULL)
}
\arguments{
\item{risks}{A data frame with columns \code{id}, \code{description},
\code{probability} (numeric in \verb{[0, 1]}), \code{impact_gbp} (numeric).
Optional columns: \code{category}, \code{mitigation} (character).}

\item{appraisal}{Optional \code{gb_appraisal}. If supplied, returns a
risk-adjusted NPV: \code{appraisal$npv - sum(probability * impact)}.}
}
\value{
A \code{gb_risk_register} object.
}
\description{
Creates a \code{gb_risk_register} from a data frame of project risks.
Computes expected loss per risk (probability times impact) and
aggregate exposure. Optionally applied to a \code{gb_appraisal} to
produce a risk-adjusted NPV.
}
\details{
HM Treasury business case guidance requires a risk register with
monetised exposure for the OBC and FBC stages. \code{gb_risk_register}
standardises the structure: every risk has an id, a probability,
a monetary impact, and an expected loss. Aggregation is by category
if the column is present.
}
\examples{
risks <- data.frame(
  id = c("R1", "R2", "R3"),
  description = c("Planning delay", "Cost overrun", "Lower demand"),
  category = c("schedule", "cost", "demand"),
  probability = c(0.30, 0.50, 0.20),
  impact_gbp = c(2e6, 5e6, 10e6)
)
gb_risk_register(risks)
}
\references{
HM Treasury (2018). The Orange Book: Management of
Risk - Principles and Concepts.
}
\seealso{
\code{\link[=gb_appraise]{gb_appraise()}}.

Other appraisal: 
\code{\link{gb_appraise}()},
\code{\link{gb_compare}()},
\code{\link{gb_economic_case}()},
\code{\link{gb_place_based}()},
\code{\link{gb_progression}()},
\code{\link{gb_sensitivity_ob}()},
\code{\link{gb_validate}()}
}
\concept{appraisal}
