NetOSField accessMenu
Signed in user unavailable
Documentation/Infrastructure Attribution
Download PDF

Xiber NetOS - Infrastructure Revenue & Expense Attribution

Operating model for measuring the financial performance of towers, rooftops, data centers, POPs, carrier hotels, and aggregation facilities.


Purpose

Infrastructure assets are not only places where equipment is installed. They are economic platforms that support revenue-producing services downstream. A rooftop, tower, data center, or aggregation site should be evaluated by the revenue it enables, the direct cost it carries, and the downstream costs required to deliver that revenue.

This guide defines how NetOS should attribute revenue and expenses through infrastructure relationships so the platform can eventually produce a full waterfall view of network economics.

The model separates three concepts:

ConceptMeaning
Physical placementWhere a circuit, radio, or facility endpoint physically lands. Example: circuit A location is BSI 1America.
Subtended relationshipWhich parent asset economically supports a customer endpoint, circuit, or child facility. Example: BSI 1America subtends Tower A over fiber.
Cost sourceThe object that contributes cost to the relationship. Example: the customer endpoint is served through the Lakota Lakes POP circuit, so the relationship is customer endpoint and the cost source is Circuit: Lakota Lakes POP.
Attribution periodThe effective date range during which a relationship is financially true. Example: Tower A moved from Parent POP 1 to Parent POP 2 on 2026-05-01.

The same circuit endpoint can stay physically fixed while the business relationship changes over time.


Relationship Diagram

The diagram below shows the intent of the infrastructure attribution tool. Customer revenue is entered at the endpoint or downstream relationship that produces it. Facility costs stay with the asset that owns the obligation. Circuit costs stay on the circuit and are allocated through subtended links when that circuit supports a customer, tower, rooftop, or child facility. The waterfall output rolls those values up to the serving structure, parent facility, market, and portfolio.

Infrastructure attribution waterfall diagram

Core Objects

Infrastructure Asset

An infrastructure asset is a site, facility, or structure that can carry its own cost and may support downstream revenue. Electrical utility accounts are not infrastructure assets; they are add-on service cost items attached to infrastructure or customer sites.

Examples:

Asset TypeExamplesTypical Direct Costs
Towerowned tower, leased tower, water tower attachmentrent, ground lease, power, backhaul, insurance
Rooftopbuilding rooftop, hotel roof, MDU roofroof lease, power, access fees
Data centercolocation facility, meet-me sitecabinet, cross-connects, power, remote hands
POPaggregation point, hub cabinet, carrier hotel presencerack, power, transport, cross-connects
Carrier hotelinterconnect facilityMMR fees, cross-connects, cabinet
Aggregation facilitycabinet, hut, shelter, central officelease, utility, backhaul

Current NetOS fields that contribute to direct site cost:

FieldMeaning
mrc_usdMonthly recurring site/facility cost
nrc_usdOne-time non-recurring site/facility cost
price_escalator_pctContractual recurring cost escalation
term_end_dateRenewal/expiration date
agreement_url and documentsSupporting contracts, invoices, floorplans, photos, MSA, service orders

Infrastructure assets also carry a cost_classification that determines how the facility MRC participates in financial reporting:

ClassificationWaterfall Treatment
operatingDefault state. Facility MRC participates in normal structure economics and inherited donor cost attribution.
pre_revenueFacility MRC is held as pre-revenue investment. It does not flow into downstream inherited cost. The asset carries target MRR, breakeven date, decision owner, notes, and optional review/promotion thresholds.
strategic_redundancyFacility MRC is held as strategic redundancy investment. It does not flow into customer margin. The asset records the protected asset, SLA justification, and review date.
market_overheadFacility MRC contributes to a market-level overhead pool and is excluded from direct structure/customer inherited cost.

This separates steady-state operating margin from deliberate strategic investment. The market waterfall now reports operating revenue, operating cost, and operating margin first. It then deducts pre-revenue investment, strategic redundancy, and market overhead to produce portfolio contribution. Non-operating assets can still appear in topology and inventory, but their facility rent does not distort a downstream tower, POP, or customer margin while the asset is still being justified.

Circuit

A circuit is transport, internet, fiber, cross-connect, or other carrier service. It has its own cost and may connect one infrastructure asset to another, or connect an infrastructure asset to a customer endpoint.

Current NetOS fields that contribute to circuit cost:

FieldMeaning
mrc_usdMonthly recurring carrier cost
nrc_usdOne-time install or setup charge
service_typeDIA, broadband, EVPL, EPL, wave, dark fiber, etc.
A/Z endpointsPhysical locations where the circuit terminates
Agreement documentsService orders, MSAs, amendments, invoices

