| Title: | Predict Carbon Emissions for UK SMEs | 
| Version: | 2.0.0 | 
| Description: | Predict Scope 1, 2 and 3 carbon emissions for UK Small and Medium-sized Enterprises (SMEs), using Standard Industrial Classification (SIC) codes and annual turnover data, as well as Scope 1 carbon emissions for UK farms. The 'carbonpredict' package provides single and batch prediction, plotting, and workflow tools for carbon accounting and reporting. The package utilises pre-trained models, leveraging rich classified transaction data to accurately predict Scope 1, 2 and 3 carbon emissions for UK SMEs as well as identifying emissions hotspots. It also provides Scope 1 carbon emissions predictions for UK farms of types: Cereals ex. rice, Dairy, Mixed farming, Sheep and goats, Cattle & buffaloes, Poultry, Animal production and Support for crop production. The methodology used to produce the estimates in this package is fully detailed in the following peer-reviewed publication in the Journal of Industrial Ecology: Phillpotts, A., Owen. A., Norman, J., Trendl, A., Gathergood, J., Jobst, Norbert., Leake, D. (2025) <doi:10.1111/jiec.70106> "Bridging the SME Reporting Gap: A New Model for Predicting Scope 1 and 2 Emissions". | 
| License: | MIT + file LICENSE | 
| URL: | https://github.com/david-leake/carbonpredict | 
| Encoding: | UTF-8 | 
| Depends: | R (≥ 3.5.0) | 
| RoxygenNote: | 7.3.3 | 
| Imports: | dplyr, ggplot2, progress, lmerTest, networkD3, htmltools, htmlwidgets | 
| Suggests: | testthat (≥ 3.0.0), mockery, png, grid | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-10-29 15:19:30 UTC; Hamza | 
| Author: | Hamza Suleman [aut, cre, cph], Alec Phillpotts [ctb, aut], Jasmine Wells [ctb, aut], David Leake [ctb, aut] | 
| Maintainer: | Hamza Suleman <Hamza.Suleman@lloydsbanking.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-10-29 15:50:02 UTC | 
Batch Predict Emissions
Description
Prediction entry point for batch SME and Farms emissions
Usage
batch_predict_emissions(data, output_path = NULL, company_type = "sme")
Arguments
| data | A single entry (list or named vector), a data frame, or a path to a CSV file. The data should contain company_name, 2-digit UK sic_code, and annual turnover columns. | 
| output_path | Optional file path to save the results as a CSV. If NULL, results are not saved to a file. | 
| company_type | A single parameter "sme" or "farm" to determine which emission prediction functions to call (defaults to "sme"). | 
Value
A data frame with input columns and predicted emissions for each scope (in tCo2e). Optionally saved to a CSV file.
Examples
sample_data <- read.csv(system.file("extdata", "sme_examples.csv", package = "carbonpredict"))
sample_data <- head(sample_data, 3)
batch_predict_emissions(data = sample_data, output_path = NULL, company_type = "sme")
Batch SME Plots
Description
Batch plot SME Scope 1 & 2 emissions
Usage
batch_sme_plots(data, output_path = NULL)
Arguments
| data | A data frame or path to a CSV file with columns "sic_code", "turnover", and optionally "company_name". | 
| output_path | Optional directory to save plots. If NULL, plots are not saved. | 
Value
Donut chart plots showing scope 1 and 2 predicted emissions (in tCo2e) for each row in the data. Optionally saved to a directory as PNG files.
Examples
sample_data <- read.csv(system.file("extdata", "sme_examples.csv", package = "carbonpredict"))
sample_data <- head(sample_data, 3)
batch_sme_emissions <- batch_predict_emissions(
data = sample_data,
company_type = "sme",
output_path = NULL)
batch_sme_plots(data = batch_sme_emissions, output_path = NULL)
Predict Farm Scope 1 Emissions
Description
This function loads a pre-trained emission model to predict scope 1 carbon emissions for a British farm. The function predicts emissions for the following farm types: "Cereals ex. rice", "Dairy", "Mixed farming", "Sheep and goats", "Cattle & buffaloes", "Poultry", "Animal production", "Support for crop production".
Usage
farms_scope1(
  sic_code,
  farm_area,
  no_beef_cows,
  no_dairy_cows,
  no_pigs,
  no_sheep,
  annual_revenue,
  annual_fuel_spend
)
Arguments
| sic_code | A 4-digit UK SIC code (numeric). | 
| farm_area | Farm area in hectares. | 
| no_beef_cows | Number of beef cows. | 
| no_dairy_cows | Number of dairy cows. | 
| no_pigs | Number of pigs. | 
| no_sheep | Number of sheep. | 
| annual_revenue | Annual revenue (£) | 
| annual_fuel_spend | Annual fuel spend (£) | 
Value
A dataframe with predicted emissions (tCO2e)
Examples
farms_scope1(
sic_code = 1110,
farm_area = 1113,
no_beef_cows = 25,
no_dairy_cows = 8,
no_pigs = 18,
no_sheep = 29,
annual_revenue = 2986511,
annual_fuel_spend = 209055)
Plot Scope 3 Emissions Breakdown
Description
Plots a Sankey diagram showing the breakdown of Scope 3 emissions by category.
Usage
plot_scope3_emissions(scope3_df, company_name = NULL)
Arguments
| scope3_df | Data frame output from sme_scope3 (must contain 'Category', 'Description', and 'Predicted Emissions (tCO2e)'). | 
| company_name | Optional company name to include in the chart title (character string). | 
Value
A Sankey plot showing a breakdown for predicted emissions of each Scope 3 category.
Examples
scope3_df <- sme_scope3(85, 12000000)
plot_scope3_emissions(scope3_df, company_name = "Carbon Predict LTD")
Plot SME Emissions
Description
Plot a donut chart of Scope 1,2 and 3 emissions
Usage
plot_sme_emissions(
  scope1_emissions,
  scope2_emissions,
  scope3_emissions,
  company_name = NULL
)
Arguments
| scope1_emissions | Value for total Scope 1 emissions (numeric). | 
| scope2_emissions | Value for total Scope 2 emissions (numeric). | 
| scope3_emissions | Value for total Scope 3 emissions (numeric). | 
| company_name | Optional company name to include in the chart title (character string). | 
Value
A ggplot2 donut chart showing predicted emissions for each scope.
Examples
scope_1 = sme_scope1(85, 12000000)
scope_2 = sme_scope2(85, 12000000)
scope_3 = sme_scope3(85, 12000000)
plot_sme_emissions(
scope1_emissions = scope_1$`Predicted Emissions (tCO2e)`,
scope2_emissions = scope_2$`Predicted Emissions (tCO2e)`,
scope3_emissions = scope_3[scope_3$Category == "Total", "Predicted Emissions (tCO2e)"][[1]],
company_name = "Carbon Predict LTD")
SME Emissions Profile
Description
Calls the Scope 1, 2 and 3 emissions prediction functions and returns their results as a list and plots a donut chart
Usage
sme_emissions_profile(sic_code, turnover, company_name = NULL)
Arguments
| sic_code | A 2-digit UK SIC code (numeric). | 
| turnover | Annual turnover value (numeric). | 
| company_name | Optional company name for labeling plots (character string). | 
Value
A list with four elements: scope1, scope2 scope3, scope3_hotspots, each containing the predicted carbon emissions data frame (in tCo2e), the top 5 scope 3 emissions hotspots, as well as a donut chart and Sankey diagram showing the emissions breakdowns.
Examples
sme_emissions_profile(sic_code = 85, turnover = 12000000, company_name = "Carbon Predict LTD")
Predict SME Scope 1 Emissions
Description
This function loads a pre-trained emission model to predict scope 1 carbon emissions for a given SIC code and turnover.
Usage
sme_scope1(sic_code, turnover)
Arguments
| sic_code | A 2-digit UK SIC code (numeric). | 
| turnover | Annual turnover value (numeric). | 
Value
A data frame with predicted emissions (in tCo2e).
Examples
sme_scope1(sic_code = 85, turnover = 12000000)
Predict SME Scope 2 Emissions
Description
This function loads a pre-trained emission model to predict scope 2 carbon emissions for a given SIC code and turnover.
Usage
sme_scope2(sic_code, turnover)
Arguments
| sic_code | A 2-digit UK SIC code (numeric). | 
| turnover | Annual turnover value (numeric). | 
Value
A data frame with predicted emissions (in tCo2e).
Examples
sme_scope2(sic_code = 85, turnover = 12000000)
Predict SME Scope 3 Emissions
Description
This function loads pre-trained emissions models to predict scope 3 carbon emissions for a given SIC code and turnover.
Usage
sme_scope3(sic_code, turnover)
Arguments
| sic_code | A 2-digit UK SIC code (numeric). | 
| turnover | Annual turnover value (numeric). | 
Value
A data frame with predicted emissions (in tCo2e) for each scope 3 category.
Examples
sme_scope3(sic_code = 85, turnover = 12000000)
Predict Top 5 SME Scope 3 Emissions Hotspots
Description
This function uses pre-computed results to predict the top 5 scope 3 carbon emissions hotspots for a given SIC code.
Usage
sme_scope3_hotspots(sic_code)
Arguments
| sic_code | A 2-digit UK SIC code (numeric). | 
Value
A data frame with the top 5 emissions hotspots for scope 3.
Examples
sme_scope3_hotspots(sic_code = 85)