Circulation System Reference
API reference for the Capital Volume II circulation layer (Feature 023).
The circulation system models capital as a process cycling through Money, Productive, and Commodity forms (M-C-P-C’-M’). It adds turnover time, fixed/circulating capital decomposition, reproduction schema checks, inventory tracking, and integrated crisis detection.
Module: babylon.economics.circulation
Enums
CapitalForm
Value |
Description |
|---|---|
|
M: Liquidity, purchasing power |
|
P: Capital engaged in production |
|
C: Finished goods awaiting sale |
ReplacementCyclePosition
Classifies where an economy sits in the fixed capital replacement cycle.
Value |
Threshold |
Description |
|---|---|---|
|
replacement / depreciation > 1.5 |
Excess investment drives replacement wave |
|
ratio > 1.0 |
Investing more than depreciation |
|
ratio > 0.7 |
Covers basics, gradual decline |
|
ratio <= 0.7 |
Capital stock deteriorating |
InventoryDiagnosis
Value |
Condition |
Description |
|---|---|---|
|
raw >= 7 days, finished <= 60 days |
Healthy inventory levels |
|
finished > 60 days |
Cannot sell: realization problem |
|
raw < 7 days |
Cannot produce: input shortage |
CrisisSeverity
Realization crisis severity based on realization rate (realized / produced).
Value |
Realization Rate |
Description |
|---|---|---|
|
> 95% |
Healthy demand |
|
> 85% |
Emerging demand deficiency |
|
> 70% |
Significant demand destruction |
|
<= 70% |
Systemic realization failure |
Data Models
CircuitState
Distribution of an entity’s capital across the three forms at a given tick.
Field |
Type |
Description |
|---|---|---|
|
|
County FIPS code |
|
|
Data year |
|
|
M: cash, deposits, receivables |
|
|
P: fixed + working capital in production |
|
|
C: finished goods awaiting sale |
|
|
Durable means of production (subset of P) |
|
|
Raw materials + labor power (subset of P) |
Computed properties (not stored):
total_capital:money + productive + commodityliquidity_ratio:money / total(0.0 if total = 0)commodity_overhang:commodity / total(0.0 if total = 0)
TurnoverProfile
Temporal characteristics of capital circulation for an industry.
Field |
Type |
Description |
|---|---|---|
|
|
2-6 digit NAICS industry code |
|
|
Days of actual labor per production cycle |
|
|
Days capital sits without labor (drying, aging) |
|
|
Average days to acquire inputs |
|
|
Average days to sell output |
|
|
Fraction of constant capital that is fixed |
Computed properties:
production_time:working_period + non_working_productioncirculation_time:purchase_time + sale_timeturnover_time:production_time + circulation_timeturnovers_per_year:365 / turnover_time(0.0 if turnover_time = 0)production_ratio:production_time / turnover_time
AnnualSurplusValue
Annual surplus value accounting for turnover speed.
Field |
Type |
Description |
|---|---|---|
|
|
County FIPS code |
|
|
Data year |
|
|
v: wages for one production cycle |
|
|
s: surplus extracted per cycle |
|
|
Days per complete circuit |
Computed properties:
rate_of_surplus_value:s / v(per cycle)turnovers_per_year:365 / turnover_time_daysannual_surplus_value:s * turnovers_per_yearannual_rate_of_surplus_value:(s/v) * turnovers_per_year
FixedCapitalItem
A durable means of production with per-item depreciation tracking.
Field |
Type |
Description |
|---|---|---|
|
|
Unique identifier |
|
|
machinery, buildings, vehicles, etc. |
|
|
Original cost |
|
|
Expected productive lifetime |
|
|
Time since acquisition |
Computed properties:
annual_depreciation:initial_value / service_life_years(straight-line)remaining_value:max(0, initial_value - annual_depreciation * current_age_years)depreciation_fund_required:initial_value - remaining_value
DepreciationFundState
Economy-level tracking of fixed capital depreciation and replacement.
Field |
Type |
Description |
|---|---|---|
|
|
County FIPS code |
|
|
Calendar year |
|
|
Gross value of fixed capital stock |
|
|
Total depreciation fund accumulated |
|
|
Current year’s depreciation charges |
|
|
Actual fixed capital purchases this year |
Computed properties:
fund_adequacy:accumulated_depreciation / annual_depreciation_flowreplacement_cycle_position:ReplacementCyclePositionbased onreplacement_expenditure / annual_depreciation_flowratio
CirculationCrisisAssessment
Integrated crisis assessment combining all Volume II signals.
Field |
Type |
Description |
|---|---|---|
|
|
C’ -> M’ failing (commodity overhang > 0.3) |
|
|
Circuit interrupted (liquidity < 0.1 and circulation > production time) |
|
|
Departments out of balance |
|
|
Active vulnerability labels |
Vulnerability derivation rules:
Vulnerability |
Derived From |
Condition |
|---|---|---|
|
|
> 0.3 |
|
|
== |
|
|
== |
|
|
< 0.1 |
Functions
Circuit State (circuit.py)
advance_circuit(state, turnover, surplus_value, elapsed_days) -> CircuitStateAdvances capital through the M-C-P-C’-M’ circuit. Capital transfers fractionally between phases based on elapsed days relative to phase duration. Surplus value is created proportionally during the production phase. Raises
ValueErrorifelapsed_daysis negative.initialize_circuit_state(fips_code, year, total_capital, turnover) -> CircuitStateDistributes initial capital across M/P/C forms proportional to phase durations. Money fraction = (purchase + sale) / turnover_time. Splits productive capital into fixed/circulating per the profile’s ratio.
Turnover (turnover.py)
compute_annual_surplus_value(variable_capital, surplus_per_cycle, turnover_time_days, ...) -> AnnualSurplusValueConstructs an
AnnualSurplusValuewith turnover-amplified surplus.compare_turnover_advantage(fast, slow) -> floatReturns
fast.annual_surplus_value / slow.annual_surplus_value.get_weighted_turnover_profile(industry_weights, source) -> TurnoverProfile | NoneComputes county-level turnover from employment-weighted industry profiles. Returns
Noneif no profiles resolve.
Fixed/Circulating Capital (fixed_circulating.py)
decompose_constant_capital(total_c, fixed_capital_ratio) -> tuple[Currency, Currency]Splits constant capital into
(fixed, circulating)portions. RaisesValueErrorif ratio is outside [0, 1].update_depreciation_fund(previous, annual_depreciation, replacement_expenditure) -> DepreciationFundStateAdvances depreciation fund state by one period.
compute_moral_depreciation(naics_code, physical_remaining_life, economic_remaining_life) -> MoralDepreciationCreates a
MoralDepreciationinstance.
Reproduction Schema (reproduction.py)
combine_departments_ii(dept_iia, dept_iib) -> DepartmentRowSums IIa + IIb into a single Department II row.
check_simple_reproduction(dept_i, dept_ii, tolerance=0.01) -> ReproductionBalanceChecks
I(v + s) = IIc. Reports gap and direction of imbalance.check_extended_reproduction(dept_i, dept_ii, dept_iii) -> ReproductionAnalysisChecks if Dept III can reproduce all departments’ labor power.
compute_disproportionality(dept_i_output, dept_ii_output, dept_i_share_required) -> DisproportionalityCrisisComputes departmental output imbalance metrics.
Inventory (inventory.py)
compute_realization_metrics(value_produced, value_realized, fips_code, year) -> RealizationCrisisConstructs a
RealizationCrisiswith computed gap, rate, and severity.detect_realization_crisis(inventory_trend, production_trend) -> boolReturns
Trueif finished goods are rising while production is flat or falling. ReturnsFalseif either list has fewer than 2 elements.
Crisis Assessment (crisis.py)
assess_circulation_crisis(circuit_state, turnover, inventory, reproduction_balance, reproduction_analysis) -> CirculationCrisisAssessmentDetects realization crisis, turnover disruption, and reproduction failure independently. Generates vulnerability strings per the derivation rules above.
Threshold Constants
All constants are Final[float] values defined in types.py with
data source traceability.
Constant |
Value |
Source |
|---|---|---|
|
60.0 |
Census M3: avg inventory-to-shipments ~1.3 months; 60 = 1.5x normal |
|
7.0 |
Standard JIT minimum buffer (BLS lead time 5-10 days) |
|
0.3 |
Marx Capital II Ch. 16-17: >30% in C form = realization dominates |
|
0.1 |
Marx Capital II Ch. 15: <10% liquid = cannot purchase inputs |
|
0.95 |
>95% realization = normal friction losses |
|
0.85 |
NBER recession classification thresholds |
|
0.70 |
<70% = systemic realization failure |
|
1.5 |
BEA Fixed Asset Tables historical correlation |
|
1.0 |
Investment = depreciation = simple reproduction |
|
0.7 |
<70% of depreciation = active capital destruction |
Graph Bridge Integration
The circulation state is serialized to territory nodes as tick_-prefixed
attributes by write_tick_state_to_graph() in tick/graph_bridge.py.
Node Attribute |
Source |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See Also
Capital Volume II: The Circulation of Capital — Theoretical rationale for Volume II
Capital Volume I Production Dynamics Reference — Volume I production dynamics reference
Economics Pipeline Reference (Features 012–016) — Economics pipeline overview
Capital Volume I: The Production of Surplus Value — Volume I theoretical explanation