RF Link

An RF Link is wireless transport between an A location and a Z location. It can represent PTP microwave, PtMP sectors, Tarana links, rooftop wireless links, or licensed backhaul. RF Links are separate from carrier circuits because their economics often include equipment CAPEX, tower or rooftop rent, spectrum/licensing data, and customer endpoint service delivered from a structure.

RF Links are built from existing site records and follow the same direction convention as circuits: the A side is the customer or downstream side, and the Z side is closer to the donor/core. For facility-to-facility backhaul, select an A infrastructure asset and a Z infrastructure asset. For customer PtP service, select the customer endpoint and the Z donor facility. NetOS classifies links with a customer endpoint as customer endlinks and links between two infrastructure assets as backhaul. The displayed link name is generated from the A side, Z side, and selected RF system or equipment type so users do not maintain a separate manual name.

When an RF Link is created from an infrastructure asset to a customer endpoint, NetOS should create or update the matching subtended customer endpoint relationship. The relationship remains customer endpoint, but the transport becomes RF (ptp_wireless, ptmp_wireless, or microwave) and the cost source becomes the RF Link. This keeps the hierarchy drilldown clear: the endpoint is the revenue relationship, and the RF Link is the wireless transport/cost source serving it.

Current NetOS fields that contribute to RF Link attribution:

FieldMeaning
rf_system_id and equipment_typeRF system standard selected from Admin, plus the radio, antenna, sector, or platform used by the link
network_roleGenerated role: customer endlink when one endpoint is a customer, or backhaul when both endpoints are infrastructure
path_role and diversity_groupPrimary, secondary, backup, diverse, or grouped path metadata used to distinguish parallel connectivity
map_colorOptional display hint for differentiating multiple links that follow the same visual path
frequency_mhz and channel_width_mhzSpectrum used by the path
bandwidth_mbpsCapacity available on the RF path
capex_usdOne-time equipment or construction cost, tracked separately from monthly margin
salvage_value_usd, useful_life_months, depreciation_start_dateInputs for straight-line monthly depreciation
mrc_usdMonthly recurring non-rent RF cost, if any
tower_rent_mrc_usdMonthly rent incurred because this RF link uses a tower or rooftop
fcc_call_sign and documentsLicense reference and uploaded FCC license or coordination documents
A/Z locationsExisting infrastructure assets, with customer records acting as customer-site Z endpoints

For monthly waterfall reporting, NetOS treats RF Link MRC plus tower rent MRC as calculated link cost. CAPEX remains visible on the RF Link and NetOS calculates straight-line monthly depreciation when useful life data is present. Depreciation is an asset-cost lens, not a cash-cost replacement for MRC.

RF system standards live in Admin. Each RF system has a name, description, frequency used, capacity, cost, PTP/PtMP type, and equipment role. PtMP inventory is split into base/sector systems and subscriber/client systems. Infrastructure assets host PtMP nodes using base/sector systems, such as a Tarana BN, Siklu Terragraph DN, or Cambium ePMP AP. RF Links created from those PtMP nodes use compatible subscriber systems, such as Tarana RN/RNv, Siklu T280/T265, or Cambium Force 4600c. When a user selects a PtMP source node, NetOS limits the RF Link subscriber selector to radios compatible with that base system and preloads equipment, capacity, and CAPEX defaults. These are starting values; the actual saved CAPEX should be adjusted to match the bill of materials, labor, and site-specific installation cost.

For PtMP customer endlinks, NetOS filters the customer endpoint selector to mapped customer sites within 10 miles of the selected PtMP source node. Users can select multiple nearby customer endpoints and create one RF Link per selected customer in a single add action. Customers without valid coordinates are not shown in this PtMP proximity selector until their address or latitude/longitude is corrected.

When a site has multiple paths, create separate circuits and RF Links for each physical or logical path. Use path_role for operating intent, such as primary or backup, and diversity_group for paths that should be evaluated together. On maps, parallel lines that share an A/Z path should be visually separated by path role, color, and slight line offsets so primary, secondary, and backup paths remain distinguishable.

The same downstream structure can have multiple active subtended relationships to the same parent when each relationship has a distinct circuit or RF Link. This represents redundant transport such as two fibers, fiber plus RF, or primary and backup paths. Reporting should count the downstream structure's own revenue, facility cost, and child rollup once, then add the cost of every active transport path between the parent and downstream structure. A downstream structure should not be active under two different parent sites for the same period unless the old relationship is ended and a new effective-dated relationship is created.

Electrical Service

