Skip to content
English
  • There are no suggestions because the search field is empty.

Getting Started with Intensity Metrics

Track how efficiently your business reduces emissions by measuring tCO₂e relative to your operational activity, such as per shipment, per tonne-kilometre, or per unit sold

Overview

Intensity Metrics is an analysis capability in Cozero that lets you measure how efficiently your business is reducing emissions, not just in absolute terms, but relative to your actual business activity. Instead of only seeing total tCO₂e, you can track metrics like tCO₂e per shipment, tCO₂e per tonne-kilometre, or emissions per € of revenue, directly inside the platform.

The feature has grown in two directions. You can build log entry-level intensities flexibly, reusing activity data you already log or combining several inputs across units with a formula builder. And, you can also bring in company-level figures that never lived on any individual log entry (revenue, headcount/FTE, floor area, or anything else you only ever held as an aggregate) and use them directly as a numerator or denominator. That closes the gap on questions like "what are our emissions per employee?" or "is our carbon intensity per € of revenue improving as we grow?", which previously required, to be worked out by hand in a spreadsheet, joining exported emissions data to finance and HR figures every quarter.

Who is this for?

Intensity Metrics is available to all CCF (Corporate Carbon Footprint) customers, with a particular focus on:

  • Sustainability leads and data teams reporting intensity KPIs to leadership
  • Data and operations teams in logistics, industrial, and retail segments, where operational volume metrics (per shipment, per tkm, per unit sold) are business-critical
  • Finance-adjacent stakeholders who own revenue figures, now that revenue lives inside this feature

Creating or editing custom inputs, company-level inputs, or formulas is limited to Admin/Manager roles. Everyone else can view results.

How to access it

Intensity Metrics is accessible in two places:

Results view: Navigate to Overview → Intensity Metrics in the left sidebar.

Admin configuration: Navigate to Organisation Settings → Business Metrics to define and manage your custom operational inputs, and to build formulas.

Key indicators that the feature is active:

  • The Intensity Metrics page appears under the Overview section
  • The Business Metrics tab is visible in Organisation Settings (Admin/Manager roles only)

Video walkthrough

Part 1: Log entry-level intensity metrics

 

Part 2: Formula builder & activity-based inputs

 

Part 3: Company-level intensity metrics 

 

Step-by-step guide

Step 1: Choose how you'll measure, reuse existing data or create a custom input

  1. Navigate to Organisation Settings → Business Metrics.
  2. Reuse data you already log: on the numerator/denominator dropdown, select the "Enabled" activities source. A guided picker walks you through calculation method → input/unit → optional business activity, e.g. Biodiesel · Fuel consumption · litres or All activities · Mass and distance of goods transported (tkm). A live count shows how many log entries already carry this input, so you can sanity-check coverage before confirming. No new custom input, no double-logging.
  3. Or create a new custom input (as before): click "Create new," define a name (e.g. "Number of Shipments"), a unit, and the subcategories where the field should appear on log entries.

Pre-built inputs: Spend (€) and Energy consumption (kWh) remain available by default, since these values are already stored on existing log entries.

Access control: Only Admin and Manager roles can create, edit, or archive custom inputs or formulas. A custom input cannot be deleted once it has been used in at least one log entry.

Step 2: Build a formula when no single input fits (new)

  1. If your numerator or denominator needs to combine values across units (e.g. diesel litres + biodiesel litres, or kg + tonnes), select "+ Create custom formula".
  2. Build each side of the formula as a sum of terms (using +/-), each term is a product or quotient of factors (using x/÷), each factor is a data property times an optional coefficient. Example: total weight = (weight_kg × 0.001) + weight_t.
  3. A live preview shows a sample value and data coverage before you save. Saved formulas then become selectable options everywhere else in the feature.

Watchouts: the formula builder doesn't do automatic unit conversion; you set the coefficient and declare the result-unit label yourself, and the live preview is your check. Nested expressions like (A + B) × C aren't currently supported.

Step 3: Or, create a company-level input for figures you only hold as an aggregate (new)

