Andela collaborated with NVIDIA to offer a select cohort of Andela Learning Community members a chance to participate in a three-month program that involved hands-on learning and practice on NVIDIA RAPIDS, for GPU-accelerated Data Science workflows. The article below is one of the projects that was completed during this program.
Have you ever been in the middle of sending a critical urgent message about a project, uploading a file, or on an important call, when suddenly your phone goes out of service? Well, most of us have experienced this, especially when you are far from the city. Or, maybe, you’re in what we call a bad service zone or coverage bad spot.
A coverage bad spot is a cluster of places or locations where your phone has poor signal strength. It could be caused by many different technical issues, such as the lack of a nearby cell tower, an obstacle around you blocking signals (such as a skyscraper, a mountainous region, or a hill, etc.), or it could be that your nearest cell tower is out of order. Any of these reasons could cause your bad coverage experience or your signal to cut out.
Being in one of these bad spots can be extremely annoying and troublesome, especially when your work depends on network access. Bad signal strength could result in poor phone reception, issues with leaving a clear and coherent voice message, slow download speeds, and more.
The time to resolve this problem varies based on the cause of coverage failure. Poor coverage could be resolved quickly if the problem is just a flicker of availability, due to hardware or electricity problems and resolved by itself. But it can take longer if signal failure is caused by other problems. It could take several hours just to identify the problem location, and an additional hour to resolve it.
While for telecommunication companies, this bad experience could motivate their customers to stop using their service and to find another provider. According to MaxBill, citing a new study from KPMG, poor network quality is the number one reason for users to leave their network provider – in fact, poor network quality was listed as a factor in around 45% of smartphone user churn. Further, data from the 2022 State of Customer Churn in Telecom report highlights that poor customer experience with a telecommunication or network provider has seen user loyalty drop by 22% since the pandemic.
So, one critical issue a telco company must investigate is identifying bad coverage spots and immediately resolving signal problems.
Finding the Root Cause of a Bad Signal
In some telco companies, an optimization process is done manually. Assigning several people to manually identify problems by analyzing GIS software (such as MapInfo, QGIS, etc.) visual panels. This process is time consuming, and the results can vary from person to person.
One quick solution to mitigate this tedious process is to automate the identification of the bad spot clusters and provide some possible root cause analysis. The process that usually takes several days could be reduced to several minutes, freeing up valuable time for the engineer to focus on the matter at hand and to dig deeper for possible causes, ensuring they solve problems faster.
As a Data Analyst in the telco industry, I have been trying to find solutions for eradicating bad coverage spots. My work with NVIDIA RAPIDS helped me to discover solutions to automate this process while making any necessary exploratory data analysis visualizations interactive. The process, which could take an hour to process using traditional CPU based program, could be reduced further to just several minutes thanks to the GPU acceleration NVIDIA RAPIDS provides.
Using AI for Automation
NVIDIA RAPIDS is a suite of CUDA-X libraries for developers and data scientists to accelerate the most popular open-source data processing and machine learning solutions. Built on CUDA primitives for low-level compute optimization, RAPIDS exposes GPU parallelism and high memory bandwidth to deliver unparalleled speedups in analytics and machine learning tasks.
Investigating and identifying bad spots can be achieved using the DBScan clustering algorithm available in RAPIDS cuML.
In my project, I decided to use DBScan over other clustering algorithms, due to several factors:
- This algorithm is categorized as unsupervised, which means that we don’t need to specify how much output/clusters it produces and automatically produce cluster as it sees fit.
- It produces density-based clustering that groups together points that are closely packed together with no regard for shape. This is very important because bad coverage spots don’t come in one shape; impacted areas can be oval, round, square, polygon, and often shapeless.
The process starts by inputting the raw data that includes the location data (longitude, latitude), and 4G signal strength (RSRP) values for each point. This is stored for later processing using RAPIDS cuDF. This is followed by mapping each point to check data validity using cuXFilter.
The next process we need to action is categorizing each RSRP value into different categories. In my case, I define bad coverage spots as clustered from bad RSRP, with a threshold of less than -110 dBm. Bad RSRP (<-110) means that signal in your cell phone could just be one bar, or no signal at all. The greater the value of the RSRP, the greater the phone signal that your cell phone receives. To check the signal strength, I use cuXfilter, enabling GPU accelerated group by based, cross-filtering dashboards of the notebook’s dataframe through their widgets that allowed real time visual interactions with our 2.3-million-point dataset. It filters only bad value RSRP, resulting in 640K out of 2.3 million data included in this category:
- Bad RSRP only data visualization
Next comes the DBScan algorithm to create a cluster of bad coverage spots. To speed things up, we only filtered data, with more than 100 samples for each spot. By simulating using different eps value, we received several different results; the running time for each different eps remained relatively the same (around 3 minutes), while the value of eps really affected the numbers of clusters that we produce (the higher the eps value, the lower number of clusters that are generated).
Table for simulated BDScan result from different eps value.
Based on a cluster of bad spots, we create a ‘polygon’ to mark each cluster and further analyze the root cause of the problem, by intersecting it with other data.
- Polygon for each bad coverage spot cluster (eps=500) to further analyze root cause
And lastly, by adding additional data such as cell tower locations, KPI availability rate (%) and raster contour data, we can roughly analyze the origin of each bad coverage spot. There are four possible causes of bad coverage spots, such as:
1. No coverage problem: when there are no cell towers inside the polygon area. Propose to add a cell tower to cover this bad spot.
2. Availability problem: This issue occurs when there is a cell tower inside the polygon, but some of the areas have an availability problem. Propose fixing this availability problem.
3. Ground elevation problem: This problem occurs when we have a cell tower inside the polygon but no availability problem, and the ground elevation inside polygon is not flat (e.g., the area is hilly or has some slopes). Propose to analyze further for each site coverage and consider this ground elevation.
4. Low coverage problem: There is a cell tower inside the polygon but no availability problems, and the location is a flat ground elevation. Propose to further analyze each coverage cell tower.
The Future is a Clearer Signal
The apps that I developed to solve the issue of bad coverage spots appear to be working efficiently and quickly, thanks to the NVIDIA RAPIDS technology that capitalizes on GPU capabilities to speed things up. These apps could be utilized by telecommunication companies to analyze bad spots, resolve issues, and improve customer experience.
Telco Companies could use this app internally to automatically recognize bad spots. The app could search for and highlight some availability problems in some areas, such as massive power outages or maybe even natural disasters. In regions such as Africa, where power outages are a daily occurrence, this app could help telco companies to quickly locate problems and devise plans to mitigate the impact for customers.
These apps also could be used by other companies that rely on geospatial data to recognize patterns and clusters.
Author Bio
Rheza Hakim has been a data analyst for several telecommunication companies for more than 10 years. Rheza completed a RAPIDS learning program led by Andela and NVIDIA in 2024 for Andela’s technologists which also covered certifications such as Rapid Application Development with LLMs and Accelerating End-to-End Data Science Workflows. He is also an experienced RF Engineer, with expertise in 2G, 3G, 4G, and 5G for Huawei and Ericcson. As a data analyst, he has used several tools such as Microsoft PowerBI, Tableau, Microsoft Excel, and Python to help provide insights into telecommunications data. His hobbies include reading and watching movies.