An electrical service is a utility account or site power service attached to an existing infrastructure asset or customer site. It is separate from infrastructure because the service is an operating cost item, not a structure in the network hierarchy.

Current NetOS fields that contribute to electrical service cost:

FieldMeaning
provider_idElectrical service provider selected from existing service providers
infrastructure_id or customer_idExactly one site where the electrical service is delivered
service_typeCommercial power, house power, dedicated meter, generator, solar, battery backup, or other service
account_number and meter_numberUtility account and meter identifiers
service_voltage, service_amperage, phaseElectrical characteristics for the delivered service
delivery_location and service addressWhere at the site the service is delivered
average_monthly_cost_usdMonthly cost used for attribution until actual bill data is integrated
start_dateService start date
monitoring_urlUtility portal, metering, generator, UPS, or power monitoring link
DocumentsSample bills, invoices, service agreements, meter photos, and supporting documents

For attribution, electrical service cost should roll into the site it is attached to. If the service is attached to an infrastructure asset, it increases the direct site cost of that asset. If the service is attached to a customer site, it increases the customer endpoint cost. This keeps the physical hierarchy clean while still capturing the recurring cost required to operate the site.

Infrastructure and customer detail pages should show attached electrical services next to the other related services for that site. Users should be able to see the provider, account, meter, service characteristics, average monthly cost, monitoring link, and uploaded bills or supporting documents without leaving the site detail context.

Customer

A customer is the revenue owner for an endpoint-style service. NetOS separates customers from circuits and RF Links so the same commercial account or MFC property can have multiple paths, multiple services, and multiple supporting assets.

Commercial customer records describe the sold service. DIA and PTP include capacity because they are transport products. OTT services such as VoIP, IPTV, managed WiFi, and managed security are tracked as service flags on the customer. Customer records also carry contracted MRR, install NRC, and revenue source. MFC customer records describe the property model, including address, tenant count, access technology, property owner, property manager, and access rules.

Circuits, RF Links, and subtended links can reference customer_id. That selector should be preferred when the endpoint customer already exists. Free-form customer names remain useful for discovery records that have not yet been normalized into a customer record.

Customers also carry address and coordinates because they can act as the customer-site Z location for circuits and RF Links. This lets the map show customer sites alongside infrastructure assets and lets RF Links terminate at either a facility, a free-form Z location, or a customer site.

Revenue precedence is explicit: subtended link revenue_mrr_usd is the override when entered. If the customer has no explicit subtended link revenue, NetOS uses the customer's contracted MRR once for the customer summary. When several protected or parallel paths serve the same customer and no explicit path revenue is entered, the serving path table displays the fallback MRR evenly across paths for readability, but the customer financial summary does not multiply the customer revenue by the path count. This allows quick customer-site setup while preserving precise per-link revenue when a customer has multiple services.

Customer detail pages are the endpoint drilldown for the waterfall model. When a user clicks a customer endpoint in the hierarchy, subtended network list, dashboard attribution, or financial view, NetOS opens that customer and shows:

Customer Detail SectionMeaning
Customer RevenueContracted MRR from the customer record, unless a subtended link revenue override is present
Direct Serving CostCost of the circuit or RF Link directly serving the customer endpoint
Inherited Donor CostAllocated share of shared facility MRC and upstream donor paths that feed the POP, tower, rooftop, or facility serving the customer
Total Attributed CostDirect serving cost plus inherited donor cost, maintenance reserve, and commission when present
Gross MarginCustomer revenue minus total attributed cost
Serving PathsThe donor structure, transport type, circuit/RF source, revenue, and cost for each path serving the customer
ROI AnalysisCustomer revenue and attributed cost projected against total build CAPEX and serving path costs over 2-, 3-, 5-, and 10-year terms

The inherited donor cost model defaults to revenue pro rata allocation at each structure in the serving chain. If a POP has $500 of facility MRC and an upstream circuit costing $1,000 MRC, and that POP serves $10,000 of unique active customer MRR, a customer generating $1,500 MRR inherits 15% of the POP facility cost and 15% of the upstream circuit cost. If the POP itself is fed by a core site, the customer also inherits a revenue pro rata share of the core site's facility MRC using total customer revenue generated under that core site. This is explicit in the UI as revenue_pro_rata. It applies to shared circuits, RF transport, tower or rooftop rent represented through RF Link monthly cost, and facility rent/MRC.

