On This Page
The purpose of this document is to provide a transparent account of how CarbonGraph models, calculates, and communicates life cycle results. It is designed to give confidence in both our methodology and our platform by explaining the principles behind our calculation logic, the structure of our models, and how our outputs align with established LCA and EPD standards.
This report serves multiple audiences, including:
This document functions as a white paper on CarbonGraph’s modeling philosophy and methodology, offering the clarity needed to build trust across users, auditors, and the wider community. By openly describing how our system works, we aim to set a new benchmark for transparency in digital LCA platforms.
At the highest level, our modeling philosophy can be summarized in three guiding principles:
This foundation—transparent, graph-based, visual-first modeling—enables CarbonGraph to support both expert practitioners and broader stakeholders. Models are modular, reusable, and auditable, encouraging a “don’t repeat yourself” approach that captures the unique details of each product without sacrificing clarity. With these principles, CarbonGraph delivers LCAs and EPDs that are technically rigorous, adaptable to different program requirements, and ultimately more trustworthy.
CarbonGraph’s approach to life cycle modeling is grounded in a clear set of principles and design decisions. These foundations shape how the platform is built, how models behave, and how results can be trusted and communicated.
Our guiding principles can be summarized as:
In terms of product design, CarbonGraph follows the principle of “low floor, high ceiling, wide walls.”
These principles are reinforced through key design decisions:
Finally, CarbonGraph is aligned with internationally recognized standards for life cycle assessment. Our methodology supports models that conform with:
Together, these philosophical foundations ensure that CarbonGraph is both accessible and rigorous, giving practitioners speed, control, and transparency without sacrificing methodological integrity.
At the heart of CarbonGraph’s calculation logic are processes and flows. These are the fundamental building blocks of every model and the basis for how life cycle systems are represented in the platform.
A process (sometimes called an activity in other LCA tools) defines everything needed to transform a set of inputs into a set of outputs. Each process has:
Processes represent a small slice of a supply chain. By linking many processes together, modelers can represent the entire life cycle of a product — from raw material extraction, through manufacturing and distribution, to use and end-of-life. This is what gives CarbonGraph its graph-based structure: each process is a node, and flows are the edges connecting them.
CarbonGraph distinguishes between different types of flows:
This unified treatment of flows means that CarbonGraph can track physical quantities, emissions, and costs all within the same modeling framework. Whether the flow represents steel, CO₂, or dollars, it is handled transparently and consistently as part of the life cycle system.
Why this matters
The first major calculation step in CarbonGraph is the life cycle inventory (LCI). This determines how much of each process in the model is required to satisfy the declared unit of the system.
CarbonGraph calculates the LCI by traversing the connected graph of processes and assigning each one a system-level scaling factor. This ensures that all upstream requirements are included in the correct proportions, so the declared unit can be traced consistently through every process and flow in the model.
How scaling works — an example
The declared unit is usually the final product at the right-most end of the graph, such as 1 kg of crude steel at the factory gate or 1 aluminum can delivered to a consumer. However, CarbonGraph also allows models to be re-based at an intermediate stage. For example, a practitioner may want to declare the unit as “1 ton of pig iron” instead of the finished product. The platform adjusts scaling automatically to reflect this choice.
By calculating system-level scaling factors in this way, CarbonGraph ensures that:
Why this matters
After the inventory is known, CarbonGraph translates flows into impacts via life cycle impact assessment (LCIA). Each elementary flow in the LCI is multiplied by a characterization factor (CF) from a chosen method to quantify its contribution to an impact category (e.g., global warming potential).
What LCIA does in practice
Concrete examples
Selecting characterization methods
How grouping and reporting work
Matrix view (for readers who like the math)
Why this matters
Not every life cycle model is straightforward. Real supply chains often include complexities like processes that don’t balance perfectly, multiple products leaving the same step, or different ways of grouping results for reporting. CarbonGraph is designed to handle these cases without sacrificing transparency or mathematical consistency.
Mass Balance
At the system level, CarbonGraph always assumes that what goes into a model must equal what comes out, scaled to the declared unit. This assumption is built into how the engine calculates scaling factors, so that the overall system is always balanced. At the process level, however, the platform gives modelers flexibility. Individual unit processes are not forced to close by default, because in practice, data may be incomplete or simplified. Instead, CarbonGraph provides optional checks that can alert a user if a process does not balance. This way, practitioners can explore and iterate while still maintaining confidence that the full system is coherent and auditable.
Aggregation
Once impacts are calculated, they often need to be reported in different formats depending on the audience. CarbonGraph uses a matrix-based approach that makes this flexible. The same underlying inventory can be grouped and reported by many different perspectives:
Importantly, these different groupings always sum back to the same overall inventory. This means users can cut the data many different ways — to meet reporting requirements, to highlight internal priorities, or to support enterprise-level roll-ups — while knowing that the math always reconciles.
Multi-Product Allocation
A common challenge in LCA is what to do when a process produces more than one useful output. For example, a steelmaking process may also generate slag, or a chemical plant may co-produce two market chemicals. In these cases, the environmental burdens of the process need to be divided among the different products in a way that is fair and transparent.
CarbonGraph supports all of the standard allocation approaches recognized by the LCA community:
CarbonGraph enforces its directed acyclic graph structure even in these cases by modeling co-products or waste treatments as negative flows. This means that if slag is considered a by-product of steelmaking, its treatment appears as a negative input into the system. This preserves mathematical consistency while still allowing the model to explicitly represent by-products, waste products, and recycling credits.
Unit Process Calculations
Each individual process in CarbonGraph can be thought of as a “mini-LCA.” A process has its own inputs, outputs, and impacts, and these are calculated in exactly the same way as for the system overall. This makes unit processes interpretable on their own and allows practitioners to zoom in and evaluate the contribution of a single step without having to look at the full model. It also makes it easier to review, because a verifier can inspect the details of a process independently.
Benchmarking & Validation
To ensure trust in the results, CarbonGraph has been benchmarked against leading reference datasets (e.g., ecoinvent, USLCI) and validated by comparing results with other LCA tools. When the same inputs are provided, CarbonGraph produces the same results, to within tiny differences caused only by floating point arithmetic. In addition, the platform is continuously tested with an automated suite of unit tests, which confirm that as new features are added, the core calculation logic remains stable and reliable.
Why this matters
Once a model has been built and calculated, it often needs to be reviewed, approved, or published. CarbonGraph supports this through a model versioning and locking system that ensures results remain stable over time.
How versioning and locking work
Characterization model support
At the time of committing a version, users can indicate which characterization methods the model supports (e.g., TRACI, ReCiPe, EF 3.1). This allows committed versions to serve as reusable building blocks in larger models, with confidence that they remain valid when applied upstream.
Visibility and permissions
All of these visibility options are enforced by the same row-level security controls in the database, ensuring that permissions are robust and reliable.
Why this matters
CarbonGraph allows models to include parameters — flexible variables that can be defined, linked, and adjusted to represent different scenarios. Parameters are one of the most powerful features of the platform, because they turn static models into dynamic systems that can be tuned and explored.
What parameters can represent
How parameters are used
Parameters are not just static values. They can be defined with ranges, linked across multiple processes, and even embedded directly in the formulas that define exchange amounts. This allows a change in one parameter to cascade through an entire system.
Parameters can also be shared across multiple system-level models, enabling connected hierarchies where enterprise-level assumptions flow down into facility- or product-level models.
Unlocking scenario analysis
Because parameters can be varied and recomputed instantly, CarbonGraph supports powerful scenario analysis. Modelers can define “what-if” cases, such as increasing recycled content, switching suppliers, or improving energy efficiency, and immediately see how these changes affect results. Outputs can be displayed as tables, waterfall charts, or comparative graphs.
Why this matters
CarbonGraph includes an ever-growing library of reference datasets that can be incorporated directly into user models. These background datasets represent common processes such as energy production, transportation, or material extraction, and they allow modelers to build complete systems without having to manually recreate everything from scratch.
How background datasets are managed
Seamless integration
Because background datasets are treated like any other process in the platform, they can be attached to models directly and linked across supply chains. Modelers can also see exactly which dataset was used, ensuring transparency and traceability.
Where to learn more
Details of currently available datasets, their coverage, and recommended use cases are listed on the Datasets page.
Why this matters
CarbonGraph is a cloud-based platform hosted on Amazon Web Services (AWS). We follow established best practices for security, privacy, and reliability to ensure that all models and datasets are protected at every stage.
How we secure the platform
Policies and compliance
CarbonGraph’s approach to privacy and security is described in detail in our Privacy Policy and End-User Licensing Agreement. These documents outline how data is collected, stored, and protected, and the rights users have over their information.
Why this matters
CarbonGraph supports the generation of EPD-ready outputs. Once a model has been built and calculated, the platform can produce results formatted for use in Environmental Product Declarations (EPDs), as well as other reporting frameworks.
What EPD-ready outputs include
Reviewer and verifier support
CarbonGraph makes it easy for reviewers to inspect results. Models can be locked and shared in a read-only state, annotations can be added to explain assumptions, and reviewers can drill down into the model itself to verify calculations.
Why this matters
One of the most powerful outputs CarbonGraph supports is scenario analysis. By varying model parameters, practitioners can explore “what-if” cases and immediately see how results change. This makes the platform a tool not just for reporting, but for decision-making.
What scenario analysis can explore
How results are presented
Why this matters
CarbonGraph scales from individual product LCAs to facility and enterprise-wide reporting. Models can be linked together, tagged consistently, and rolled up to produce portfolio views that align with organizational frameworks (e.g., GHG Protocol, ESG disclosures) while preserving full drill-down traceability.
How enterprise roll-ups are constructed
What the enterprise sees
Collaboration and roles
Reporting contexts
Why this matters
CarbonGraph is designed not only to compute results, but to help teams explain and review them. Communication tools, role-aware sharing, and inline context make it easy for modelers, reviewers, auditors, and clients to collaborate around a single source of truth.
Role-aware collaboration
Explaining results clearly
Sharing the right view with the right audience
Why this matters
CarbonGraph is an actively developed platform. We work closely with practitioners, reviewers, and organizations in the LCA community to refine features, resolve issues, and expand coverage. Feedback from users directly informs our roadmap.
How development evolves
Our roadmap includes
Why this matters
The following references and resources provide additional context, methodological background, and supporting standards that guide CarbonGraph’s design and implementation.
Core LCA standards
Impact assessment frameworks
CarbonGraph resources