What is Business Risk and how to Measure it with Python

One of the key aspects to do well in the stock market is to know what is business risk. It is important to understand what type of business risks a company m

What is Business Risk and how to Measure it with Python

Sep 11, 2023 5:46 PM - Rajnish Katharotiya

blog post cover photo

Image credit: Austin Distel

One of the key aspects to do well in the stock market is to know what is business risk.

It is important to understand what type of business risks a company may have.

Photo by Pixabay on Pexels

What Is A Business Risk?

Investopedia provides a very simple definition of business risk. Business risk represents external and internal factors that may lead a company to a reduction of profits or even bankruptcy.

Below are some of the types of business risk that exist in almost all companies:

  • Economic Risk: Economy is constantly changing and facing different trends. A company may suffer a hit on sales if the current status of the economy is recessionary.

  • Financial Risk: It is the risk associated with company customers not being able to repay its debts. Company own debt can be included in this category.

  • Legal Risk: A firm may face large penalties if it is not compliance with all regulations in countries where it operates.

  • Operational Risk: Companies can face disruptions in their day to day operations that may affect their bottom lines.

How Companies Manage Business Risk?

Companies should have a risk management plan in order to minimise and mitigate risk. This is part of the business risk management process. Within the risk management plan, businesses foresee potential risks and put processes in place to mitigate these risks.

During the business risk management process, it is important for companies to analyse and distinguish between high impact and low impact events. Then assess the likelihood of such incidents to happen.

A business risk management plan should be continuously reviewed and adapted to evolving changes in the company environment.

How to Measure Business Risk?

As analysts, we could directly measure business risk by using standard deviation on recent company financials. For instance, we could take company's financial indicators, such as operating income. Then, we could calculate the standard deviation of these metrics to analyse the variation in recent years.

The lower the standard deviation, the lower the variation. A lower variation means that a business have less uncertainty about future firm performance.

Although using standard deviation would be the easiest option, it would not offer the best comparison across companies of different sizes. For example, a growing company will have a much larger yearly sales variation in comparison to most mature firm.

We will adjust for the size of the company to get rid of this comparability issue. This way we can represent the standard deviation of key metrics in a format enabling comparison across firms.

To standardise above mentioned business risk metrics and enable comparison across firms of different sizes, we can use the coefficient of variation. The coefficient of variation is computed by dividing standard deviationmean.

Below is an example on how can we calculate the coefficient of variationsales:

Revenues Coefficient of Variation = Standard Deviation Revenues / Revenues Mean

By using the coefficient of variation instead of the standard deviation, we can compare business risk across firms of different sizes.

Calculating Business Risk with Python

To keep things simple, we will only calculate business risk based on sales, operating income and net income. And we will use the coefficient of variation for that purpose.

We will start with a list of 3 stocks. Then we will compare business risk across them. Feel free to add more companies to the analysis.

To extract each company metrics, we simply pass the company ticker to the as per below. Then, we append the extracted values into a list. Each of the list will contain the latest 5 year company operating.

import requests

demo = 'enter your api key'

stocks = ['AAPL','MSFT','GOOG']

for stock in stocks:

income_statement = requests.get(f'{stock}?apikey={demo}').json()

number_of_years = 0

revenues = []

operating_income = []

net_income = []

for item in income_statement:

if number_of_years < 5:




number_of_years += 1


Now we have operating income and from the last 5 years. All included in Python lists.

Next, we need to convert them into arrays. We do this since with Numpy is super easy to calculate the mean and standard deviation:

#import numpy to conver list to array:

import numpy

revenues_array = numpy.array(revenues)

operating_income_array = numpy.array(operating_income)

net_income_array = numpy.array(net_income)

Finally, we can simply apply our coefficient of variation formula to each of the metrics:

CV_Sales = revenues_array.std() / revenues_array.mean()

print('Revenue Coefficient of Variation for '+ stock + ' is ' + str(round(CV_Sales,2)))

CV_OI = operating_income_array.std() / operating_income_array.mean()

print('Operating Income Coefficient of Variation for '+ stock + ' is ' + str(round(CV_OI,2)))

CV_Net_Income = net_income_array.std() / net_income_array.mean()

print('Net Income Coefficient of Variation for '+ stock + ' is ' + str(round(CV_Net_Income,2)) +'\n')

#Example Outcome

Revenue Coefficient of Variation for AAPL is 0.08

Operating Income Coefficient of Variation for AAPL is 0.07

Net Income Coefficient of Variation for AAPL is 0.09

Revenue Coefficient of Variation for MSFT is 0.15

Operating Income Coefficient of Variation for MSFT is 0.35

Net Income Coefficient of Variation for MSFT is 0.45

Revenue Coefficient of Variation for GOOG is 0.27

Operating Income Coefficient of Variation for GOOG is 0.19

Net Income Coefficient of Variation for GOOG is 0.37

Wrapping Up

By taking operating and as proxy to measure business risk, and based on the last 5 years data, we can see that Apple is by far the company with the lower business risk. It has a variation of around 0.08.

On the other side, has a much higher business risk with a sales variation coefficient of 0.27. The other two metrics, operating and net , seems to support this finding as well.

To complement the analysis, we could calculate the variation for some other financials. For instance, account receivables or company .

As an important note, keep in mind that past variation may not always be a good indication for future variation. There may be significant and unexpected events happening in the future which may impact company financials.

Thanks for reading this post on what is business risk and how to measure it with Python.

Other Blogs

Sep 11, 2023 - Rajnish Katharotiya

P/E Ratios Using Normalized Earnings

Price to Earnings is one of the key metrics use to value companies using multiples. The P/E ratio and other multiples are relative valuation metrics and they cannot be looked at in isolation. One of the problems with the P/E metric is the fact that if we are in the peak of a business cycle, earni...

blog post title

Sep 11, 2023 - Rajnish Katharotiya

What is Price To Earnings Ratio and How to Calculate it using Python

Price-to-Earnings ratio is a relative valuation tool. It is used by investors to find great companies at low prices. In this post, we will build a Python script to calculate Price Earnings Ratio for comparable companies. Photo by Skitterphoto on Pexels Price Earnings Ratio and Comparable Compa...

blog post title

Oct 17, 2023 - Davit Kirakosyan

VMware Stock Drops 12% as China May Hold Up the Broadcom Acquisition

Shares of VMware (NYSE:VMW) witnessed a sharp drop of 12% intra-day today due to rising concerns about China's review of the company's significant sale deal to Broadcom. Consequently, Broadcom's shares also saw a dip of around 4%. Even though there aren’t any apparent problems with the proposed solu...

blog post title


Financial Modeling Prep API provides real time stock price, company financial statements, major index prices, stock historical data, forex real time rate and cryptocurrencies. Financial Modeling Prep stock price API is in real time, the company reports can be found in quarter or annual format, and goes back 30 years in history.
2017-2023 © Financial Modeling Prep