Users can override inherited cost allocation on the subtended relationship when revenue pro rata is not the right driver. The default should remain revenue_pro_rata unless there is a documented reason to use a different method. manual_pct applies the entered inherited allocation percentage to upstream facility and donor path cost. equal_share divides the inherited cost across the active revenue endpoints under that structure. direct assigns 100% of the inherited shared cost to the relationship. Customer inherited cost detail shows the method and percentage used for each row so manually adjusted attribution remains auditable.

ROI Analysis treats RF Link capex_usd when present plus customer property CAPEX as the upfront investment required to serve the customer. This keeps the model useful for RF-fed customers, circuit-fed customers with property build costs, and redundant serving paths with their own payoff requirements. Customer install NRC is treated as upfront revenue that offsets the payback requirement. The ROI table is a snapshot model: it adds an 8% annual RF CAPEX maintenance reserve when RF CAPEX exists plus any customer maintenance reserve MRC as monthly OPEX, generates monthly revenue from contracted MRR, term years, term start/end dates, revenue escalator, and ramp months, subtracts commission as either a percentage of monthly revenue or a fixed monthly dollar amount, and compounds direct serving cost plus inherited donor cost upward by 3% annually starting in year 2. The ROI detail separates serving cost, maintenance reserve, commission, total attributed cost, and margin before CAPEX so the assumptions can be audited. The monthly schedule uses the same variables by month. Net cash after CAPEX is the sum of monthly escalated contribution margin plus install NRC minus total build CAPEX; ROI percentage is net cash after CAPEX divided by total build CAPEX. IRR uses the monthly cash-flow stream of upfront NRC less total build CAPEX at month 0 followed by monthly contribution margin for the selected term. NPV uses the same cash flows with a 10% annual discount rate. Margin multiple is total contribution margin before CAPEX divided by total build CAPEX. If there is no build CAPEX, NetOS still shows net cash, but ROI percentage, CAPEX/ARR, margin multiple, and IRR are not meaningful.

The customer detail What If calculator is intentionally not stored. It reuses the customer revenue schedule and lets the user enter a hypothetical Type 2 circuit, alternate RF build, or renewal scenario. This supports conversion decisions such as comparing an owned RF build against a leased circuit by modeling alternate monthly transport cost, build CAPEX, monthly OPEX/reserve, install NRC, and commission assumptions.

Subtended Link

A subtended link is the economic relationship between a parent infrastructure asset and a downstream revenue source or downstream asset.

Current NetOS fields:

FieldMeaning
parent_infrastructure_idThe structure/facility receiving attribution credit
downstream_infrastructure_idOptional child structure/facility that rolls up to the parent
circuit_idOptional circuit used by or associated with the relationship
rf_link_idOptional RF Link serving a customer endpoint or downstream asset
customer_idOptional customer record receiving or producing the endpoint service
customer_nameEnd customer or account name when the endpoint is customer revenue
endpoint_nameSite, subscriber, building, or endpoint served
relationship_typeCustomer endpoint, child structure, backhaul, aggregation, etc.
transport_typeFiber, PTP wireless, PtMP wireless, DIA, broadband, cross-connect, etc.
revenue_mrr_usdDirect monthly revenue attributed to this link; overrides customer contracted MRR
cost_mrc_usdManual monthly cost override for this link when calculated allocation is unavailable or intentionally overridden
effective_fromFirst date the relationship is financially active
effective_toLast date the relationship is financially active
allocation_methodHow shared revenue/cost should be allocated
allocation_pctPercent applied when using percentage allocation
inherited_allocation_methodHow upstream facility and donor path cost should be attributed; defaults to revenue_pro_rata
inherited_allocation_pctPercent applied when inherited_allocation_method is manual_pct
reparented_from_link_idPrior relationship when a child/customer moves to a different parent

On an infrastructure detail page, the same relationship is shown from two directions:

ViewMeaning
Subtended NetworkWhat this site serves downstream: customers, child structures, RF links, and circuits.
Upstream Donor & PathsWhat serves this site upstream: donor structure, transport path, and attributed path cost.
Structure Financial SummaryThe site-level financial view: upstream path cost, direct facility cost, downstream path/customer revenue, downstream cost, total cost, and margin.

Example: if BSI US Bank Cincinnati subtends Lakota Lakes POP over an Altafiber EVPL circuit, the BSI page shows Lakota Lakes POP in its subtended network. The Lakota page shows BSI US Bank Cincinnati as the upstream donor and the Altafiber circuit as the path/cost source.

The structure detail summary includes the upstream path cost for the site being viewed. Parent portfolio rollups do not double count that same path: the parent sees the parent-to-child path as its direct link cost, while the child detail page shows the same path as its upstream cost.


Attribution Principles

1. Attribute Revenue to the Structure That Enables Service

