Battery Circulation Service (BSS) Business Model¶
Overview¶
This model analyzes the investment opportunity for Battery Circulation Service operators/investors deploying a fleet of batteries as subscription services for delivery riders. The model uses unit economics based on a 1 kWh battery to simplify scalability analysis.
Central Question: "What's in it for me?" (Battery Circulation Service Operator/Investor Perspective)
Integrated Workbook¶
📥 Download Full Ecosystem Model
This model is implemented in the BCS-Battery-Circulation-Service tab of the integrated workbook. All parameters are sourced from the Assumptions tab, ensuring consistency across all ecosystem models.
Business Context¶
Design Principle: Bottom-Up Modeling - Operating parameters derived from rider value proposition.
Critical Modeling Methodology: Integer Unit Constraints¶
Physical Architecture¶
Battery Pack = 10 Batteries - 1 Pack = 10 batteries × 3.4 kWh = 34 kWh (fixed physical constraint) - Modular Expansion: Fleet grows in discrete 10-battery increments - Cannot deploy partial packs: 1, 2, 3... packs only (not 1.5 or 2.7 packs)
Two-Layer Economic Model¶
The model explicitly separates installed capacity (integer-constrained) from actual usage (demand-driven) to capture the economic impact of modular infrastructure:
Infrastructure Layer (Integer-Constrained):
- Installed packs: BCS_SCALE_FACTOR (integer: 1, 2, 3...)
- Installed batteries: BCS_SCALE_FACTOR × 10
- Total CapEx: Based on installed packs
- Fixed OpEx: Based on installed capacity (insurance, maintenance, monitoring)
Operational Layer (Demand-Driven):
- Active batteries: From demand-supply model (ds_total_batteries)
- Utilization rate: ds_total_batteries / (BCS_SCALE_FACTOR × 10)
- Revenue: Based on active batteries only
- Variable OpEx: Based on actual usage (charging, cycling)
Economic Impact of Integer Constraints¶
Example: Test Case A - Demand: 200 batteries needed - Supply: 20 packs × 10 = 200 batteries installed - Utilization: 200/200 = 100% ✅ (perfect match!)
Example: If Demand = 195 batteries - Demand: 195 batteries needed - Supply: Must install 20 packs = 200 batteries (cannot deploy 19.5 packs) - Utilization: 195/200 = 97.5% - Oversizing penalty: 5 idle batteries, higher per-unit fixed costs
Key Principle: Physical infrastructure can only expand in discrete modular units (10-battery packs). When demand doesn't align with pack sizes, you're forced to overbuild, reducing utilization and ROI.
Terminology¶
- Pack: 10-battery physical unit (indivisible)
- Scale Factor: Integer multiplier (number of packs deployed)
- Installed Capacity: Total batteries deployed (scale factor × 10)
- Active Capacity: Batteries actually in service (from demand)
- Utilization Rate: Active / Installed (100% = optimal, <100% = oversizing penalty)
Battery Circulation Service operators/investors need to evaluate: - Total capital investment per kWh of battery capacity - Daily operating costs and revenue streams - Asset depreciation and residual value - Return on investment and payback period - Fleet scaling economics
Critical Constraint from Rider Model (at 150 km/day): - Riders require ≥30% savings vs petro → Maximum total cost: 4.20 USD/day - Energy pricing (0.60 USD/kWh × 5.00 kWh): 3.00 USD/day - Maximum swap subscription: 1.20 USD/day - For 5 kWh battery: 0.24 USD/kWh/day swap fee - Energy revenue: 0.60 × 3 swaps × 0.80 = 1.44 USD/kWh/day - Total revenue constraint: ~1.68 USD/kWh/day (vs 1.44 OpEx = 0.24 USD/day profit)
Model Inputs¶
Source: All input parameters are defined in the
Assumptionstab of the Excel workbook and referenced using named ranges throughout the model.
CapEx (Capital Expenditure)¶
These represent the upfront investment required per 1 kWh battery unit:
| Parameter | Symbol | Value | Unit | Description | Excel Location |
|---|---|---|---|---|---|
| FOB capital cost | Batt_FOB_Cost |
150 | USD/kWh | Export FOB price (factory gate) | Assumptions!C20 |
| Import duties & taxes | Batt_Import_Tax |
15 | USD/kWh | Import duties, taxes, customs fees | Assumptions!C21 |
| Shipping cost | Batt_Shipping |
10 | USD/kWh | Freight and logistics | Assumptions!C22 |
| Installation cost | Batt_Install |
5 | USD/kWh | Deployment and commissioning | Assumptions!C23 |
| Total Landed Cost | Batt_Total_CapEx |
180 | USD/kWh | Sum of all CapEx items | Calculated |
| Primary service period | Batt_Service_Period |
730 | days | Depreciation period (24 months) | BCS-Battery-Circulation-Service!C9 |
| Sell-off value ratio | Batt_Selloff_Ratio |
0.30 | ratio | Residual value (30% of CapEx) | BCS-Battery-Circulation-Service!C10 |
| Battery cycle life | Batt_Cycle_Life |
1500 | cycles | Total rated discharge cycles (PARAMETER) | BCS-Battery-Circulation-Service!C11 |
| Battery capacity | Batt_Capacity |
1.0 | kWh | Unit economics basis | BCS-Battery-Circulation-Service!C12 |
| Charge time | Batt_Charge_Time |
1.5 | hours | Time to fully recharge (90 min) | BCS-Battery-Circulation-Service!C13 |
| Discharge time | Batt_Discharge_Time |
3.0 | hours | Time to deplete during use | BCS-Battery-Circulation-Service!C14 |
OpEx (Operating Expenditure)¶
These represent the daily operating costs per 1 kWh battery unit:
| Parameter | Symbol | Value | Unit | Description | Excel Location |
|---|---|---|---|---|---|
| Labor rate | Labor_Rate |
1.50 | USD/hr | Labor cost per person per hour | BCS-Battery-Circulation-Service!C15 |
| Labor productivity | Labor_Productivity |
150 | kWh/person/day | Battery kWh serviced per person per day | BCS-Battery-Circulation-Service!C16 |
| Utility/property cost | Utility_Site_Cost |
10 | USD/site/day | Facility overhead per site | BCS-Battery-Circulation-Service!C17 |
| Batteries per site | Batt_Per_Site |
30 | kWh | Average battery capacity per location | BCS-Battery-Circulation-Service!C18 |
| Charging efficiency | Charge_Efficiency |
0.95 | ratio | Energy retention during charging | BCS-Battery-Circulation-Service!C19 |
| Insurance cost | Insurance_Rate |
0.005 | USD/kWh/day | Daily insurance per kWh | BCS-Battery-Circulation-Service!C20 |
| Maintenance reserve | Maint_Reserve |
0.01 | USD/kWh/day | Repair and maintenance fund | BCS-Battery-Circulation-Service!C21 |
| Monitoring cost | Monitor_Cost |
0.002 | USD/kWh/day | Battery health monitoring | BCS-Battery-Circulation-Service!C22 |
| Loss rate | Loss_Rate |
0.03 | ratio/year | Annual battery failure/replacement rate | BCS-Battery-Circulation-Service!C23 |
| Energy selling price | Elec_Sell_Price |
0.60 | USD/kWh | Price charged to rider | BCS-Battery-Circulation-Service!C24 |
Scenarios & Assumptions (Guesstimates)¶
These are estimated values that should be updated with observed operational data:
| Parameter | Symbol | Value | Unit | Description | Excel Location |
|---|---|---|---|---|---|
| Battery wait time | Batt_Wait_Time |
0.25 | hours | 15 min avg - guesstimate (longer = poor service) | BCS-Battery-Circulation-Service!C27 |
| Depth of discharge | Depth_Of_Discharge |
0.85 | ratio | 85% - riders never fully drain to reach station | BCS-Battery-Circulation-Service!C28 |
| Swaps per day | Swaps_Per_Day |
3.0 | swaps/day | Guesstimate - UPDATE based on observed performance | BCS-Battery-Circulation-Service!C29 |
Service Pricing (Revenue Parameters)¶
These represent the revenue model - what riders pay:
| Parameter | Symbol | Value | Unit | Description | Excel Location |
|---|---|---|---|---|---|
| Energy selling price | Elec_Sell_Price |
0.60 | USD/kWh | Price charged to rider | Assumptions!C40 |
| Swap subscription price | Swap_Price_Day |
2.00 | USD/kWh/day | Daily subscription fee (current) | Assumptions!C41 |
| Target swap price | Swap_Price_Target |
0.80 | USD/kWh/day | Required for 30% rider savings | Assumptions!C42 |
| Capacity utilization | Utilization_Rate |
0.80 | ratio | % of time battery generates revenue | Assumptions!C43 |
| Avg swaps per day | Swaps_Per_Day |
2.0 | swaps/day | Average daily swap frequency | Assumptions!C44 |
Model Outputs¶
Source: All calculations are performed in the
BCS-Battery-Circulation-Servicetab using formulas that reference the named ranges from the Assumptions tab.
Calculated Metrics¶
The following table shows the actual Excel implementation with multi-step formulas for clarity:
| Metric | Excel Formula | Value | Unit |
|---|---|---|---|
| CapEx - Multi-step breakdown | |||
| fob_cost | =batt_fob_cost |
150.00 | USD/kWh |
| import_tax | =fob_cost*batt_import_tax_rate |
15.00 | USD/kWh |
| shipping_cost | =fob_cost*batt_shipping_rate |
10.00 | USD/kWh |
| install_cost | =fob_cost*batt_install_rate |
5.00 | USD/kWh |
| total_capex | =fob_cost+import_tax+shipping_cost+install_cost |
180.00 | USD/kWh |
| selloff_value | =total_capex*batt_selloff_ratio |
54.00 | USD/kWh |
| Energy & Longevity - Multi-step | |||
| daily_energy | =batt_capacity*swaps_per_day*depth_of_discharge |
2.40 | kWh/day |
| daily_cycles | =daily_energy/batt_capacity |
2.00 | cycles/day |
| Utilization - Multi-step (for future network modeling) | |||
| theoretic_util_rate | =batt_discharge_time/(batt_discharge_time+batt_charge_time) |
0.67 | ratio |
| operational_util | =batt_charge_time/(batt_charge_time+batt_wait_time) |
0.80 | ratio |
| OpEx - Multi-step breakdown | |||
| daily_labor_cost | =(labor_rate*8)/labor_productivity |
0.40 | USD/kWh/day |
| daily_utility_cost | =utility_site_cost/batt_per_site |
0.25 | USD/kWh/day |
| daily_charging_cost | =(daily_energy/charge_efficiency)*elec_purchase_cost |
0.85 | USD/kWh/day |
| daily_loss_cost | =(loss_rate/365)*total_capex |
0.02 | USD/kWh/day |
| daily_fixed_opex | =insurance_rate+maint_reserve+monitor_cost |
0.06 | USD/kWh/day |
| total_opex | =daily_labor_cost+daily_utility_cost+daily_charging_cost+daily_loss_cost+daily_fixed_opex |
1.58 | USD/kWh/day |
| Revenue - Multi-step breakdown | |||
| daily_sub_revenue | =swap_cost_day/(dist_day/elec_eff) |
1.60 | USD/kWh/day |
| daily_energy_revenue | =daily_energy*elec_sell_price |
0.96 | USD/kWh/day |
| total_daily_revenue | =daily_sub_revenue+daily_energy_revenue |
2.56 | USD/kWh/day |
| Net Cash Flow (with _calc suffix to differentiate from KPI) | |||
| daily_net_cash_calc | =total_daily_revenue-total_opex |
0.98 | USD/kWh/day |
| ROI - Multi-step breakdown | |||
| total_service_revenue | =total_daily_revenue*batt_service_period |
1,868.80 | USD/kWh |
| total_service_cost | =total_opex*batt_service_period |
1,153.40 | USD/kWh |
| total_income | =total_service_revenue+selloff_value |
1,922.80 | USD/kWh |
| total_cost | =total_capex+total_service_cost |
1,333.40 | USD/kWh |
| Longevity (with _calc suffix to differentiate from KPI) | |||
| longevity_days_calc | =batt_cycle_life/daily_cycles |
750 | days |
Key Performance Indicators¶
The following KPIs reference pre-calculated metrics from the Calculated Metrics section. Formulas are exact copies from the BCS-Battery-Circulation-Service tab:
| KPI | Excel Formula | Value | Unit |
|---|---|---|---|
| Daily_Net_Cash | =daily_net_cash_calc |
0.98 | USD/kWh/day |
| Longevity_Days | =longevity_days_calc |
750 | days |
| Payback_Period | =total_capex/daily_net_cash_calc |
184 | days |
| Payback_Cycles | =Payback_Period*daily_cycles |
368 | cycles |
| Batt_Residual_Cycles | =batt_cycle_life-Payback_Cycles |
1,132 | cycles |
Calculation Logic¶
CapEx Calculation¶
| Component | Calculation | Value | Unit |
|---|---|---|---|
| FOB Cost | Base parameter | 150.00 | USD/kWh |
| Import Tax | 150 × 10% | 15.00 | USD/kWh |
| Shipping | 150 × 6.67% | 10.00 | USD/kWh |
| Installation | 150 × 3.33% | 5.00 | USD/kWh |
| Total CapEx | 150 + 15 + 10 + 5 | 180.00 | USD/kWh |
OpEx Calculation¶
| Component | Calculation | Value | Unit |
|---|---|---|---|
| Labor Cost | (5.00 × 8) / 100 | 0.40 | USD/kWh/day |
| Utility Cost | 50 / 200 | 0.25 | USD/kWh/day |
| Charging Cost | (5.00 × 2.0 × 0.60) / 0.90 × 0.32 | 0.85 | USD/kWh/day |
| Loss Cost | (0.05 / 365) × 180 | 0.02 | USD/kWh/day |
| Fixed Costs | 0.02 + 0.03 + 0.01 | 0.06 | USD/kWh/day |
| Total OpEx | 0.40 + 0.25 + 0.85 + 0.02 + 0.06 | 1.58 | USD/kWh/day |
Note: Togo electricity cost is 0.32 USD/kWh, significantly higher than typical 0.15 USD/kWh
Revenue Calculation¶
Current Pricing (0.80 USD/day swap at 150 km/day baseline):
| Component | Calculation | Value | Unit |
|---|---|---|---|
| Subscription Revenue | (0.80 / (150/30)) × (4/(4+1)) | 1.60 | USD/kWh/day |
| Energy Revenue | (5.00 × 2.0 × 0.60) × (4/(4+1)) / 5.00 | 0.96 | USD/kWh/day |
| Energy Margin | (0.60 - 0.32) × 2.0 × 0.80 | 0.45 | USD/kWh/day |
| Total Revenue | 1.60 + 0.96 | 2.56 | USD/kWh/day |
ROI Analysis¶
Scenario: Current Pricing (0.80 USD/day swap)
| Metric | Calculation | Value | Unit |
|---|---|---|---|
| Daily Net Income | 2.56 - 1.58 | 0.98 | USD/kWh/day |
| Payback Period | 180 / 0.98 | 184 | days |
| Service Period | MIN(730, 3000/2.0) | 730 | days |
| Recovery Ratio | 184 / 730 | 25.2% | % |
| Total Service Revenue | 0.98 × 730 | 715.40 | USD/kWh |
| Selloff Value | 180 × 30% | 54.00 | USD/kWh |
| Total Income | 715.40 + 54.00 | 769.40 | USD/kWh |
| Net Profit | 769.40 - 180 | 589.40 | USD/kWh |
Decision Criteria¶
Investment Viability Framework:
The battery investment is viable when battery cycle life exceeds payback period, enabling post-payback profit generation.
Key Metric: Batt_Residual_Cycles - Positive value = Battery outlasts payback → Profitable investment ✅ - Negative value = Battery fails before payback → Loss scenario ❌
✅ Favorable Investment if: - Batt_Residual_Cycles > 500 (substantial post-payback life) - Payback_Period < 365 days (< 1 year) - Payback_Cycles < 50% of BATT_CYCLE_LIFE - Daily_Net_Cash > 0.80 USD/kWh/day (strong cash flow) - Operational_Utilization > 70%
⚠️ Review Investment if: - Batt_Residual_Cycles: 0 to 500 (marginal post-payback life) - Payback_Period: 365-548 days (1-1.5 years) - Daily_Net_Cash: 0.50-0.80 USD/kWh/day - Operational_Utilization: 60-70%
❌ Unfavorable Investment if: - Batt_Residual_Cycles < 0 (battery fails before payback) - Payback_Period > 730 days (> 2 years) - Daily_Net_Cash < 0.50 USD/kWh/day - Operational_Utilization < 55%
Investment Optimization Levers:
If Batt_Residual_Cycles is negative or marginal, improve by:
- Increase Battery Longevity (higher BATT_CYCLE_LIFE)
- Source premium batteries with longer cycle life
- Better battery chemistry (e.g., LFP vs NMC)
-
Higher upfront cost but extends earning period
-
Increase Daily Net Cash (reduce Payback_Period)
- Revenue side:
- Increase SWAPS_PER_DAY (higher utilization)
- Optimize pricing (if market allows)
- OpEx side:
- Reduce ELEC_PURCHASE_COST (cheaper electricity)
- Improve LABOR_PRODUCTIVITY
- Optimize OPERATIONAL_UTIL (reduce wait time)
Sensitivity Analysis¶
Payback Period vs Key Variables¶
Impact of Electricity Purchase Cost on Profitability:
| Elec Cost (USD/kWh) | Daily Charging | Daily Profit | Payback (days) | Comment |
|---|---|---|---|---|
| 0.20 | 0.44 | 1.39 | 129 | Ideal |
| 0.26 | 0.58 | 1.25 | 144 | Good |
| 0.32 (Togo) | 0.71 | 1.12 | 161 | Current |
| 0.38 | 0.84 | 0.99 | 182 | Acceptable |
| 0.44 | 0.98 | 0.85 | 212 | Marginal |
Multi-variable sensitivity analysis to be developed
Interdependencies with Other Models¶
Dependencies FROM Other Models (Bottom-Up Flow)¶
| Source Model | Data Required | Impact | Constraint Type |
|---|---|---|---|
| rider.md | 30% savings requirement | Max swap price = 0.80 USD/day | Hard constraint |
| rider.md | Swap frequency patterns | Determines Swaps_Per_Day and Utilization_Rate |
Demand driver |
| sns.md | Station capacity & density | Affects Batt_Per_Site allocation |
Cost allocation |
| eps.md | Electricity cost structure | Determines Elec_Price and charging costs |
Hard constraint |
Dependencies TO Other Models (Requirements Flow)¶
| Target Model | Data Provided | Impact | Requirement |
|---|---|---|---|
| sns.md | Required total overhead < 0.40 USD/day | Network must minimize costs | Cost constraint |
| sns.md | Battery availability & cost | Station economic viability | Service level |
| sns.md | Charging infrastructure needs | Station design requirements | Infrastructure |
| eps.md | Electricity cost target < 0.25 USD/kWh | Power generation economics | Cost target |
| eps.md | Charging demand profile | Power capacity requirements | Capacity planning |
Derived Requirements for SNS-Swap-Network-Service¶
From Battery Asset Model Analysis:
With rider-constrained max swap price of 0.80 USD/day, the battery asset model shows:
| Category | Component | Value | Unit |
|---|---|---|---|
| Current Costs | Labor | 0.40 | USD/kWh/day |
| Utility/Property | 0.25 | USD/kWh/day | |
| Charging | 0.85 | USD/kWh/day | |
| Fixed costs | 0.08 | USD/kWh/day | |
| Total OpEx | 1.58 | USD/kWh/day | |
| Current Revenue | Swap subscription | 1.60 | USD/kWh/day |
| (80% utilization) | Energy sales | 0.96 | USD/kWh/day |
| Total Revenue | 2.56 | USD/kWh/day | |
| Profitability | Daily Net Income | 0.98 | USD/kWh/day |
| Net Profit (730 days) | 589.40 | USD/kWh |
SNS-Swap-Network-Service Must Deliver One or More of:
| Optimization Strategy | Current | Target | Improvement | Implementation |
|---|---|---|---|---|
| Reduce Utility/Property Costs | 0.25 | < 0.15 | 40% reduction | Increase batteries per site from 200 to 350+ OR reduce site costs from 50 to 30 USD/day |
| Improve Labor Efficiency | 0.40 | < 0.25 | 37% reduction | Increase productivity from 100 to 160 batteries/person OR reduce labor rate from 5 to 3 USD/hr |
| Enable Higher Utilization | 80% | > 95% | 19% improvement | Dense network placement, high service reliability, sufficient rider demand |
| Support Higher Swap Frequency | 2.0 | > 2.5 | 25% increase | Multi-rider sharing, frequent swappers, longer operating hours |
Summary: SNS-Swap-Network-Service Design Constraints:
| Requirement | Target | Rationale |
|---|---|---|
| Total overhead allocation | < 0.40 USD/kWh/day | Current 0.65 (labor + utility) must be reduced 38% |
| Service reliability | > 95% | Maintain utilization and rider satisfaction |
| Network density | Support > 90% battery utilization | Maximize revenue per battery asset |
Excel Implementation¶
Workbook Structure¶
Workbook: models/dirac-abs-ecosystem-model.xlsx
Tabs Used:
1. Assumptions - All input parameters (CapEx, OpEx, Service Pricing)
2. BCS-Battery-Circulation-Service - All calculations and ROI analysis
Excel Features¶
- Named Ranges: All parameters from the Assumptions tab are defined as named ranges
- Unit Economics: All calculations based on 1 kWh battery unit for easy scaling
- Cell Formatting:
- Green cells (FFE2EFDA): Calculated results
- Blue header (FFD9E1F2): Column headers
- White cells: Input references and formulas
- Formula-Based: All calculations use Excel formulas referencing named ranges
- Scalability: Multiply any result by fleet size (kWh) to get total figures
Version History¶
| Version | Date | Changes | Author |
|---|---|---|---|
| 0.1 | 2025-11-02 | Placeholder created | OVES Team |
| 1.0 | 2025-11-02 | Complete model with unit economics, CapEx/OpEx/ROI structure | OVES Team |
| 1.1 | 2025-11-02 | Bottom-up modeling: derived constraints from rider 30% savings requirement | OVES Team |
| 1.2 | 2025-11-03 | Renamed Daily_Net_Income → Daily_Net_Cash; Removed Net_Profit KPI; Added Payback_Cycles and Batt_Residual_Cycles for investment viability analysis | OVES Team |
| 1.3 | 2025-11-03 | Refactored to multi-step formulas for improved clarity; All calculated metrics now reference intermediate steps instead of duplicating complex expressions | OVES Team |
| 1.4 | 2025-11-03 | Removed operational_util from revenue calculations; operational_util is a network-level metric for future Swap-Network model, not battery-level revenue factor | OVES Team |
| 1.0 | 2025-11-02 | Complete model with unit economics, CapEx/OpEx/ROI structure | OVES Team |
| 1.1 | 2025-11-02 | Bottom-up modeling: derived constraints from rider 30% savings requirement | OVES Team |
| 1.2 | 2025-11-03 | Renamed Daily_Net_Income → Daily_Net_Cash; Removed Net_Profit KPI; Added Payback_Cycles and Batt_Residual_Cycles for investment viability analysis | OVES Team |
Bottom-Up Modeling Sequence: 1. ✅ Rider Model: Established 30% savings requirement → Max swap price = 0.80 USD/day 2. ✅ Battery Asset Model: Analyzed profitability → Derived requirements for SNS-Swap-Network-Service and Generator 3. ⏳ Next: SNS-Swap-Network-Service Model - Must deliver overhead < 0.40 USD/kWh/day and >90% utilization 4. ⏳ Next: EPS-Electric-Power-Service Model - Must provide electricity at < 0.25 USD/kWh (vs current 0.32)