// All the variables that are related to the charts
// these are the colors that will be used in graphs
var blue2012 = '#00A6C9';
var bluedark = '#146677';
var red2016 = '#E30613';
var darkred = '#86161d';
var green2020 = '#94C0BE';
var darkgreen = '#5e7372';
// var globa = '#E56B00';
var cis = '#F9BD00';
var mena = '#1B4F91';
var latam = '#911D63';
var apac = '#94C0BE';
var subsahara = '#17A17E';
var noam = '#00A6C9';
var europe = '#E30613';
var conn2g2016 = '#6A7216';
var conn3g2016 = '#223B5D';
var conn4g2016 = '#5E2346';
var conn5g2018 = '#fd824a';
var conn5g = '#FF6600';
var conn4g = '#911d63';
var conn3g = '#1b4f91';
var conn2g = '#a7b800';
// the bar chart data
var alldata = {
// over all penetration subscribers
oasubscribers: {
title: 'NET TOTALS - SUBSCRIBERS',
yAxisLabel: 'SUBSCRIBERS IN MILLIONS',
type: 'bar',
typeval: 'm',
labels: ['Global','APAC', 'CIS','Europe', 'Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [5108,2799,234,467,429,387,321,471],
backgroundColor: red2016
},
{
label: '2025',
data: [5818,3158,242,481,497,459,345,636],
backgroundColor: green2020
}
]
},
// overall net totals internet users
oainternetusers: {
title: 'NET TOTALS - INTERNET USERS',
yAxisLabel: 'INTERNET USERS IN MILLIONS',
type: 'bar',
typeval: 'm',
labels: ['Global','APAC', 'CIS','Europe', 'Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [3584,1909,161,406,339,241,282,247],
backgroundColor: red2016
},
{
label: '2025',
data: [4990,2728,212,451,436,343,326,493],
backgroundColor: green2020
}
]
},
// overall penetration connections
oaconnections: {
title: 'NET TOTALS - CONNECTIONS (excl licensed cellular IoT)',
yAxisLabel: 'CONNECTIONS IN MILLIONS',
type: 'bar',
typeval: 'm',
labels: ['Global','APAC', 'CIS','Europe', 'Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [7825,4238,421,676,658,639,400,791],
backgroundColor: red2016
},
{
label: '2025',
data: [9294,5116,438,707,742,786,438,1066],
backgroundColor: green2020
}
]
},
// overall net totals iot connections
oaiotconnections: {
title: 'NET TOTALS - IOT CONNECTIONS (cellular and non-cellular)',
yAxisLabel: 'IOT CONNECTIONS IN BILLIONS',
type: 'bar',
typeval: 'bn',
labels: ['Global','APAC', 'CIS','Europe', 'Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [7.5,2.8,0.2,1.7,0.4,0.3,1.9,0.1],
backgroundColor: red2016
},
{
label: '2025',
data: [25.1,10.9,0.6,4.9,1.3,1.1,5.8,0.3],
backgroundColor: green2020
}
]
},
// Subscribers penetration rate
prsubscribers: {
title: 'PENETRATION RATE - SUBSCRIBERS',
yAxisLabel: '% PENETRATION OF POPULATION',
typeval: '%',
type: 'bar',
labels: ['Global','APAC', 'CIS','Europe', 'Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [67,67,81,86,68,64,83,45],
backgroundColor: red2016
},
{
label: '2025',
data: [71,72,82,88,74,69,85,51],
backgroundColor: green2020
}
]
},
// Internet users penetration Rate
printernetusers: {
title: 'PENETRATION RATE - INTERNET USERS',
yAxisLabel: '% PENETRATION OF POPULATION',
typeval: '%',
type: 'bar',
labels: ['Global','APAC', 'CIS','Europe', 'Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [47,46,55,74,53,40,73,24],
backgroundColor: red2016
},
{
label: '2025',
data: [61,62,72,82,65,51,80,40],
backgroundColor: green2020
}
]
},
// Connections penetration Rate
prconnections: {
title: 'PENETRATION RATE - CONNECTIONS (excl licensed cellular IoT)',
yAxisLabel: '% PENETRATION OF POPULATION',
typeval: '%',
type: 'bar',
labels: ['Global','APAC', 'CIS','Europe', 'Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [102,101,145,124,104,107,103,76],
backgroundColor: red2016
},
{
label: '2025',
data: [113,117,149,129,110,118,108,86],
backgroundColor: green2020
}
]
},
techmigrationGlobal: {
title: 'GLOBAL',
type: 'doughnut',
displayAxis: 'no',
typeval: '%',
labels: ['2G', '3G', '4G', '5G'],
datasets: [
{
label: '2025',
data: [4,29,53,14],
backgroundColor: [conn2g, conn3g, conn4g, conn5g],
borderWidth: 0
},
{
label: '2018',
data: [40,31,29,0],
backgroundColor: [conn2g2016, conn3g2016, conn4g2016, conn5g2018],
borderWidth: 0
}
]
},
techmigrationNorthAmerica: {
title: 'NORTH AMERICA',
type: 'doughnut',
typeval: '%',
displayAxis: 'no',
labels: ['2G', '3G', '4G', '5G'],
datasets: [
{
label: '2025',
data: [0,3,47,49],
backgroundColor: [conn2g, conn3g, conn4g, conn5g],
borderWidth: 0
},
{
label: '2018',
data: [8,24,68,0],
backgroundColor: [conn2g2016, conn3g2016, conn4g2016, conn5g2018],
borderWidth: 0
}
]
},
techmigrationCIS: {
title: 'CIS',
type: 'doughnut',
typeval: '%',
displayAxis: 'no',
labels: ['2G', '3G', '4G', '5G'],
datasets: [
{
label: '2025',
data: [0,32,58,10],
backgroundColor: [conn2g, conn3g, conn4g, conn5g],
borderWidth: 0
},
{
label: '2018',
data: [50,35,15,0],
backgroundColor: [conn2g2016, conn3g2016, conn4g2016, conn5g2018],
borderWidth: 0
}
]
},
techmigrationLatinAmerica: {
title: 'LATIN AMERICA',
type: 'doughnut',
displayAxis: 'no',
typeval: '%',
labels: ['2G', '3G', '4G', '5G'],
datasets: [
{
label: '2025',
data: [5,22,66,7],
backgroundColor: [conn2g, conn3g, conn4g, conn5g],
borderWidth: 0
},
{
label: '2018',
data: [34,43,23,0],
backgroundColor: [conn2g2016, conn3g2016, conn4g2016, conn5g2018],
borderWidth: 0
}
]
},
techmigrationSubSaharanAfrica: {
title: 'SUB-SAHARAN AFRICA',
type: 'doughnut',
typeval: '%',
displayAxis: 'no',
labels: ['2G', '3G', '4G', '5G'],
datasets: [
{
label: '2025',
data: [6,62,29,3],
backgroundColor: [conn2g, conn3g, conn4g, conn5g],
borderWidth: 0
},
{
label: '2018',
data: [60,36,4,0],
backgroundColor: [conn2g2016, conn3g2016, conn4g2016, conn5g2018],
borderWidth: 0
}
]
},
techmigrationEurope: {
title: 'EUROPE',
type: 'doughnut',
displayAxis: 'no',
typeval: '%',
labels: ['2G', '3G', '4G', '5G'],
datasets: [
{
label: '2025',
data: [0,19,49,31],
backgroundColor: [conn2g, conn3g, conn4g, conn5g],
borderWidth: 0
},
{
label: '2018',
data: [22,37,41,0],
backgroundColor: [conn2g2016, conn3g2016, conn4g2016, conn5g2018],
borderWidth: 0
}
]
},
techmigrationMENA: {
title: 'MENA',
type: 'doughnut',
displayAxis: 'no',
typeval: '%',
labels: ['2G', '3G', '4G', '5G'],
datasets: [
{
label: '2025',
data: [6,37,51,6],
backgroundColor: [conn2g, conn3g, conn4g, conn5g],
borderWidth: 0
},
{
label: '2018',
data: [47,45,9,0],
backgroundColor: [conn2g2016, conn3g2016, conn4g2016, conn5g2018],
borderWidth: 0
}
]
},
techmigrationAPAC: {
title: 'APAC',
type: 'doughnut',
typeval: '%',
displayAxis: 'no',
labels: ['2G', '3G', '4G', '5G'],
datasets: [
{
label: '2025',
data: [5,24,58,13],
backgroundColor: [conn2g, conn3g, conn4g, conn5g],
borderWidth: 0
},
{
label: '2018',
data: [41,25,34,0],
backgroundColor: [conn2g2016, conn3g2016, conn4g2016, conn5g2018],
borderWidth: 0
}
]
},
mobilegdp: {
title: 'MOBILE CONTRIBUTION TO GDP',
yAxisLabel: 'US$ BILLIONS',
typevalbefore: '$',
typeval: 'bn',
type: 'bar',
labels: ['Global', 'APAC' , 'Europe', 'Latin America', 'MENA' , 'North America', 'Sub-Saharan Africa' ],
datasets: [
{
label: '2018',
data: [3600,1430,620,270,170,840,120],
backgroundColor: red2016
},
{
label: '2020',
data: [4190,1640,740,320,190,1020,140],
backgroundColor: green2020
}
]
},
revgrrevenues: {
title: 'REVENUE',
yAxisLabel: 'US$ BILLIONS',
type: 'bar',
typevalbefore: '$',
typeval: 'bn',
labels: ['Global', 'APAC', 'CIS', 'Europe','Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [1033,395,23,168,68,65,272,42],
backgroundColor: red2016
},
{
label: '2020',
data: [1138,433,23,169,75,75,315,47],
backgroundColor: green2020
}
]
},
revgrincrease: {
title: 'REVENUE INCREASE FROM PREVIOUS YEAR',
type: 'bar',
splicevaincreas: "yes",
labels: ['Global', 'APAC', 'CIS', 'Europe','Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018',
data: [2,1,7,0,1,0,4,5],
backgroundColor: red2016
},
{
label: '2020',
data: [1,1,0,0,1,3,2,2],
backgroundColor: green2020
}
]
},
revgrcapex: {
title: 'REVENUE & CAPEX',
yAxisLabel: 'US$ BILLIONS',
type: 'bar',
typevalbefore: '$',
typeval: 'bn',
spliceva: 'capex',
labels:['Global', 'APAC', 'CIS', 'Europe','Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
datasets: [
{
label: '2018 Capex',
stack: 'Stack 2',
data: [167,60,9,26,13,11,41,8],
backgroundColor: darkred
},
{
label: '2018 Revenue',
stack: 'Stack 2',
data: [892,350,19,142,62,57,225,34],
backgroundColor: red2016
},
{
label: '2020 Capex',
stack: 'Stack 3',
data: [160,59,6,22,11,11,42,8],
backgroundColor: darkgreen
},
{
label: '2020 Revenue',
stack: 'Stack 3',
data: [921,365,20,145,64,59,228,37],
backgroundColor: green2020
}
],
datasetsincrease: [
{
label: '2018',
labels:['Global', 'APAC', 'CIS', 'Europe','Latin America', 'MENA','North America', 'Sub-Saharan Africa'],
data: [15,14,18,16,20,17,13,18],
backgroundColor: red2016
},
{
label: '2018',
data: [15,14,18,16,20,17,13,18],
backgroundColor: red2016
},
{
label: '2020',
data: [15,14,18,15,20,17,13,16],
backgroundColor: green2020
} ,
{
label: '2020',
data: [15,14,18,15,20,17,13,16],
backgroundColor: green2020
}
]
},
mobilegdpPopup: {
global: {
year2018: {
title: '2018',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2018',
data: [1150,500,2270],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
],
datasetspercent: [
{
label: '2018',
data: [1.3,0.6,2.7],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2018',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
},
year2020: {
title: '2020',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2020',
data: [1190,520,2480],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
],
datasetspercent: [
{
label: '2020',
data: [1.4,0.6,2.8],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2020',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
}
},
northamerica: {
year2018: {
title: '2018',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2018',
data: [260,170,410],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2018',
data: [1.3,0.8,2],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2018',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
},
year2020: {
title: '2020',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2020',
data: [280,180,560],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2020',
data: [1.3,0.8,2.6],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2020',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
}
},
latinamerica: {
year2018: {
title: '2018',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2018',
data: [70,20,180],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2018',
data: [1.3,0.4,3.5],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2018',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
},
year2020: {
title: '2020',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2020',
data: [80,30,220],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2020',
data: [1.4,0.4,3.8],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2020',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
}
},
subsaharanafrica: {
year2018: {
title: '2018',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2018',
data: [40,10,70],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2018',
data: [2.7,0.8,4.7],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2018',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
},
year2020: {
title: '2020',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2020',
data: [40,10,90],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2020',
data: [2.6,0.7,5.3],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2020',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
}
},
mena: {
year2018: {
title: '2018',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2018',
data: [60,10,100],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2018',
data: [1.3,0.3,2.5],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2018',
data: [4.2],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
},
year2020: {
title: '2020',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2020',
data: [60,10,120],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2020',
data: [1.2,0.3,2.7],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2020',
data: [4.3],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
}
},
europe: {
year2018: {
title: '2018',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2018',
data: [180,100,340],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2018',
data: [1,0.6,1.9],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2018',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
},
year2020: {
title: '2020',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2020',
data: [190,110,440],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2020',
data: [1,0.6,2.3],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2020',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
}
},
apac: {
year2018: {
title: '2018',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2018',
data: [440,150,840],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2018',
data: [1.7,0.6,3.2],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2018',
data: [5.4],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
},
year2020: {
title: '2020',
displayAxis: 'no',
type: 'doughnut',
typevalbefore: '$',
typeval: 'bn',
labels: ['Mobile ecosystem', 'Indirect', 'Productivity improvements '],
datasets: [
{
label: '2020',
data: [480,170,990],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercent: [
{
label: '2020',
data: [1.6,0.5,3.3],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
,
datasetspercenttotal: [
{
label: '2020',
data: [],
backgroundColor: [conn2g, conn3g, conn4g, conn2g2016],
borderWidth: 0
}
]
}
}
}
};