Revenue should be assigned to the lowest infrastructure asset that directly enables the service, then roll up through parents.

Example:

RelationshipDirect Revenue
Tower A -> Customer 1$500 MRR
Tower A -> Customer 2$750 MRR
POP 1 -> Tower A$0 direct revenue, but receives Tower A rollup

Tower A gets $1,250 direct revenue. POP 1 gets $1,250 downstream revenue through Tower A.

2. Keep Facility Costs on the Asset That Owns the Obligation

Facility lease, cabinet, power, roof rent, or tower rent belongs to the asset that has the obligation.

Example:

AssetDirect Facility Cost
Rooftop A$350 MRC roof lease
POP 1$1,800 MRC cabinet and power

The rooftop cost stays on Rooftop A. POP 1 only receives it as downstream cost if Rooftop A is subtended by POP 1.

3. Keep Circuit, RF Link, and Electrical Costs on the Source Record, Then Allocate Through the Relationship

Circuit MRC belongs to the circuit record. RF Link MRC, tower rent MRC, and CAPEX belong to the RF Link record. Electrical service average monthly cost belongs to the electrical service record attached to the site. A subtended link can reference the transport source to explain which circuit or RF Link supports the relationship, while site summaries include attached electrical services as add-on cost.

In the hierarchy drilldown, NetOS should distinguish the relationship from the cost source. A row may be a customer endpoint, downstream structure, or backhaul relationship, while the cost source may be a circuit, RF Link, electrical service, or manual override. This makes it clear what the node represents and which object is contributing cost to that segment of the network.

NetOS should calculate the attributed link cost automatically when it has the required driver data. Users should select the allocation method and provide the needed driver, such as allocation percentage, committed bandwidth, or subscriber count. Manual link cost should be treated as an override or fallback, not the normal workflow.

Attribution depends on how the circuit or RF Link is used:

Use CaseRecommended Allocation
Circuit serves one downstream endpointDirect allocation, 100% of linked circuit MRC
RF Link serves one customer endpointDirect allocation, 100% of RF Link MRC plus tower rent MRC
Circuit serves multiple customers on one towerCalculate by revenue share or subscriber count
PtMP sector serves multiple customersCalculate by revenue share, bandwidth share, or subscriber count
Backhaul circuit serves a child towerDirect to child structure, then roll up
Aggregation circuit supports many facilitiesCalculate by bandwidth, revenue, or configured percentage
Cross-connect supports one carrier handoffDirect to the relevant circuit or facility

4. Never Rewrite History When Relationships Change

When a child facility or customer endpoint moves from one parent to another:

  1. Set effective_to on the old subtended link.
  2. Create a new subtended link under the new parent.
  3. Set reparented_from_link_id on the new link.
  4. Leave circuit endpoint history intact unless the physical circuit endpoint actually changed.

This preserves historical reporting and makes month-by-month waterfall views possible.

5. One Active Attribution Parent per Target

A circuit, RF Link, customer record, or downstream infrastructure asset should not be active under two parents for the same reporting period. NetOS blocks overlapping active assignments so revenue and cost are not counted twice in the hierarchy.

To move an attributed target:

  1. Edit the existing subtended relationship and set effective_to to the last valid date.
  2. Add the target under the new parent with a later effective_from date.
  3. Use reparented_from_link_id when preserving the explicit move history is important.

NetOS also blocks circular hierarchy assignments, such as making a parent facility subtended by one of its own children.


Standard Rollup Formula

For each infrastructure asset:

direct_revenue = sum(active subtended link revenue_mrr_usd, or customer contracted_mrr_usd when link revenue is blank)
direct_link_cost = sum(active subtended link cost_mrc_usd)
direct_facility_cost = infrastructure.mrc_usd

downstream_revenue = sum(child infrastructure total_revenue)
downstream_cost = sum(child infrastructure total_cost)

total_revenue = direct_revenue + downstream_revenue
total_cost = direct_facility_cost + direct_link_cost + downstream_cost
gross_margin = total_revenue - total_cost
gross_margin_pct = gross_margin / total_revenue

The current NetOS implementation uses this structure for infrastructure economics. Future versions should apply the same logic by accounting period and allocation method.


Allocation Methods

Allocation methods should produce calculated cost whenever NetOS has enough data.

Allocation methods diagram

Current implemented behavior:

MethodCalculation
direct100% of linked circuit MRC unless a manual override is entered
manual_pctlinked circuit MRC multiplied by allocation_pct unless a manual override is entered
revenue_shareUses full linked source MRC until revenue-share driver fields are modeled
bandwidth_shareUses full linked source MRC until committed or measured bandwidth driver fields are modeled
equalUses full linked source MRC until sibling relationship group driver fields are modeled

