> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mangrovesystems.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 3.2: Batch Partitioning Strategies

> Choose the right partitioning cadence, configure batch types, and understand the trade-offs between granularity and management overhead.

<Panel>
  <Card title="Accounting Academy" className="accounting-academy-card">
    <div className="accounting-academy-content">
      <Steps className="my-0">
        <Step title="MODULE 1: Fundamentals" icon="bookmark" iconType="solid" stepNumber={1} titleSize="p">
          * [1.1: Core Concepts & the Data Lifecycle](/accounting-academy/module-1/1-1-core-concepts-data-lifecycle)
          * [1.2: Translating Methodologies to Mangrove](/accounting-academy/module-1/1-2-translating-methodologies-to-mangrove)
          * [1.3: Events and Datapoints](/accounting-academy/module-1/1-3-events-and-datapoints)
          * [Exercise: Design and Build](/accounting-academy/module-1/1-exercise-design-and-build)
        </Step>

        <Step title="MODULE 2: Calculations" icon="bookmark" iconType="solid" stepNumber={2} titleSize="p">
          * [2.1: Calculation Architecture](/accounting-academy/module-2/2-1-calculation-architecture)
          * [2.2: Expanding Your Data Model](/accounting-academy/module-2/2-2-expanding-your-data-model)
          * [Exercise: Multi-Step Calculations](/accounting-academy/module-2/2-exercise-multi-step-calculations)
        </Step>

        <Step title="MODULE 3: Batch Partitioning & LCA" icon="bookmark" iconType="solid" stepNumber={3} titleSize="p">
          * [3.1: What Is a Batch?](/accounting-academy/module-3/3-1-what-is-a-batch)
          * [3.2: Batch Partitioning Strategies](/accounting-academy/module-3/3-2-batch-partitioning)
          * [3.3: Life Cycle Assessment & Emissions](/accounting-academy/module-3/3-3-lca-and-emissions)
          * [3.4: Allocating Emissions to Batches](/accounting-academy/module-3/3-4-allocating-emissions-to-batches)
          * [Exercise: Batch Partitioning & LCA](/accounting-academy/module-3/3-exercise-batch-partitioning-and-lca)
        </Step>

        <Step title="MODULE 4: Mass Balance with Ledgers" icon="bookmark" iconType="solid" stepNumber={4} titleSize="p">
          * [4.1: Introduction to Mass Balance](/accounting-academy/module-4/4-1-intro-to-mass-balance)
          * [4.2: Designing the Ledger Structure](/accounting-academy/module-4/4-2-designing-the-ledger-structure)
          * [4.3: Multiple Batch Types for Different Stages](/accounting-academy/module-4/4-3-multiple-batch-types)
          * [Exercise: Design & Build Mass Balance](/accounting-academy/module-4/4-exercise-design-and-build-mass-balance)
        </Step>

        <Step title="MODULE 5: Integration Testing" icon="bookmark" iconType="solid" stepNumber={5} titleSize="p">
          * [5.1: The Complete Model Assembly](/accounting-academy/module-5/5-1-the-complete-model-assembly)
          * [5.2: Testing Patterns](/accounting-academy/module-5/5-2-testing-patterns)
          * [5.3: Common Integration Pitfalls](/accounting-academy/module-5/5-3-common-integration-pitfalls)
          * [Exercise: Integration Testing](/accounting-academy/module-5/5-exercise-integration-testing)
        </Step>

        <Step title="MODULE 6: Advanced Patterns & Production" icon="bookmark" iconType="solid" stepNumber={6} titleSize="p">
          * [6.1: Model Design Best Practices](/accounting-academy/module-6/6-1-model-design-best-practices)
          * [6.2: Advanced Techniques](/accounting-academy/module-6/6-2-advanced-techniques)
          * [6.3: Production Readiness](/accounting-academy/module-6/6-3-production-readiness)
          * [Exercise: Production Deployment](/accounting-academy/module-6/6-exercise-production-deployment)
        </Step>
      </Steps>
    </div>
  </Card>
</Panel>

<Check>
  **What you'll learn in this lesson:**

  * Understand the partitioning cadence options available in Mangrove
  * Choose between per-event, daily, weekly, and monthly partitioning
  * Configure batch types for your chosen strategy
  * Evaluate trade-offs between granularity and management overhead
</Check>

When you have ongoing operations, you need to **partition** your data into multiple batches. The question is: how do you decide where one batch ends and the next begins? That's the role of the partition strategy.

## Partitioning cadence options

Mangrove supports two fundamental approaches to partitioning, as described in the <a href="/production-accounting/accounting-101" target="_blank" rel="noopener noreferrer">Guide to Production Accounting</a>

:

<Tabs>
  <Tab title="ID-based (per-event)">
    Each event with a unique tracking ID becomes its own batch. Best for projects with **discrete, countable production units**.

    **When to use:**

    * Each physical event is a natural reporting unit (e.g., a delivery, a shipment)
    * The methodology requires per-event traceability
    * Events are relatively infrequent (daily or less)

    **Examples:** Biochar deliveries, carbon injection batches, fuel transactions
  </Tab>

  <Tab title="Time-based (periodic)">
    All events within a time window are aggregated into one batch. The window can be daily, weekly, monthly, or custom.

    **When to use:**

    * Production is continuous or high-frequency
    * The methodology defines periodic reporting (e.g., monthly)
    * Individual events are too small to report separately

    **Examples:** Daily RNG injection totals, monthly electricity generation, weekly production runs
  </Tab>
