Analyses

Demand

The demand analysis estimates the number of people residing within a defined radius of each point of interest (POI) by leveraging granular population datasets. This serves two purposes: approximating the number of active internet users at each POI, and deriving the total throughput (in Mbps) that any technology option must provide to meet that demand.

If the input data includes values for total_mbps (total bandwidth demand in Mbps) or number_of_users (peak concurrent internet users), those user-supplied values are used directly. Otherwise, both quantities are estimated by the demand analysis as described below.

Number of users is estimated as:

where is the population within radius_for_demand km of the POI, is the user rate (e.g. the share of the population of school age, for a school connectivity analysis), and is the simultaneity rate — the share of those users expected to be online at the same time, so that represents peak concurrent users rather than the total user base.

Figure: Population buffers used to estimate the number of users around points of interest.

demand-estimation

Total throughput demand is estimated as:

where is the per-user demand in Mbps, and the estimate is constrained between a floor and a ceiling .

The floor (20 Mbps) ensures that every POI is assigned a minimum viable level of demand, even where the surrounding population is very sparse or absent. The ceiling avoids unrealistically high estimates and is defined as the highest throughput achievable across any of the supported technology options:

Figure: Predicted throughput as a function of the number of concurrent users. Demand rises linearly with users but is held at a floor (20 Mbps) for sparse locations and capped at a ceiling ().

demand-curve

Required data inputs

  • Points of interest (POI layer)

Population data is automatically retrieved by the model from WorldPop.

Model parameters

Parameter Description Default Configurable in CPP
radii Buffer radii (km) around each POI; all distances are reported in the outputs [1, 3, 5] No
radius_for_demand The radius (km) used to estimate the number of users, drawn from radii 1 No
mbps_demand_per_user Per-user bandwidth demand (Mbps) 2 Yes
user_rate Share of the local population counted as users (1 = entire population) 0.25 No
simultaneous_users_rate Share of users expected to be online at the same time, used to convert the user base into peak concurrent users 0.10 No
overlap_allowed Whether buffers around POIs may overlap; if False, overlapping areas are assigned to a single POI to avoid double-counting False No
max_throughput_fiber Maximum achievable download speed via fibre (Mbps) 15,000 No
max_throughput_p2area Maximum achievable download speed via cellular (Mbps) 200 No
max_throughput_p2p Maximum achievable download speed via point-to-point microwave (Mbps) 400 No
max_throughput_sat Maximum achievable download speed via satellite (Mbps) 200 No

Non-configurable parameters are hard-coded to the default values shown above.

Models

Fibre

The fibre path model identifies the shortest paths for connecting unconnected points of interest (POIs) to the existing optical fibre network using the road network. By minimizing the total length of fibre required, this model reduces overall deployment costs while efficiently extending connectivity.

To start with, the model connects POIs and fibre nodes to the existing road network using straight lines (unless they are already on the road network). Then, for each unconnected POI, it computes the shortest path to all fibre nodes. POIs that are already connected to the fibre network can also act as fibre nodes, from which the fibre network can be extended.

Figure: Graph initialization and fibre path algorithm (school connectivity example)

graph-initialization

At each step of the algorithm, new connections are made between connected and unconnected points as long as the length of the new connection is below a specified threshold. For example, it can be specified that no single fibre connection should be longer than 5 kilometres.

This approach enables economies of scale: POIs can act as relay points for neighbouring POIs, enabling connectivity without each one needing to connect directly to a transmission node. This approach optimises resource usage and simplifies network expansion.

In practice, this model is an application of Kruskal's algorithm to find a Minimum Spanning Tree (MST) in a network graph, where the edges are the road network and the vertices are POIs and fibre nodes. The MST ensures the minimal fibre path necessary to connect all relevant points while adhering to road network constraints related to distance.

Figure: Output of fibre path algorithm

nam-fibre-lines

Feasibility

Fibre is considered a feasible technology for a POI if the algorithm is able to connect that POI to the fibre network, given the algorithm constraints - particularly the maximum length of fibre allowed per connection. In practice, fibre will not be feasible for POIs that are very far away from transmission nodes or are unreachable by road.