The Subtended Network form shows a calculated direct link cost preview. When a manual override is entered, the override wins. When manual_pct is selected, the percentage controls the attributed cost. When a future method such as bandwidth_share, revenue_share, or equal is selected before its driver fields are modeled, NetOS uses the full linked source MRC rather than dropping the transport cost to zero.

Inherited shared cost allocation is separate from direct link-cost allocation. The subtended network list shows both the inherited attribution method and the calculated inherited cost applied to each relationship. The form includes a live inherited cost calculator that recalculates on each form change. It compares all inherited methods side by side using the current relationship revenue or downstream structure rollup revenue, sibling subtended relationships at the parent site, and the parent site's current shared monthly cost pool. The shared monthly cost pool includes the parent facility MRC plus the upstream donor-chain cost currently serving that parent, after applying the upstream relationship's own inherited allocation method. Parallel transport rows to the same downstream structure or customer count the revenue target once for inherited allocation. This lets the user compare revenue pro-rata, equal share, manual percent, and direct assignment before saving the relationship.

The infrastructure detail page also shows an inherited cost balance for the subtended network. Manual percentage and direct inherited allocations consume the shared cost pool first. Remaining cost is then assigned to calculated rows, such as revenue pro-rata or equal share rows. Calculated rows can never consume more than the remaining balance after manual/direct rows. If multiple manual or direct rows request more than the available pool, NetOS gives precedence to the row most recently changed and caps older fixed rows to the remaining balance. If manual adjustments leave cost unassigned, NetOS calls out the unallocated balance. Users can assign the remaining balance to the other calculated subtended links pro-rata or equally, which saves explicit manual percentages on those rows for auditability.

MethodCalculation
revenue_pro_rataDefault. Relationship share equals customer revenue or downstream rollup revenue divided by total revenue under the structure
manual_pctUpstream facility and donor path cost multiplied by inherited_allocation_pct
equal_shareUpstream facility and donor path cost divided equally across active revenue endpoints under the structure
direct100% of upstream facility and donor path cost assigned to the relationship

Direct Allocation

Use when a cost or revenue belongs completely to one relationship.

Example:

ParentLinkRevenueCostAllocation
Tower ACustomer 1 via PTP radio$600$0direct, 100%
Tower ADedicated DIA resale$1,200$650direct, 100%

Percentage Allocation

Use when a known percentage of a shared cost belongs to a relationship.

Example:

Shared CircuitTotal MRCLinkAllocation %Attributed Cost
POP 1 backhaul$2,000Tower A40%$800
POP 1 backhaulTower B35%$700
POP 1 backhaulTower C25%$500

Revenue Share Allocation

Use when a shared cost should follow revenue contribution.

Example:

LinkRevenueShare of RevenueAllocated Backhaul Cost
Customer A$50025%$250
Customer B$1,00050%$500
Customer C$50025%$250

This is useful when capacity consumption is unknown but customer revenue is known.

Bandwidth Allocation

Use when a shared transport cost should follow committed or measured bandwidth.

Example:

LinkCommitted MbpsShare of BandwidthAllocated Cost
Customer A100 Mbps10%$100
Customer B400 Mbps40%$400
Tower B uplink500 Mbps50%$500

This becomes more accurate after integration with monitoring or billing systems.

Subscriber Count Allocation

Use for PtMP systems where a shared AP/radio/backhaul supports many similar customers.

Example:

SectorSubscribersShared Sector CostCost Per Subscriber
Tarana Sector 120$1,000$50

Each customer link receives $50 of shared sector cost.


Worked Examples

The worked examples below use the same basic pattern: revenue enters through customer or downstream links, direct facility costs stay on the owning asset, and transport costs are attributed through the relationship that uses the transport.

Worked examples hierarchy diagram

Example 1: Rooftop With PtMP Wireless Customers

Rooftop A has a Tarana base node serving five customer endpoints.

ItemAmount
Rooftop lease$300 MRC
Power$75 MRC
Backhaul circuit$900 MRC
Customer revenue$2,750 MRR

Recommended modeling:

RecordModel
Rooftop AInfrastructure asset with mrc_usd = 375
BackhaulCircuit with mrc_usd = 900
Customer linksFive subtended links under Rooftop A
Backhaul allocationEither direct to Rooftop A or allocated across customer links

Simple rooftop economics:

direct_revenue = 2750
direct_facility_cost = 375
direct_link_cost = 900
total_cost = 1275
gross_margin = 1475
gross_margin_pct = 53.64%

