Tr4m0ryp/espresso-v2-carbon-water-data
ESPResso V2: Textile Carbon & Water Footprint Training Data 50,000 synthetic records for product-level carbon and water footprint prediction in textiles, generated by a 7-layer LLM-orchestrated pipeline with deterministic C99 calculation engines. Developed at the University of Amsterdam. Dataset Description The textile industry faces mounting regulatory pressure under the EU ESPR and Digital Product Passport mandate to quantify product-level environmental… See the full description on the dataset page: https://huggingface.co/datasets/Tr4m0ryp/espresso-v2-carbon-water-data.
ESPResso V2: Textile Carbon & Water Footprint Training Data
50,000 synthetic records for product-level carbon and water footprint prediction in textiles, generated by a 7-layer LLM-orchestrated pipeline with deterministic C99 calculation engines. Developed at the University of Amsterdam.
Dataset Description
The textile industry faces mounting regulatory pressure under the EU ESPR and Digital Product Passport mandate to quantify product-level environmental footprints. Comprehensive Life Cycle Assessment (LCA) data is prohibitively expensive to produce at scale, creating a barrier for the thousands of brands that must comply.
ESPResso V2 addresses this gap by providing two training datasets spanning 47 product categories, 105 subcategories, and 87 base materials across fashion and apparel:
- carbon_footprint.parquet -- 49,732 records, 27 columns. Material composition, manufacturing sequences, transport logistics, packaging, and carbon footprint targets broken down by lifecycle stage (raw materials, transport, processing, packaging) in kgCO2e.
- water_footprint.parquet -- 50,480 records, 15 columns. Material composition, manufacturing, supply chain geography with AWARE water stress factors, and water footprint targets by lifecycle stage in m3 world-equivalent.
- category_stats.json -- Per-category statistics for all 47 product categories.
Data Sources
The deterministic calculation engines draw on established environmental databases and standards:
- EcoInvent 3.12: Emission factors (kgCO2e/kg) and water use intensities (m3/kg)
- Agribalyse 3.2: Agricultural water footprint data for natural fibers
- AWARE 2.0: Country-level water stress characterization factors (range 0.1 to 100)
- Standards: ISO 14040/14044 (LCA framework), PEFCR v3.1 (Product Environmental Footprint Category Rules)
Generation Methodology
The data is produced by a 7-layer pipeline that separates creative configuration from deterministic calculation:
- Layers 1--4: Claude Sonnet 4.6 generates realistic product configurations -- material blends, ordered manufacturing sequences, multi-leg transport routes with WGS84 coordinates, and packaging specifications.
- Layer 5: Claude Sonnet 4.5 validates outputs through a 5-stage quality gate: MD5 integrity checks, semantic coherence scoring (threshold >= 0.85), 3-sigma statistical outlier detection, deduplication, and reward model scoring.
- Layers 6--7: Deterministic C99 engines compute carbon and water footprints from the established emission factor databases listed above. No LLM is involved in the footprint calculation itself.
Key design principle: LLMs generate realistic supply chain configurations; deterministic engines compute ground-truth footprints from peer-reviewed emission factor databases.
Column Schema
carbon_footprint.parquet (49,732 records, 27 columns)
water_footprint.parquet (50,480 records, 15 columns)
Target Variable Statistics
Carbon footprint targets
Water footprint targets
Footprint Formulations
Carbon footprint
$$CF{\text{total}} = (CF{\text{raw}} + CF{\text{processing}} + CF{\text{transport}} + CF_{\text{packaging}}) \times 1.02$$
Where:
- $CF{\text{raw}} = \sumi wi \cdot EFi$ -- mass times emission factor per material
- $CF{\text{processing}} = \sums EF{\text{step}(s)} \cdot w{\text{material}(s)}$ -- energy intensity times mass per manufacturing step
- $CF{\text{transport}} = \sum{l=1}^{L} dl \cdot m \cdot EF{\text{mode}(l)}$ -- per-leg distance, mass, and transport mode factor
- $CF{\text{packaging}} = \sump wp \cdot EFp$ -- packaging mass times emission factor
The 1.02 multiplier accounts for a 2% end-of-life overhead factor.
Water footprint
The water footprint follows the AWARE 2.0 methodology, where location-specific water stress characterization factors amplify volumetric water consumption:
- $WF{\text{raw}} = \sumi wi \cdot WUi \cdot CF{\text{AWARE}}(ci)$
- $WF{\text{processing}} = \sums WU{\text{step}(s)} \cdot w{\text{material}(s)} \cdot CF{\text{AWARE}}(cs)$
- $WF{\text{packaging}} = \sump wp \cdot WUp \cdot CF{\text{AWARE}}(cp)$
AWARE characterization factors range from 0.1 (water-abundant regions) to 100 (severely water-stressed regions), creating up to 40--100x geographic variance in water footprint for the same physical water volume.
Intended Use
Primary use: Train machine learning models to predict product-level carbon and water footprints from partial supply chain data. The companion ESPResso V2 models achieve R2 = 0.988 (carbon) and R2 = 0.969 (water) on held-out test sets.
Additional uses:
- Benchmarking multi-output regression architectures on environmental impact data
- Studying material-geography-footprint relationships in textile supply chains
- Building sustainable fashion recommendation or decision-support systems
- Educational use in LCA and environmental informatics courses
Limitations and Out-of-Scope Uses
- This dataset is not a substitute for formal LCA conducted by certified practitioners under ISO 14040/14044.
- The data is synthetic -- it covers realistic but not exhaustive product configurations.
- Emission factors are drawn from EcoInvent 3.12 (2024) and will require updating as databases are revised.
- Coverage is limited to 47 textile product categories; non-textile products are not represented.
- Transport distances are computed from WGS84 coordinates and may not reflect actual routing.
Usage Example
Using the Hugging Face datasets library:
from datasets import load_dataset
ds = load_dataset("Tr4m0ryp/espresso-v2-carbon-water-data")
# Access carbon footprint data
carbon = ds["carbon_footprint"]
print(f"Carbon records: {len(carbon)}")
# Access water footprint data
water = ds["water_footprint"]
print(f"Water records: {len(water)}")Or load directly with pandas:
import pandas as pd
carbon = pd.read_parquet(
"hf://datasets/Tr4m0ryp/espresso-v2-carbon-water-data/carbon_footprint.parquet"
)
water = pd.read_parquet(
"hf://datasets/Tr4m0ryp/espresso-v2-carbon-water-data/water_footprint.parquet"
)Dataset Splits
No pre-defined splits are provided. The companion ESPResso V2 models use a 70/15/15 train/validation/test split stratified by product category.
Citation
@misc{espresso-v2-2026,
title={ESPResso V2: LLM-Orchestrated Synthetic Data Pipeline and Neural Estimation
of Product-Level Carbon and Water Footprints in Textiles},
author={Ouallaf, Moussa},
year={2026},
institution={University of Amsterdam},
url={https://github.com/tr4m0ryp/ESPResso-V2}
}License
CC BY-SA 4.0. If you use this dataset, please cite the ESPResso V2 project.
Acknowledgments
- University of Amsterdam
- UvA AI Chat (LLM API access for data generation)
- EcoInvent 3.12, Agribalyse 3.2, AWARE 2.0 (environmental databases)
- ISO 14040/14044, PEFCR v3.1 (methodological standards)