</Tabs>

```mermaid theme={null}
flowchart TB
    subgraph ID["ID-Based Partitioning"]
        direction LR
        E1["Event A<br/>(ID: DEL-001)"] --> B1["Batch 1"]
        E2["Event B<br/>(ID: DEL-002)"] --> B2["Batch 2"]
        E3["Event C<br/>(ID: DEL-003)"] --> B3["Batch 3"]
    end

    subgraph Time["Time-Based Partitioning (Monthly)"]
        direction LR
        E4["Jan events<br/>(5 events)"] --> B4["Jan Batch"]
        E5["Feb events<br/>(8 events)"] --> B5["Feb Batch"]
        E6["Mar events<br/>(6 events)"] --> B6["Mar Batch"]
    end

    style B1 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style B2 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style B3 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style B4 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style B5 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style B6 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style E1 fill:#42a5f5,stroke:#1976d2,stroke-width:2px,color:#000
    style E2 fill:#42a5f5,stroke:#1976d2,stroke-width:2px,color:#000
    style E3 fill:#42a5f5,stroke:#1976d2,stroke-width:2px,color:#000
    style E4 fill:#42a5f5,stroke:#1976d2,stroke-width:2px,color:#000
    style E5 fill:#42a5f5,stroke:#1976d2,stroke-width:2px,color:#000
    style E6 fill:#42a5f5,stroke:#1976d2,stroke-width:2px,color:#000
```

## Choosing the right strategy

Your partitioning strategy is driven by three factors:

<Steps>
  <Step title="Methodology requirements">
    Some standards specify the partitioning granularity. For example, a methodology might require per-delivery tracking for chain-of-custody compliance, or monthly aggregation for periodic monitoring.
  </Step>

  <Step title="Operational patterns">
    Match the batch cadence to how the project actually operates. If deliveries happen 3-4 times per week, per-delivery batches make sense. If a facility runs continuously, daily or monthly batches are more practical.
  </Step>

  <Step title="Verification needs">
    Consider what auditors need to see. Per-event batches provide maximum traceability but more work to review. Time-based batches are simpler to audit but aggregate detail.
  </Step>
</Steps>

## Trade-offs: granularity vs. overhead

| Factor              | More Granular (per-event)                  | Less Granular (monthly)                                        |
| ------------------- | ------------------------------------------ | -------------------------------------------------------------- |
| **Traceability**    | Each batch maps to one physical event      | Batch aggregates many events                                   |
| **Verification**    | More batches to review, but each is simple | Fewer batches, but each requires drilling into aggregated data |
| **Credit issuance** | Faster — credits can be issued per batch   | Slower — must wait for period to close                         |
| **Management**      | More batches to track and manage           | Fewer batches, simpler workflow                                |
| **Reporting**       | High granularity, flexible aggregation     | Natural aggregation, less flexibility                          |

<Tip>
  For Mangrove Biochar, **per-delivery partitioning** is the best fit. Each delivery is a natural unit of production with its own evidence (delivery ticket, weighbridge slip), and the Isometric methodology requires per-removal traceability.
</Tip>

## Feedstock-based partitioning

Some projects need to partition batches by <a href="/production-accounting/feedstocks" target="_blank" rel="noopener noreferrer">feedstock type</a>

as well. If a biochar facility processes both agricultural waste and forestry residues, batches should be separated by feedstock because the methodology may apply different factors to each.

In Mangrove, you can associate events with feedstocks and configure batch types to generate **separate batches per feedstock** within each accounting period.

<Note>
  Feedstock partitioning can be combined with time-based or ID-based partitioning. For example: monthly batches, split by feedstock type. This is configured in the batch type settings.
</Note>

## Configuring batch partitioning in Mangrove

Batch partitioning is configured through the **batch type** settings in your project. When you <a href="/production-accounting/generate-batches" target="_blank" rel="noopener noreferrer">generate batches</a>

, Mangrove applies the partition rules to create the appropriate number of batches from the events in the selected period.

***

### Check your understanding

<Accordion icon="circle-question" title="What are the two fundamental partitioning approaches in Mangrove?">
  **ID-based** (per-event) partitioning creates one batch per unique tracking ID. **Time-based** (periodic) partitioning aggregates all events within a time window (daily, weekly, monthly) into one batch. The choice depends on methodology requirements, operational patterns, and verification needs.
</Accordion>

<Accordion icon="circle-question" title="When would you choose per-delivery over monthly partitioning?">
  Choose per-delivery when: (1) each delivery is a natural production unit, (2) the methodology requires per-event traceability, (3) deliveries are infrequent enough to manage individually, and (4) faster credit issuance per batch is valuable. Monthly is better for high-frequency continuous production where individual events are too small to report separately.
</Accordion>

***

Next, learn how to account for the emissions produced during your project's operations in [Lesson 3.3: Life Cycle Assessment & Emissions](/accounting-academy/module-3/3-3-lca-and-emissions).