Example 2: Tower Subtended by a Data Center Over Fiber

Data Center POP 1 aggregates Tower A over an EVPL circuit. Tower A serves customers.

ItemAmount
POP 1 cabinet/power$1,800 MRC
EVPL from POP 1 to Tower A$1,200 MRC
Tower A lease/power$600 MRC
Tower A customer revenue$4,500 MRR

Recommended modeling:

RecordModel
POP 1Infrastructure asset with mrc_usd = 1800
Tower AInfrastructure asset with mrc_usd = 600
EVPLCircuit with A location POP 1 and Z location Tower A
POP 1 -> Tower ASubtended link with downstream_infrastructure_id = Tower A, circuit_id = EVPL, cost_mrc_usd = 1200
Tower A -> customersCustomer subtended links totaling $4,500

Tower A economics:

direct_revenue = 4500
direct_facility_cost = 600
total_revenue = 4500
total_cost = 600
gross_margin = 3900

POP 1 economics:

direct_revenue = 0
direct_link_cost = 1200
direct_facility_cost = 1800
downstream_revenue = 4500
downstream_cost = 600
total_revenue = 4500
total_cost = 3600
gross_margin = 900

Example 3: Aggregation Facility With Multiple Child Towers

Aggregation Facility A subtends three towers. Each tower has its own customers and costs.

ChildRevenueFacility CostTransport Cost From Parent
Tower A$4,500$600$1,200
Tower B$3,200$500$900
Tower C$2,100$400$700

Parent facility direct cost is $2,000 MRC.

Waterfall:

LayerRevenueCostMargin
Tower A$4,500$600$3,900
Tower B$3,200$500$2,700
Tower C$2,100$400$1,700
Parent transport to children$0$2,800-$2,800
Parent facility$0$2,000-$2,000
Total parent rollup$9,800$6,200$3,600

This view answers whether the aggregation facility is economically successful after the child towers and required transport are included.

Example 4: Reparenting a Child Tower

Tower A originally rolls up to POP 1. On 2026-05-01, it is moved to POP 2.

LinkParentChildEffective FromEffective To
Link 1POP 1Tower A2025-01-012026-04-30
Link 2POP 2Tower A2026-05-01null

Link 2 should store reparented_from_link_id = Link 1.

Reports for April 2026 attribute Tower A to POP 1. Reports for May 2026 attribute Tower A to POP 2. The physical EVPL circuit endpoint should only change if the actual circuit was moved.


Waterfall Reporting Model

A complete waterfall should show how revenue and expenses flow from customer endpoints to structures and then to parent aggregation points.

Use this example scenario:

  1. Three customers are served from Tower A and generate $4,500 MRR.
  2. Tower A has $600 MRC of direct facility cost.
  3. POP 1 feeds Tower A with an EVPL backhaul circuit that costs $1,200 MRC.
  4. POP 1 has its own cabinet and power cost of $1,800 MRC.

The waterfall answers two different questions. First, is Tower A locally profitable before upstream cost? Yes: $4,500 revenue - $600 facility cost = $3,900 margin. Second, is POP 1 profitable after carrying Tower A, the EVPL backhaul, and its own facility cost? Yes, but only $900 margin.

Waterfall reporting model diagram

Recommended levels:

LevelDescription
Customer endpointEnd user or service endpoint revenue
Access linkPTP, PtMP, fiber drop, DIA resale, broadband, or cross-connect used by the endpoint
Serving structureTower, rooftop, MDU, POP, or data center directly serving the endpoint
Backhaul/transportCircuits or wireless links connecting the structure upstream
Parent facilityAggregation site, data center, POP, carrier hotel
Regional/network rollupMarket, state, provider, service type, or entire infrastructure portfolio

Example waterfall output for the scenario above:

RowWhat It MeansRevenueCostDownstreamTotal CostMargin
Customer linksThe customer subtended links attached to Tower A$4,500$0$0$0$4,500
Tower AThe serving structure keeps the customer revenue and owns tower lease/power$4,500$600$0$600$3,900
POP 1 -> Tower A EVPLThe backhaul relationship required to support Tower A$0$1,200$0$1,200-$1,200
POP 1The parent facility receives Tower A's economics and adds POP cabinet/power cost$0$1,800$4,500 revenue / $1,800 cost$3,600$900
Market rollupThe portfolio layer sums POP 1 and other infrastructure assets in the market$0$0$4,500 revenue / $3,600 cost$3,600$900