Use this path for figures like revenue, headcount/FTE, or floor area: anything that exists as a company total rather than something you'd log against an individual transaction.

  1. In Business metrics, click "Create new" and choose the company-level input option. Give it a name and a unit.
  2. Pick the granularity at which you'll enter values: yearly, quarterly, or monthly.
  3. Pick the aggregation mode for how the metric should roll up over time: Sum for flow figures like revenue, Average for a mean across periods, or Last value for point-in-time stock figures like FTE or floor area. This governs time roll-up only (e.g. whether a yearly view of quarterly m² shows an average or the latest quarter); it does not control how values behave across entities.
  4. On the metric's data page, add entity → value rows as a dynamic list: choose the level (organisation, business unit, or location) for each row. One definition, e.g. "Employees FTE," is a single reusable container that can hold values for all your sites and periods.
  5. A completeness indicator (e.g. "8 of 12 months complete for 2026") shows what's still missing, and you can preview the resulting intensity before saving.

Limitation: company-level values are entered manually. Bulk upload for these figures (e.g. an Excel file with floor area for 50 locations) isn't supported yet.


Step 4: Log custom input values alongside activity data

(Only needed if you created a new custom input in Step 1; skip this if you're reusing existing activity data.)

Single log creation:

  1. Open/create a log entry in a subcategory linked to a custom input.
  2. Fill in the optional intensity metric field (e.g. "500" for Number of Shipments). The field can be left empty; it will not block saving the log entry.

Bulk upload:

  1. Download a fresh CCF bulk upload template from the platform. Intensity metric columns are dynamically added based on your organisation's configured custom inputs.
  2. Populate the new columns in the template.
  3. Upload as usual.

Step 5: View, analyse, and export results

  1. Navigate to Overview → Intensity Metrics.
  2. Select a numerator/denominator: from custom inputs, pre-built values (Spend/Energy), reused activity data, a saved formula or a company-level input. You can flexibly assign the selected input as numerator or denominator: e.g. show tCO₂e per shipment or shipments per tCO₂e.
  3. Filter and split/group results by business activity, BU, location, supplier, territory, and tags. Filters adapt to the metric you've selected: irrelevant ones (e.g. a log-category filter on a floor-area metric) are hidden.
  4. Switch chart type (line, bar, or pie) and the emissions unit (t, kg, or g) for better legibility.
  5. Switch time aggregation: monthly / quarterly / yearly.
  6. Optionally toggle the secondary y-axis to compare absolute emissions alongside intensity values in a combined bar-line chart.
  7. Check the coverage indicator (log entry-level inputs only, see below) or the completeness indicator (company-level inputs) to understand how representative your data is.
  8. Export: download the current visual as PNG/SVG, the underlying data as CSV/XLSX, or pull intensity results via the API for your own reporting pipelines and BI tools.

All settings (date range, selected metric, filters, group-by, and time interval) are automatically saved per user across sessions.

Custom intensity inputs are now also visible as columns in the Log Entry Overview (LEO), and on the log entry detail page.

Spend-based metric, made simpler: the spend-based intensity metric automatically combines your primary spend-based calculation method inputs with the optional "Amount spent" field in the respective currency, showing "emissions per spent" as a single clean metric instead of multiple overlapping ones.

Understanding the coverage indicator

The coverage indicator shows the percentage of log entries in your selected scope that have a value recorded for the chosen input. This is a data quality signal, not an error.

For example, if you have 1,000 transport log entries but only 600 include a value for "Number of Shipments," the coverage indicator will show 60%. A lower coverage rate means the intensity metric chart is based on a partial view of your data, which is useful to know before presenting results to stakeholders.

The coverage indicator applies to log entry-level inputs. For company-level inputs, look at the completeness indicator on the metric's data page instead (e.g. "8 of 12 months complete for 2026").

Understanding how company-level values resolve across your organisation

Company-level values don't automatically roll up or break down across your business units and locations. This is a deliberate design choice to prevent double-counting, and it's worth understanding before you rely on the numbers:

  • With no BU or location filter applied, the report shows the value logged at the organisation level, never a sum of child BUs or locations. If no organisation-level value exists, you'll see "no data," even if BU-level values are logged underneath it.
  • Filtering to a specific BU or location shows that entity's own value, or "no data" if none is logged for it.
  • This means, for example, that an organisation-wide revenue figure of €1m and ten business units each logging €100k will never be added together into €2m. You'll see €1m at the organisation level, and each BU's own €100k when you filter to it.
  • The aggregation mode (Sum/Average/Last value) only governs how a metric behaves over time within one entity, for example, whether a yearly view of quarterly floor-area values shows an average or the latest quarter. It has no effect on how values behave across entities.

In short: enter values at the level you want to report on, and use filters deliberately rather than expecting the platform to add levels together for you.

Frequently asked questions

Do I need to re-enter Spend or Energy data to use those as denominators? No. Spend (€) and Energy consumption (kWh) are pre-built denominators. Cozero reuses values already stored on your existing log entries, no re-entry needed.

Can I reuse other activity data I already log, not just Spend and Energy? Yes. Use the "Enabled" activities source on the numerator/denominator dropdown and the guided picker to select any input already present on your log entries (e.g. fuel litres, tonne-km transported), with a live count showing how many entries carry it.

Can I combine several log entry-level inputs that are in different units? Yes, using the formula builder. You define numerator/denominator as a combination of inputs using +, -, x, ÷, with a live preview before saving. Note that unit conversion isn't automatic; you set the coefficients and label the result yourself.

Can I create nested formulas, like (A + B) × C? Not currently. Formulas support a flat sum of terms (each term being a product/quotient of factors); nested bracket expressions aren't supported yet.

Can I now calculate emissions per employee, per m², or per € of revenue? Yes, this is new. Enter revenue, headcount/FTE, floor area, or any other aggregate figure as a company-level input in Business metrics, then select it as a numerator or denominator on the Intensity Metrics results page, exactly like any other input.

My organisation only has these figures as company-wide or period-level totals (e.g. total headcount per year), not per log entry. Can I still use this feature? Yes. That's exactly what company-level inputs are for: you enter the figure directly, at the granularity and scope you choose, with no log entry required.

Why doesn't a company-level value roll up automatically across my business units or locations? This is deliberate, to avoid double-counting. See "Understanding how company-level values resolve across your organisation" above for the full explanation.

Can I bulk upload company-level values, e.g. an Excel file with floor area for 50 locations? Not yet. Company-level values are entered manually, one entity/period row at a time.

What happened to the separate Revenue tab in Organisation Settings? It's been consolidated into Business metrics, where revenue can now be scoped to BU or location with yearly or quarterly granularity. The old tab now shows an info banner pointing here. Your existing revenue values and any revenue-based reports keep working as before.

Which aggregation mode should I pick for a company-level metric? Use Sum for flow figures that should add up over a period (like revenue), Average for a mean across periods, and Last value for point-in-time stock figures (like FTE or floor area) where a period-end snapshot makes more sense than a total.

Who can create custom inputs, company-level inputs, or formulas? Only users with the Admin or Manager role.

Can I delete a custom input after it has been used? No. Once a custom input has been used in at least one log entry, it cannot be archived or deleted, to protect data integrity.

Can I export the intensity charts or data? Yes. You can export the current visual as PNG or SVG, and the underlying data as CSV or XLSX. Intensity metric results are also available via the API for BI tools and reporting pipelines.

Can I set intensity-based reduction targets (e.g. reduce tCO₂e per shipment by 30%)? Not yet. Intensity-based target-setting in the ACT module is under consideration for a future iteration.

What if my data has gaps, not every log entry has a denominator value? That's expected and supported for log entry-level inputs. The field is always optional, and the coverage indicator shows exactly what share of entries carry a value.

Questions or Feedback

If you run into any issues during the usage of the feature or have questions about the process, contact us at support@cozero.io.