Required data inputs

  • Points of interest
  • Transmission nodes

The data on the road network is automatically fetched by the model from OpenStreetMap.

Model parameters

Parameter Description Default Configurable in CPP
max_connection_distance Maximum allowable distance for a single connection (metres) 15,000 Yes
network_type Type of road network to consider all_public No
distance_metric Metric used to compute distances in the network length No
n_clusters Number of geographical clusters used for analysis (1 = no clustering) 1 No
use_road_data Whether to use road network data for distance calculations True No

Non-configurable parameters are hard-coded to the default values shown above.

Fibre cost function

The fibre cost function depends on the parameters below.

Parameter Description Default Configurable in CPP
hw_setup_cost_fibre Hardware setup cost per POI (USD) 1,200 Yes
focl_constr_cost_fibre Fibre optic cable construction cost (USD/km) 30,000 Yes
reinv_period_fibre Hardware reinvestment period (years) 3 Yes
an_hw_maint_and_repl_fibre Annual hardware maintenance and replacement cost (fraction of initial CAPEX) 0.05 Yes
an_isp_fees_one_mbps_fibre Annual ISP retail fees (USD/Mbps/year) 5.5 Yes
max_throughput_fibre Maximum achievable download speed via fibre (Mbps). The throughput is capped at this value. 15,000 No
interest_rate Discount rate used to compute present values 0.02 No

Non-configurable parameters are hard-coded to the values shown above.

Inputs

In addition to the parameters above, the cost function takes the following quantities, derived upstream for each POI:

  • — fibre length required to connect the POI (km)
  • — throughput (Mbps)
  • — project period over which costs and revenues are evaluated (years)
  • — fibre expansion factor, applied to the estimated length to account for routing overhead (default 1.1)

Capital expenditure (CAPEX)

Initial CAPEX combines the fixed hardware setup cost with the cost of constructing the required fibre. The fibre length is scaled by the expansion factor to reflect that the cable actually laid exceeds the estimated path length:

Hardware is replaced at regular intervals over the project period. The number of reinvestments is the number of complete reinvestment cycles elapsed:

Total CAPEX is therefore:

Operating expenditure (OPEX)

Annual OPEX is a fixed fraction of the initial CAPEX, covering maintenance and replacement:

Cost of ownership

The total cost of ownership over the project period is the sum of total CAPEX and total OPEX:

Revenue

Annual revenue is the retail fee paid to the operator, which scales with throughput. Throughput is capped at max_throughput_fibre, since operators can only deliver download speeds up to a certain limit:

Profit

Profit over the project period is total revenue less the cost of ownership:

Annualised cost

For per-year reporting, CAPEX is annualised by spreading total CAPEX evenly across the project period and adding annual OPEX:

Present values

Costs and revenues are discounted to present value using the present value interest factor of an annuity (PVIFA), at interest rate :

The net present value is the difference between the present value of revenues and the present value of costs.

Cellular

The cellular model relies on cellular coverage analysis. If mobile coverage contours are provided, such as in the Figure below, then the coverage status is determined by overlaying the POIs over this layer.

Figure: Mobile coverage contours

4g-coverage-small

If no mobile coverage contours are provided, then the locations of cell sites have to be provided and mobile coverage is determined by the distance from a cell site. Each site is assumed to provide coverage within a specified maximum radius, which is controlled by the model parameter coverage_distance.

Feasibility

Cellular is considered a feasible technology for a POI if it is within the cellular coverage area (3G, 4G or 5G).

Required data inputs

  • Points of interest
  • Mobile coverage contours or Cell Sites

Model parameters

Parameter Description Default Configurable in CPP
coverage_distance Distance around cell sites used to approximate coverage when no map is available (metres) 1,000 No
coverage_type Default network type for coverage buffers when no map is available 4G No

Non-configurable parameters are hard-coded to the default values shown above.

Cellular cost function

The cellular cost function depends on the parameters below.