The key point is that the same revenue can look very profitable at the serving structure level, but the parent view is more honest about the full cost to deliver that revenue. Tower A's local margin is $3,900. POP 1's rollup margin is $900 after including the EVPL and POP costs.

Drilldown Flow Labels

The financial drilldown exposes row-level revenue and expense detail so users can understand both the amount and the direction of attribution.

LabelMeaning
Rolls UpRevenue produced by a customer endpoint or child structure contributes upward to the serving structure, parent POP, market, and portfolio rollup.
Flows DownCost from a circuit, RF Link, or other transport path is assigned downward into the structure or endpoint that depends on that path.
LocalCost belongs to the current structure itself, such as facility MRC, cabinet cost, rooftop rent, or other site-level obligation.

For example, Lakota Lakes POP can show customer endpoint revenue as Rolls Up because the customer revenue contributes to Lakota's total revenue. Its upstream EVPL path can show as Flows Down because that transport cost is assigned from the donor path into Lakota's cost stack.


Accounting Periods

Future reporting should evaluate active relationships by period:

relationship is active for period when:
effective_from <= period_end
and (effective_to is null or effective_to >= period_start)

Monthly reports should prorate revenue and cost when a relationship starts or ends mid-month. Until proration is implemented, NetOS should use whole-month attribution and clearly label reports as non-prorated.

Recommended period rules:

ScenarioRule
Link active full monthAttribute full monthly value
Link starts mid-monthProrate by active days, future state
Link ends mid-monthProrate by active days, future state
Link reparentedOld parent receives value through old effective_to; new parent receives value from new effective_from
Facility contract escalatesApply escalated MRC beginning on escalation date
Circuit billing variance existsUse invoice actuals for closed accounting periods once invoice ingestion exists

Recommended Data Entry Workflow

Adding a Customer Endpoint Under a Structure

  1. Open the serving infrastructure asset.
  2. Add a subtended link.
  3. Enter customer name, endpoint name, transport type, revenue MRR, and direct link cost if known.
  4. Link an existing circuit if the customer service depends on one specific circuit.
  5. Set effective_from.
  6. Save supporting documents if available.

Adding a Child Facility Under a Parent

  1. Open the parent infrastructure asset.
  2. Add a subtended link with downstream_infrastructure_id.
  3. Link the transport circuit if one exists.
  4. Put the transport cost either on the circuit record or in cost_mrc_usd for the subtended link, depending on whether it is already represented as a circuit.
  5. Set the relationship effective date.

Changing a Parent Relationship

  1. Open the current parent relationship.
  2. Set effective_to to the last valid date.
  3. Create a new subtended link under the new parent.
  4. Set effective_from to the first valid date.
  5. Link the new record back to the prior record with reparented_from_link_id.
  6. Only update circuit endpoints if the physical circuit path changed.

Open Modeling Decisions

These should be resolved before production financial reporting:

DecisionOptions
Source of customer revenueManual entry first, then Sonar integration
Cost source of truthContract MRC first, invoice actuals after invoice ingestion
Shared transport allocationDirect, percentage, revenue share, bandwidth, subscriber count
Wireless equipment costsExpense as direct link cost, facility cost, or depreciated asset
NRC treatmentExclude from MRR margin, amortize across term, or report separately
Mid-month prorationWhole-month initially, daily proration later
Tax/surcharge treatmentInclude in actual invoice cost or separate pass-through category

Current Implementation Status

Implemented:

  • Infrastructure assets have direct mrc_usd and nrc_usd.
  • Circuits have direct mrc_usd and nrc_usd.
  • Infrastructure detail supports multiple supporting documents.
  • Infrastructure detail supports subtended links.
  • Subtended links can reference child infrastructure, customer endpoints, circuits, and RF Links.
  • Subtended links include effective dates, allocation method, allocation percent, and reparent lineage.
  • RF Link calculated monthly cost uses RF MRC plus tower rent MRC. CAPEX is tracked on the link and is not included in monthly margin unless a future amortization model includes it.
  • Infrastructure economics roll up direct revenue, direct costs, downstream revenue, downstream costs, total cost, total revenue, and margin.

Next recommended implementation steps:

  1. Add a guided "Change Parent" action that closes the old link and creates the new one atomically.
  2. Add edit support for existing subtended links in the UI.
  3. Add accounting-period filters and historical waterfall reporting.
  4. Add allocation calculators for revenue share, bandwidth, and subscriber count.
  5. Integrate Sonar customer revenue as the revenue source of truth.
  6. Integrate invoice actuals as the expense source of truth for closed periods.
  7. Add exportable waterfall reports by asset, market, provider, and month.