Skip to content

Fundamental Financial Drivers (FFD)

Purpose

Fundamental Financial Drivers (FFD) are upstream economic signals used to explain why the LEV ecosystem has structural market opportunity before introducing infrastructure-capex models.

FFD values are intentionally simple, market-facing, and rider-centric. They create the narrative baseline that later models (BCS, SNS, EPS, FCS) can build on.

Canonical LEV market narrative: - Every kWh of electricity serviced generates savings for all involved.

Scope of FFD-1

FFD-1 focuses only on rider fuel-cost differential for 2-wheelers (2W):

  • 2w_gas_cost_per_km (USD/km)
  • 2w_elec_cost_per_km (USD/km)
  • 2w_savings_per_km (USD/km)
  • 2w_savings_pct (%)
  • 2w_savings_per_kwh (USD/kWh)

This driver does not include capex allocation, depreciation, financing, or battery lifecycle constraints. Those are modeled in separate downstream business-unit models.

Inputs and Defaults

  • Fuel price: gas_price_per_l (USD/L)
  • Electricity price: electricity_price_per_kwh (USD/kWh)
  • 2W petro range: 2w_km_per_liter (baseline 31, fallback default 30)
  • 2W electric range: 2w_km_per_kwh (baseline 28, fallback default 30)

Distance basis is kilometers (km).

Core Formulas

2w_gas_cost_per_km  = gas_price_per_l / 2w_km_per_liter
2w_elec_cost_per_km = electricity_price_per_kwh / 2w_km_per_kwh
2w_savings_per_km   = 2w_gas_cost_per_km - 2w_elec_cost_per_km
2w_savings_pct      = (2w_savings_per_km / 2w_gas_cost_per_km) * 100
2w_savings_per_kwh  = (2w_km_per_kwh / 2w_km_per_liter) * gas_price_per_l - electricity_price_per_kwh

Why 2w_savings_per_kwh Matters

2w_savings_per_kwh reframes rider economics in energy-unit terms. This creates a clean bridge to ecosystem models that reason in kWh throughput and utilization, while keeping FFD-1 itself purely rider-fundamental.

In practice: - Higher 2w_savings_per_kwh strengthens rider value proposition. - It provides a market-anchored signal for how much economic value is created per unit of electric energy consumed. - Later models can apportion that value across business units and capital layers. - It establishes a shared lingo across Rider, BCS, SNS, and other parties using one natural activity unit: serviced kWh.

Rounding Policy

  • USD costs are reported to cents (2 decimals).
  • Other values are reported to 2 decimals.

Implementation

  • Python module: models/ffd_model.py
  • Tests: models/tests/test_ffd_model.py

Config Loader

load_ffd_2w_inputs_from_json(config) loads baseline FFD-1 inputs from data/model_parameters.json-style config:

  • gas_price_per_l from FFD_GAS_PRICE_PER_L (fallback FUEL_PRICE)
  • electricity_price_per_kwh from FFD_ELEC_PRICE_PER_KWH (fallback DS_VRS_ELEC_PRICE, then VOR_ELEC_PRICE)
  • 2W ranges from FFD_2W_KM_PER_LITER and FFD_2W_KM_PER_KWH (fallback defaults)

This keeps FFD aligned with shared market assumptions while preserving explicit 2W default handling during model development.

Savings Apportioning Logic

FFD includes a party-allocation utility for distributing savings drivers across ecosystem participants.

Use: - apportion_savings_by_party(savings_value, identified_party_shares)

Input example:

{
  "rider": 0.40,
  "bcs": 0.30,
  "sns": 0.20
}

Behavior: - Identified parties receive the provided shares. - others is auto-computed as 1 - sum(identified_party_shares). - Returns both share percentages and apportioned savings amounts.

This allocation is a policy layer that links the FFD savings signal to relative profitability narratives across Rider, BCS, SNS, and additional parties.

Baseline split is codified in data/model_parameters.json: - Rider 25% - BCS 25% - SNS 25% - X 25% - Others auto-computed from residual share

Forward Path

FFD is designed as a family of drivers. FFD-1 is fuel-cost differential. Additional drivers can be added later (for example utilization, service reliability, downtime cost, or financing pressure) as separate, composable FFD modules.

Explanatory Notes

For team training and worked examples, see: - FFD Explanatory Notes