A fuel sub-metering mechanism for two or more appliances (27, 28 and 29), each appliance of the two or more appliances (27, 28 and 29) having a firing rate indicator and an individual fuel line, each individual fuel line is connected to a main fuel line having a meter configured to provide signals (36, 37 and 38) indicating total fuel consumption by the two or more appliances (27, 28 and 29), the mechanism comprising: a processor configured to be connected to the firing rate indicators and to the meter; and a controller (31, 32 and 33) at each appliance (27, 28 and 29) that is configured to: control an amount of fuel in the individual fuel line connected to the appliance (27, 28 and 29) via a firing rate signal (44, 45, 46); provide to the processor a series of firing rate signals (44, 45, 46) that commands the amount of fuel to the appliance (27, 28 and 29) by controlling the amount of fuel in the individual fuel line connected to the appliance (27, 28 and 29) via the firing rate signal (44, 45, 46); and wherein the processor is further configured to provide an estimate of an amount of fuel consumed by each of the two or more appliances (27, 28 and 29) derived from the series of firing rate signals (44, 45, 46) and from the signals from the meter indicating total fuel consumption by the two or more appliances (27, 28 and 29), characterized in that the estimate of the amount of fuel consumed by each of the two or more appliances (27, 28 and 29) incorporates an approach comprising: selecting one or more input variables; selecting a model type function to determine a structure of a model; initializing parameters of the model with data; updating the parameters of the model with input variables and the total fuel consumption data; using updated parameters of the model and input variables data to disaggregate total fuel consumption; and normalizing the disaggregation having a total sum of disaggregated consumptions equal to overall fuel consumption to obtain a disaggregated consumption in a sub-metering estimate of fuel consumed by each appliance (27, 28 and 29). a processor configured to be connected to the firing rate indicators and to the meter; and a controller (31, 32 and 33) at each appliance (27, 28 and 29) that is configured to: control an amount of fuel in the individual fuel line connected to the appliance (27, 28 and 29) via a firing rate signal (44, 45, 46); provide to the processor a series of firing rate signals (44, 45, 46) that commands the amount of fuel to the appliance (27, 28 and 29) by controlling the amount of fuel in the individual fuel line connected to the appliance (27, 28 and 29) via the firing rate signal (44, 45, 46); and control an amount of fuel in the individual fuel line connected to the appliance (27, 28 and 29) via a firing rate signal (44, 45, 46); provide to the processor a series of firing rate signals (44, 45, 46) that commands the amount of fuel to the appliance (27, 28 and 29) by controlling the amount of fuel in the individual fuel line connected to the appliance (27, 28 and 29) via the firing rate signal (44, 45, 46); and wherein the processor is further configured to provide an estimate of an amount of fuel consumed by each of the two or more appliances (27, 28 and 29) derived from the series of firing rate signals (44, 45, 46) and from the signals from the meter indicating total fuel consumption by the two or more appliances (27, 28 and 29), characterized in that the estimate of the amount of fuel consumed by each of the two or more appliances (27, 28 and 29) incorporates an approach comprising: selecting one or more input variables; selecting a model type function to determine a structure of a model; initializing parameters of the model with data; updating the parameters of the model with input variables and the total fuel consumption data; using updated parameters of the model and input variables data to disaggregate total fuel consumption; and normalizing the disaggregation having a total sum of disaggregated consumptions equal to overall fuel consumption to obtain a disaggregated consumption in a sub-metering estimate of fuel consumed by each appliance (27, 28 and 29). selecting one or more input variables; selecting a model type function to determine a structure of a model; initializing parameters of the model with data; updating the parameters of the model with input variables and the total fuel consumption data; using updated parameters of the model and input variables data to disaggregate total fuel consumption; and normalizing the disaggregation having a total sum of disaggregated consumptions equal to overall fuel consumption to obtain a disaggregated consumption in a sub-metering estimate of fuel consumed by each appliance (27, 28 and 29).