Parameter Description Default Configurable in CPP
hw_setup_cost_p2area Hardware setup cost per POI (USD) 120 Yes
an_hw_maint_and_repl_p2area Annual hardware maintenance and replacement cost (fraction of initial CAPEX) 0.12 Yes
an_isp_fees_one_mbps_p2area Annual ISP retail fees (USD/Mbps/year) 4.5 Yes
reinv_period_p2area Hardware reinvestment period (years) 5 Yes
max_throughput_p2area Maximum achievable download speed via cellular (Mbps). The throughput is capped at this value. 200 No
interest_rate Discount rate used to compute present values 0.05 Yes

Non-configurable parameters are hard-coded to the default values shown above.

Inputs

In addition to the parameters above, the cost function takes the following quantities, derived upstream for each POI:

  • — throughput (Mbps)
  • — project period over which costs and revenues are evaluated (years)

Capital expenditure (CAPEX)

Unlike fibre, cellular deployment has no per-distance construction cost; initial CAPEX is simply the hardware setup cost:

Hardware is replaced at regular intervals over the project period. The number of reinvestments is the number of complete reinvestment cycles elapsed:

Total CAPEX is therefore:

Operating expenditure (OPEX)

Annual OPEX is a fixed fraction of the initial CAPEX, covering maintenance and replacement:

Cost of ownership

The total cost of ownership over the project period is the sum of total CAPEX and total OPEX:

Revenue

Annual revenue is the retail fee paid to the operator, which scales with throughput. Throughput is capped at max_throughput_p2area, since operators can only deliver download speeds up to a certain limit:

Profit

Profit over the project period is total revenue less the cost of ownership:

Annualised cost

For per-year reporting, CAPEX is annualised by spreading total CAPEX evenly across the project period and adding annual OPEX:

Present values

Costs and revenues are discounted to present value using the present value interest factor of an annuity (PVIFA), at interest rate :

The net present value is the difference between the present value of revenues and the present value of costs.

Point-to-Point

The point-to-point model evaluates the feasibility of establishing radio links between points of interest (POIs) and cell sites using visibility analysis. This involves assessing whether the line of sight between a POI and a cell site is obstructed, ensuring that only feasible links are considered for deployment. The analysis uses open topography data from the Shuttle Radar Topography Mission (SRTM), which provides 30-meter resolution elevation data. The maximum visibility limit is set at 35 kilometres, meaning that cell sites beyond this distance are not considered visible or feasible for point-to-point connectivity.

Figure: Visible cell site

visible-cell-site

Figure: Obstructed cell site

not-visible-cell-site

Feasibility

Point-to-point microwave is considered a feasible technology for a POI if at least one cell site (or another POI) is visible from the POI.

Required data inputs

  • Points of interest
  • Cell sites

Model parameters

Parameter Description Default Configurable in CPP
search_radius Search radius for nearby cell sites (km) 35 No
poi_antenna_height Height of the POI antenna (metres) 15 No
num_visible Number of visible cell sites to consider 1 No
allowed_radio_types Allowed radio types for cell sites ['2G','3G','4G','5G'] No

Non-configurable parameters are hard-coded to the default values shown above.

Point-to-point cost function

The point-to-point cost function depends on the parameters below. Beyond the hardware and bandwidth costs, it carries spectrum licence fees, charged both as a one-time fee and as a recurring annual fee.

Parameter Description Default Configurable in CPP
hw_setup_cost_p2p Hardware setup cost, including access links and assuming one hop per POI (USD/POI) 3,000 Yes
access_link_bandwidth_p2p Bandwidth per access link (MHz) 40 Yes
one_time_license_fee_1mhz_p2p One-time licence fee (USD/MHz) 50 Yes
an_license_fee_1mhz_p2p Annual recurring licence fee (USD/MHz/year) 15 Yes
an_hw_maint_and_repl_p2p Annual hardware maintenance and replacement cost (fraction of hardware CAPEX) 0.1 Yes
an_isp_fees_one_mbps_p2p Annual ISP retail fees (USD/Mbps/year) 5.5 Yes
reinv_period_p2p Hardware reinvestment period (years) 7 Yes
max_throughput_p2p Maximum achievable download speed via point-to-point microwave (Mbps). The throughput is capped at this value. 400 No
interest_rate Discount rate used to compute present values 0.05 Yes

