Micro Focus is now part of OpenText. Learn more >

You are here

You are here

How predictive analytics can boost app performance

public://pictures/Christopher-Null-CEO-Null-Media.png
Christopher Null Freelance writer
 

Predictive analytics could be the closest thing to a crystal ball tech companies will ever create. The enormous volume of data out in the wilds of the Web is far greater than anything an army of engineers could comprehend. As a result, many data analysts are turning to advanced algorithms to do their work for them, in the form of predictive analytics, which works much like traditional analytics but with a built-in lens toward the future.

Predictive analytics services not only collect and report on incoming data (user numbers, in-app purchases, repeat app launches, etc.), but also search for causal relationships between individual data points in order to accurately predict future trends. By studying data in motion and peering into historical cycles, such algorithms can warn of potential service outages or changing user behaviors that could cause issues like sudden drops in transaction volume. 

 

This article describes why you should be using predictive analytics to recognize performance issues before they cause outages and have an impact on the bottom line.

Know about service outages before they happen

A service outage is probably the most painful experience for companies. A study last year found that businesses lose about $100 million every year from downtime caused by outages. And even the IT teams of some of the world’s biggest companies, like Facebook’s WhatsApp messaging service or bank HSBC, can’t prevent mobile app outages all the time.

While there is no magic bullet to preventing outages, predictive analytics comes close, and it’s available for apps of almost any size.

Having to manually detect and set thresholds to prevent service outages can cause headaches for app developers and operations teams. When a team uses traditional analytics, it often fails to detect a potential service outage early enough. Maybe even more frustrating, developers can waste their time with a bevy of false alarms caused by any inaccurate calibrations.

Predictive analytics, however, allows developers to focus on proactive resource management as opposed to reacting to a problem after it has already angered customers.

“Very often the end users or, even earlier, integrated systems exhibit very unusual and unexpected behavior,says Matt Brayley-Berger, a product marketing manager at HPE. “However, trending team experiences in larger quantity (over time) will yield more insight, before the final build. In effect, more data about what we believe will happen during the project will help us make the right decisions earlier.”

Between physical servers, virtual machines, and middleware, the complex resource infrastructure of many apps involves a thick forest of metrics. These can boggle the mind of a human performance analyst, but they can be incredibly useful for a predictive analytics system. Adaptive algorithms can predict service degradation before an outage occurs, and they can even allocate extra resource capacity before services are slowed down.

The top level Application Performance Management (APM) systems use algorithms that actually adjust to how your app—and your users—behave. Algorithms can measure server capacity and demand in real time, making allocations and adjustments on the fly in order to avoid overstressing an app’s resources. With an advanced APM, all this data is recorded and made available for review. Operations teams can see exactly how services are being utilized, and how they are likely to be utilized in the future.

Big data + predictive analytics = catching issues early

To provide the best value for your business and users, a predictive analytics service needs to do two things:

  1. Aggregate huge amounts of data
  2. Using this data, discover service problems as they are developing

Most app startups record a nearly unfathomable amount of data, with every user action revealing multiple data points. It is extremely difficult to find accurate patterns in this data by manually sifting through the information. Unless you are utilizing predictive analytics, the reams of data you’ve collected are essentially collecting dust. With the right system, though, this data is a powerful tool in preventing latency and adjusting to changing consumer habits.

By feeding in historical data to an adaptive algorithm, a system learns how customers normally interact with an app. When current behavior begins to deviate, this algorithm can send out notifications that, for example, projected transaction volume is changing. And this detection-plus-notification process can occur faster and more accurately than through traditional methods.

“The more we can help adjust and avoid the undesirable paths of development that we currently call ‘learning,’ the more we can help teams avoid wasting critical time (and money),” Brayley-Berger says.

"While I admit that the industry will take some time to become comfortable with the reliability of any predictions made by any algorithm, it’s only a matter of time. Even I’ve stopped arguing with Google Maps or Waze about the best route to work during traffic—I just don’t have the complex breadth of data and visibility that these algorithms do.

An APM should provide a full view of how your customers are behaving on every screen. Your predictive modeling structure needs to take into account how users are interacting with an app on mobile devices, online, and in the cloud. Your system should also pinpoint the root causes of service issues before they actually become problems, by monitoring how your app’s code is running and if any third-party services are triggering slowdowns.

Dynamic baselining instead of manual thresholds allows for smarter troubleshooting

User interactions change over the course of time. Some adjustments might be obvious, like increased e-commerce shopping on Cyber Monday. Other usage changes can be nearly imperceptible but are still very important to understand, such as how usage could shift from weekdays to weekends, but only during certain seasons. The only way businesses can really understand these transformations is to take a deep look into their data.

One way to do this is through the use of dynamic baselining. By replacing manual thresholds with dynamic baselines, you can save time, money, and energy.

Dynamic baselining is a process that monitors performance indicators and develops its own unique system for setting thresholds. Essentially, the machine-based learning process figures out high and low thresholds for when it’s appropriate to alert the operations team to an issue. More important, dynamic baselining shifts these thresholds over time as it learns from the aggregation of historical data.

Dynamic baselining allows for thresholds that are based on seasonality and history rather than a single static threshold set by a human. With these algorithm-set thresholds, an APM typically sends fewer alerts, but these alerts are far more intelligent, actionable, and valuable.

Predictive ALM [application life-cycle management] isn’t a silver bullet, but it provides new insights that teams simply don’t have today,” Brayley-Berger contends.

“In the end, it’s all about probabilities, and there are very, very few situations in software where any prediction is truly 100%. Even I can outsmart Waze in traffic sometimes, with a sneaky shortcut that it just didn’t know about. But I only get that pleasure a few times before it learns and adjusts itself.”

Predictive analytics cannot actually see into the future. An algorithm cannot foresee, for example, whether a utility company will randomly sever a cable, instigating an outage. However, a quality APM system can use predictive analytics to solve problems humans can’t see. These systems use algorithms to reallocate resources to prevent outages, learn from data to identify user trends, and utilize dynamic baselines to only send alerts to an operations team when necessary.

 

Image credit: Flickr

Keep learning

Read more articles about: App Dev & TestingApp Dev