Non-configurable parameters are hard-coded to the default values shown above.

Inputs

In addition to the parameters above, the cost function takes the following quantities, derived upstream for each POI:

  • — throughput (Mbps)
  • — project period over which costs and revenues are evaluated (years)

Licensed bandwidth

Spectrum licence fees are charged per MHz of licensed bandwidth. With a single access link per POI, this is simply the access link bandwidth:

This bandwidth drives both the one-time and recurring licence fees:

Capital expenditure (CAPEX)

Hardware CAPEX is the per-POI setup cost, which includes the access link:

Initial CAPEX adds the one-time licence fee to the hardware CAPEX:

Hardware is replaced at regular intervals over the project period. Reinvestment applies only to the hardware component — the one-time licence fee is not repaid:

Total CAPEX is therefore:

Operating expenditure (OPEX)

Annual OPEX combines the recurring licence fee with hardware maintenance and replacement. Maintenance is charged as a fraction of hardware CAPEX only, excluding the one-time licence fee:

Cost of ownership

The total cost of ownership over the project period is the sum of total CAPEX and total OPEX:

Revenue

Annual revenue is the retail fee paid to the operator, which scales with throughput. Throughput is capped at max_throughput_p2p, since operators can only deliver download speeds up to a certain limit:

Profit

Profit over the project period is total revenue less the cost of ownership:

Annualised cost

For per-year reporting, CAPEX is annualised by spreading total CAPEX evenly across the project period and adding annual OPEX:

Present values

Costs and revenues are discounted to present value using the present value interest factor of an annuity (PVIFA), at interest rate :

The net present value is the difference between the present value of revenues and the present value of costs.

Satellite

There is no specific model used to assess the feasibility of satellite connections. They are considered always feasible if the satellite model is added to a project, which assumes that there is a satellite connectivity provider in the country.

Feasibility

Satellite connections are always considered feasible.

Required data inputs

  • Points of interest

Satellite cost function

The satellite cost function is summarised below.

Parameter Description Default Configurable in CPP
hw_setup_cost_sat Hardware setup cost per POI (USD) 800 Yes
an_hw_maint_and_repl_sat Annual hardware maintenance and replacement cost (fraction of hardware CAPEX) 0.1 Yes
an_isp_fees_one_mbps_sat Annual ISP retail fees (USD/Mbps/year) 6.4 Yes
reinv_period_sat Hardware reinvestment period (years) 5 Yes
max_throughput_sat Maximum achievable download speed via satellite (Mbps). The throughput is capped at this value. 200 No
interest_rate Discount rate used to compute present values 0.05 Yes

Non-configurable parameters are hard-coded to the default values shown above.

Inputs

In addition to the parameters above, the cost function takes the following quantities, derived upstream for each POI:

  • — throughput (Mbps)
  • — project period over which costs and revenues are evaluated (years)

Capital expenditure (CAPEX)

Satellite deployment has no per-distance or infrastructure construction cost; initial CAPEX is simply the hardware setup cost:

Hardware is replaced at regular intervals over the project period. The number of reinvestments is the number of complete reinvestment cycles elapsed:

Total CAPEX is therefore:

Operating expenditure (OPEX)

Annual OPEX is a fixed fraction of the initial CAPEX, covering maintenance and replacement:

Cost of ownership

The total cost of ownership over the project period is the sum of total CAPEX and total OPEX:

Revenue

Annual revenue is the retail fee paid to the operator, which scales with throughput. Throughput is capped at max_throughput_sat, since operators can only deliver download speeds up to a certain limit:

Profit

Profit over the project period is total revenue less the cost of ownership:

Annualised cost

For per-year reporting, CAPEX is annualised by spreading total CAPEX evenly across the project period and adding annual OPEX:

Present values

Costs and revenues are discounted to present value using the present value interest factor of an annuity (PVIFA), at interest rate :

The net present value is the difference between the present value of revenues and the present value of costs.