Trending December 2023 # Internal Rate Of Return (Irr) # Suggested January 2024 # Top 14 Popular

You are reading the article Internal Rate Of Return (Irr) updated in December 2023 on the website We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested January 2024 Internal Rate Of Return (Irr)

Internal Rate of Return (IRR)

An Analyst’s Guide to IRR

Written by

Tim Vipond

Published February 27, 2023

Updated July 7, 2023

What is the Internal Rate of Return (IRR)?

The Internal Rate of Return (IRR) is the discount rate that makes the net present value (NPV) of a project zero. In other words, it is the expected compound annual rate of return that will be earned on a project or investment. In the example below, an initial investment of $50 has a 22% IRR. That is equal to earning a 22% compound annual growth rate.

When calculating IRR, expected cash flows for a project or investment are given and the NPV equals zero. Put another way, the initial cash investment for the beginning period will be equal to the present value of the future cash flows of that investment. (Cost paid = present value of future cash flows, and hence, the net present value = 0).

Once the internal rate of return is determined, it is typically compared to a company’s hurdle rate or cost of capital. If the IRR is greater than or equal to the cost of capital, the company would accept the project as a good investment. (That is, of course, assuming this is the sole basis for the decision.

In reality, there are many other quantitative and qualitative factors that are considered in an investment decision.) If the IRR is lower than the hurdle rate, then it would be rejected.

What is the IRR Formula?

The IRR formula is as follows: 

Calculating the internal rate of return can be done in three ways:

Using a financial calculator

Using an iterative process where the analyst tries different discount rates until the NPV equals zero (Goal Seek in Excel can be used to do this)

Practical Example

Here is an example of how to calculate the Internal Rate of Return.

A company is deciding whether to purchase new equipment that costs $500,000. Management estimates the life of the new asset to be four years and expects it to generate an additional $160,000 of annual profits. In the fifth year, the company plans to sell the equipment for its salvage value of $50,000.

Meanwhile, another similar investment option can generate a 10% return. This is higher than the company’s current hurdle rate of 8%. The goal is to make sure the company is making the best use of its cash.

To make a decision, the IRR for investing in the new equipment is calculated below.

Excel was used to calculate the IRR of 13%, using the function, =IRR(). From a financial standpoint, the company should make the purchase because the IRR is both greater than the hurdle rate and the IRR for the alternative investment.

What is the Internal Rate of Return Used For?

Companies take on various projects to increase their revenues or cut down costs. A great new business idea may require, for example, investing in the development of a new product.

In capital budgeting, senior leaders like to know the estimated return on such investments. The internal rate of return is one method that allows them to compare and rank projects based on their projected yield. The investment with the highest internal rate of return is usually preferred.

Internal Rate of Return is widely used in analyzing investments for private equity and venture capital, which involves multiple cash investments over the life of a business and a cash flow at the end through an IPO or sale of the business.

Thorough investment analysis requires an analyst to examine both the net present value (NPV) and the internal rate of return, along with other indicators, such as the payback period, in order to select the right investment.  Since it’s possible for a very small investment to have a very high rate of return, investors and managers sometimes choose a lower percentage return but higher absolute dollar value opportunity.

Also, it’s important to have a good understanding of your own risk tolerance, a company’s investment needs, risk aversion, and other available options.

Video Explanation of Internal Rate of Return (IRR)

Below is a short video explanation with an example of how to use the XIRR function in Excel to calculate the internal rate of return of an investment. The demonstration shows how the IRR is equal to the compound annual growth rate (CAGR).

What IRR Really Means (Another Example)

Let’s look at an example of a financial model in Excel to see what the internal rate of return number really means.

If an investor paid $463,846 (which is the negative cash flow shown in cell C178) for a series of positive cash flows as shown in cells D178 to J178, the IRR they would receive is 10%. This means the net present value of all these cash flows (including the negative outflow) is zero and that only the 10% rate of return is earned.

If the investors paid less than $463,846 for all same additional cash flows, then their IRR would be higher than 10%. Conversely, if they paid more than $463,846, then their IRR would be lower than 10%.

The above screenshot is from CFI’s M&A Modeling Course.

Unlike net present value, the internal rate of return doesn’t give you the return on the initial investment in terms of real dollars. For example, knowing an IRR of 30% alone doesn’t tell you if it’s 30% of $10,000 or 30% of $1,000,000.

Using IRR exclusively can lead you to make poor investment decisions, especially if comparing two projects with different durations.

Let’s say a company’s hurdle rate is 12%, and one-year project A has an IRR of 25%, whereas five-year project B has an IRR of 15%. If the decision is solely based on IRR, this will lead to unwisely choosing project A over B.

Another very important point about the internal rate of return is that it assumes all positive cash flows of a project will be reinvested at the same rate as the project, instead of the company’s cost of capital. Therefore, the internal rate of return may not accurately reflect the profitability and cost of a project.

A smart financial analyst will alternatively use the modified internal rate of return (MIRR) to arrive at a more accurate measure.

Related Reading

You're reading Internal Rate Of Return (Irr)

The Return Statement In Python

The return statement in python is an extremely useful statement used to return the flow of program from the function to the function caller. The keyword return is used to write the return statement.

Since everything in python is an object the return value can be any object such as – numeric (int, float, double) or collections (list, tuple, dictionary) or user defined functions and classes or packages.

The return statement has the following features –

Return statement cannot be used outside the function.

Any code written after return statement is called dead code as it will never be executed.

Return statement can pass any value implicitly or explicitly, if no value is given then None is returned.


Following is the syntax of return statement in python –

def some_function(parameters): print(some_function) Example

Following is the simple example of return statement –

def welcome(str): return str + " from TutorialsPoint" print(welcome("Good morning")) Output

Following is an output of the above code –

Good morning from TutorialsPoint

The return statement is useful in multiple ways and the below sections discuss the different use case of return statement along with examples.

Use of return statement in Python

Functions are core of any programming language as they allow for code modularity thereby reducing program complexity. Functions can display the result within itself, but it makes the program complex, hence it is best to pass the result from all the functions to a common place.

It is in this scenario that the return statement is useful as it terminates the currently executing function and passes control of the program to the statement that invoked the function.


In the below code the sum_fibonacci function is used to calculate the sum of the first 15 terms in the fibonacci series. After calculating the sum, it prints and returns the sum to the sum_result variable. This is to show that printing inside the function and returning the value give the same output.

# Defining function to calculate sum of Fibonacci series def sum_fibonacci(terms): first_term = 0 second_term = 1 sum_series = 0 # Finding the sum of first 15 terms of Fibonacci series for i in range(0, terms): sum_series = sum_series + first_term next_term = first_term + second_term first_term = second_term second_term = next_term # Printing the sum inside the function print("Sum of Fibonacci series inside the function is = {}".format(sum_series)) # Returning the sum using return statement return sum_series # Invoking the sum_fibonacci function sum_result = sum_fibonacci(15) print("Sum of Fibonacci series outside the function is = {}".format(sum_result)) Output

The output shows that the sum from inside the function using print statement and the sum from outside the function using return statement is equal.

Sum of Fibonacci series inside the function is = 986 Sum of Fibonacci series outside the function is = 986 Returning a function using return statement

In python, functions are first class objects which means that they can be stored in a variable or can be passed as an argument to another function. Since functions are objects, return statement can be used to return a function as a value from another function. Functions that return a function or take a function as an argument are called higher-order functions.


In this example, finding_sum function contains another function – add inside it. The finding_sum function is called first and receives the first number as the parameter. The add function receives the second number as parameter and returns the sum of the two numbers to finding_sum function. The finding_sum function then returns the add function as a value to sum variable.

# Defining function to return sum of two numbers # Function to get the first number def finding_sum(num1): # Function to get the second number def add(num2): return num1 + num2 # return sum of numbers to add function return add # return value present in add function to finding_sum function sum = finding_sum(5) print("The sum of the two numbers is: {}".format(sum(10))) Output

The output of the program gives the sum of the two numbers – 5 and 10.

The sum of the two numbers is: 15 Returning None using return statement

Functions in python always return a value, even if the return statement is not written explicitly. Hence, python does not have procedures, which in other programming languages are functions without a return statement. If a return statement does not return a result or is omitted from a function, then python will implicitly return default value of None.

Explicit calling of return None should only be considered if the program contains multiple return statement to let other programmers know the termination point of the function.


The program below gives a perfect illustration of using return None. In this program the check_prime() function is used to check if a list contains any prime numbers. If the list contains prime numbers, then all the prime numbers present in the list are printed. However, if there are no prime numbers in the list then None is returned, since this program contains multiple return statements, hence None is called explicitly.

def check_prime(list): prime_list = [] for i in list: counter = 0 for j in range(1, i): if i % j == 0: counter = counter + 1 if counter == 1: prime_list.append(i) if len(prime_list): return prime_list else: return None list = [4, 6, 8, 10, 12] print("The prime numbers in the list are: {}".format(check_prime(list))) Output

The output prints None since there are no prime numbers in the list.

The prime numbers in the list are: [4] Returning multiple values using return statement

The return statement in python can also be used to return multiple values from a single function using a ‘,’ to separate the values. This feature can be especially useful when multiple calculations need to be performed on the same dataset without changing the original dataset. The result from the return statement is a tuple of the values.


In this example the built-in functions of the statistics library are used to compute the mean, median and mode which are returned using a single return statement showing how multiple values can be returned from a function.

import statistics as stat # Defining function to perform different statistical calculations def finding_stats(data): return stat.mean(data), stat.median(data), stat.mode(data) # returning multiple values list_numbers = [5, 7, 13, 17, 17, 19, 33, 47, 83, 89] print("The mean, median and mode of the data is: {}".format(finding_stats(list_numbers))) Output

The output gives the mean, median and mode of the dataset with type as tuple.

The mean, median and mode of the data is: (33, 18.0, 17)

How To Calculate Irr In Excel

Last Updated on September 2, 2023

IRR or the Internal Rate of Return calculates a series of cash flows. This is assuming there are equal-sized periods of payment.

Today we’ll look at how to calculate IRR and how to interpret the results.


How To Calculate IRR

There are three ways to calculate IRR. We recommend using formulas as doing manual calculations can incur human error and be time-consuming.

This is why you are using Excel in the first place so you may as well make use of its functionality!

Using Excel, the formulas you will be using are IRR, XIRR, and MIRR.

In our example, the first column represents Year, the second column represents the Date Of Payment, and the third column represents Payment.




Starting with IRR and using our sample table from above, the IRR formula you would use would be “=IRR((C2:C10,.1)*12,” which will give an internal rate of return.

In certain examples where the period of time is not going to be equal, i.e. when you use months in which some have 31 days, whilst others have 30 days or less, the monthly periods are not going to be exactly the same in length.

This means that the IRR is going to return a somewhat incorrect result. Add this over multiple months, i.e. a year and you can expect this to be consistent.




If we look at Excel’s XIRR function, we will be able to calculate a more accurate rate of return. This is because it will take into consideration a different sized time period.

In order to use this functionality, you will need to apply a cash flow amount and a specific date on which those payments are going to be made. Hence our second column is; Date Of Payment.

So in our example from above, if we wanted to calculate using XIRR we would use “=XIRR(C2:C10,B2:B10,.1)” which would yield an internal rate of return.




Finally, Excel’s IRR function, which stands for modified internal rate of return, will work similarly to the IRR function, although this function will take the cost of borrowing the initial investment funds into consideration.

It will also use the compounded interest which was earned by reinvesting wash cash flow.

What makes the MIRR function so useful is that it has enough flexibility to accommodate separate interest rates, concerning borrowing and investing.

As compound interest is calculated, the internal rate of return is going to be different from those of the original internal rate of return, but also the XIRR function.

Taking into consideration our example and that C14 represents Financing Rate and C15 represents Reinvestment Rate, the formula for MIRR is “=MIRR(C2:C10,C14,C15)*12” for our final internal rate of return.

Which Is Best? What Is The Difference Between IRR And NPV?

The one major difference is that NPV is an actual numerical amount, and IRR is simply the interest yield which is calculated as a percentage expected from an investment.

In terms of investors, they will typically go with an IRR that is greater than the cost of the capital investment.

Although this could increase the risk of return on investment greater than a weighted average cost of capital.

Final Thoughts

Those are the three methods for calculating IRR in Excel. Use them all and you will have the best range of results.

Rate Variance And Volume Variance

Rate Variance and Volume Variance

You have learnt how to create measures for Annualized Cost Per Head and Total Headcount. You can use these measures to create Rate Variance and Volume Variance measures.

Rate Variance measures calculate what portion of a Currency Variance is caused by differences in Cost Per Head.

Volume Variance measures calculate how much of the Currency Variance is driven by fluctuation in Headcount.

Creating Variance to Budget Rate Measure

You can create Variance to Budget Rate measure as follows −

VTB Rate:=([Budget Annualized CPH]/12-[Actual Annualized CPH]/12)*[Actual Total Head Count]

Creating Variance to Budget Volume Measure

You can create Variance to Budget Volume measure as follows −

VTB Volume:=[VTB Total Head Count]*[Budget Annualized CPH]/12

Analyzing Data with Variance to Budget Measures

Create a Power PivotTable as follows −

Add the fields Fiscal Quarter and Fiscal Month from Date table to Rows.

Add the measures Actual Annualized CPH, Budget Annualized CPH, VTB Rate, VTB Volume, VTB Sum to Values.

Add the fields Fiscal Year from Date table and Sub Class from Accounts table to Filters.

Select FY2023 in the Fiscal Year Filter.

Select People in the Sub Class Filter.

Filter Row Labels for Fiscal Quarter values FY2023-Q1 and FY2023-Q2.

You can observe the following in the above PivotTable −

VTB Sum value shown is only for Sub Class – People.

For Fiscal Quarter FY2023-Q1, VTB Sum is $4,705,568, VTB Rate is $970,506,297, and VTB Volume is $-965,800,727.

VTB Rate measure calculates that $970,506,297 of the Variance to Budget (VTB Sum) is caused by the difference in Cost per Head, and $-965,800,727 is caused by the difference in Headcount.

If you add VTB Rate and VTB Volume, you will get $4,705,568, the same value as returned by VTB Sum for Sub Class People.

Similarly, for Fiscal Quarter FY2023-Q2, VTB Rate is $1,281,467,662, and VTB Volume is $-1,210,710,978. If you add VTB Rate and VTB Volume, you will get $70,756,678, which is the VTB Sum value shown in the PivotTable.

Creating Year-Over-Year Rate Measure

You can create Year-Over-Year Rate measure as follows −

YoY Rate:=([Actual Annualized CPH]/12-[Prior Year Actual Annualized CPH]/12)*[Actual Total Head Count]

Creating Year-Over-Year Volume Measure

You can create Year-Over-Year Volume measure as follows −

YoY Volume:=[YoY Actual Total Headcount]*[Prior Year Actual Annualized CPH]/12

Creating Variance to Forecast Rate Measure

You can create Variance to Forecast Rate measure as follows −

VTF Rate:=([Forecast Annualized CPH]/12-[Actual Annualized CPH]/12)*[Actual Total Head Count]

Creating Variance to Forecast Volume Measure

You can create Variance to Forecast Volume measure as follows −

VTF Volume:=[VTF Total Head Count]*[Forecast Annualized CPH]/12

Analyzing Data with Variance to Forecast Measures

Create a Power PivotTable as follows −

Add the fields Fiscal Quarter and Fiscal Month from Date table to Rows.

Add the measures Actual Annualized CPH, Forecast Annualized CPH, VTF Rate, VTF Volume, VTF Sum to Values.

Add the fields Fiscal Year from Date table and Sub Class from Accounts table to Filters.

Select FY2023 in the Fiscal Year Filter.

Select People in the Sub Class Filter.

Filter Row Labels for Fiscal Quarter values FY2023-Q1 and FY2023-Q2.

Creating Forecast Variance to Budget Rate Measure

You can create Forecast Variance to Budget Rate measure as follows −

Forecast VTB Rate:=([Budget Annualized CPH]/12-[Forecast Annualized CPH]/12)*[Forecast Total Headcount]

Creating Forecast Variance to Budget Volume Measure

You can create Forecast Variance to Budget Volume measure as follows −

Forecast VTB Volume:=[Forecast VTB Total Head Count]*[Budget Annualized CPH]/12

Analyzing Data with Forecast Variance to Budget Measures

Create a Power PivotTable as follows −

Add the fields Fiscal Quarter and Fiscal Month from Date table to Rows.

Add the measures Budget Annualized CPH, Forecast Annualized CPH, Forecast VTB Rate, Forecast VTB Volume, Forecast VTB Sum to Values.

Add the fields Fiscal Year from Date table and Sub Class from Accounts table to Filters.

Select FY2023 in the Fiscal Year Filter.

Select People in the Sub Class Filter.

Filter Row Labels for Fiscal Quarter values FY2023-Q1 and FY2023-Q2.


How Does Internal Controls Work With Objectives?

Introduction to Internal Controls

Start Your Free Investment Banking Course

Download Corporate Valuation, Investment Banking, Accounting, CFA Calculator & others

Internal controls are the various procedures and steps implemented by different business firms to ensure the highest integrity of their financial and accounting information and to promote accountability. Internal controls also come in handy to detect the concern areas of fraud and stop them from happening. Apart from the above-discussed functions, internal controls also come to use in operational efficiency, which enhances the accuracy and timeliness of financial reporting.

Objectives of Internal Controls

The objectives of internal controls are as follows:

To make sure every transaction gets systematically recorded on a sequential basis.

Grant enough security to the company’s assets to prevent them from being used unauthorizedly.

To compare assets recorded in the books with the existing ones and to this in a fixed interval to find any discrepancy.

To systematically evaluate the complete accounting process used in the authorization of transactions?

Conduct proper checks and controls to review if the entire organization is in good shape and to find any loopholes.

To make sure optimum utilization of resources is taking place within the firm.

Ensure the financial statements are prepared following the accounting concepts and principles guidelines.

Principles of Internal Controls

The first and foremost principle of accounting control is establishing responsibilities.

Maintaining records in sequential order is very important.

The segregation of duties is also an essential principle of accounting control.

Rotation of employees on a mandatory basis is needed.

The usage of technology control is a must.

Regular independent audits or reviews must be conducted.

Insuring assets must be done by bonding with key employees.

How does it Work?

Internal controls are guided by the Sarbanes-Oxley Act of 2002 when there were a lot number of fraud cases reported in early 2000 at many US companies. Corporate governance came under a lot of pressure, where managers were responsible for the financial reporting, and an audit trail was created. Managers who were found guilty of any discrepancy were penalized and faced criminal penalties.

Components of Internal Control

It is essential to the other four components and sets up the structure at the top of a business firm and decides on the discipline and design of the organization.

Risk Assessment: Identification and analysis of risk which could stop a firm from achieving its goals.

Control Activities: These are the steps and procedures to ensure the organization that all the directives given by the management are being followed.

Information and Communication: This is related to the timely transfer of information that helps other employees perform their responsibilities.

Monitoring: This is conducted by top management, enabling them to see that all controls are well in place and performed without any gap.

Examples 0f Internal Control

Bank Reconciliations: One very basic example of internal control can be bank reconciliations, where the records of all payments and receipts which are recorded in a business ledger are reconciled to the bank statement to see if there is any discrepancy.

Audit: Audit is one of the most prominent examples of internal control. An external party is hired to give their opinion on the accuracy and integrity of the company’s books of account.

Procurement Policies: One area where internal control can be applied is the company’s procurement policies. The firms can establish a set mechanism and vendor list to procure the required items and demonstrate a thorough check on them.

Responsibilities of Internal Controls

The responsibilities of internal controls are as follows:

The CEO is the prime connect for applying internal control and makes sure he passes practical directives to his managers to conduct the business.

Internal controls ensure there is no scope for fraud in the system and prevent it from happening.

Internal control ensures that the financial and accounting information has the highest integrity and reliability.

Internal controls assure that all the necessary accounting principles have been followed.

It also protects the interest of the stakeholders who have invested in the company.

Scope of Internal Controls

The scope of internal control is for the firm’s overall governance and may reach broader areas like risk management and technology control.

It ensures that accounting transactions are reliable and recorded by following the accounting principles.

It is related to the distribution of authority and has a scope in the organization’s decision-making process.


The Control system may turn out to become redundant with time.

It may not prevent the collusion of two or more people.

It still cannot fully safeguard a firm from human error.

Most of the controls will tend to go towards transactions of the usual nature.

It also bears a cost to implement the same in the business.


Internal control forms the crux of any business if appropriately applied. Indeed the benefits of it are a lot more than the limitations it faces. Internal controls instill the concept of assurance and reliability in the firm, and stakeholders also find such firms reliable enough to park their savings.

Recommended Articles

This is a guide to Internal Controls. Here we also discuss internal controls’ objectives and principles, with scope and responsibilities. You may also have a look at the following articles to learn more –

Pulitzer Prize–Winning Alums Return To Bu

Pulitzer Prize–winning alums return to BU COM hosts panels and discussions Thursday and Friday

Tom Fiedler (COM’71), the executive editor of the Miami Herald, will receive the Hugo Shong Lifetime Achievement in Journalism Award during the two-day event.

In 1972, Gerard O’Neill (COM’70) and Stephen Kurkjian (CAS’66) —founding members of the Boston Globe’s investigative Spotlight Team — became the first BU alumni to win a Pulitzer Prize in journalism. Since then, 20 other University alumni have received the prize.

This week, COM will recognize their achievements with a two-day event honoring the journalists and offering members of the BU community expert views on changes in the news media. During the celebration, the second annual Hugo Shong Lifetime Achievement in Journalism Award will be presented to Tom Fiedler (COM’71), the executive editor of the Miami Herald.

Participants in the lectures and discussions, which begin on Thursday, November 17, include editors, photographers, and reporters, all graduates of COM, the College of Arts and Sciences, or Metropolitan College.

“The College of Communication has a significant number of Pulitzer winners in journalism, and we wanted to honor them at a multiday event, when we bring them back to campus and celebrate their achievements,” says Robert Grimes, a COM alumni officer. “We came up with a list and found quite a few who graduated from other schools and colleges at BU, so it’s now University-wide.”

The event begins with a Conversations with COM lecture by Fiedler and Don Van Natta, Jr. (COM’86), an investigative correspondent for the New York Times. Fiedler and Van Natta will speak on Tomorrow’s News: The Future of Investigative Reporting in Light of Economics, Diminishing Resources, and a Polarized Nation, beginning at 4 p.m. at the Kenmore Classroom Building at 565 Commonwealth Ave. The Hugo Shong (COM’87, GRS’90) Lifetime Achievement Award will be presented to Fiedler at a private dinner that evening.

On Friday, November 18, editors and reporters will participate in a panel discussion on The Rules of Engagement: Advocacy and Emotion in Journalism and the Press. Moderated by Lou Ureneck, a COM professor of business and economic journalism, the panel will feature Kurkjian, the senior assistant metropolitan editor at the Boston Globe; Patricia Maldonado (COM’91), a former Miami Herald reporter and currently the communications director at the Human Services Coalition; Mark Thompson (COM’75), a senior correspondent at Time magazine; Helen Ubinas (COM’94), a columnist for the Hartford Courant; and Joan Vennochi (COM’75), a columnist for the Boston Globe. The discussion, held at the Florence and Chafetz Hillel House, begins at 9:30 a.m.

At 11 a.m., a group of editors and photographers will discuss photojournalism in Windows to the World: A Journey Through the Lens. The panel will be moderated by Peter Southwick, a COM visiting associate professor, and the participants are Daniel Goodrich (COM’75), a photographer for Newsday; Stan Grossfeld (COM’80), an associate editor at the Boston Globe; Justin Lane (COM’95), the New York bureau chief for the European Pressphoto Agency; and Susan Walsh (COM’87), a staff photographer for the Associated Press and the president of the White House News Photographers’ Association. The event also takes place at the Florence and Chafetz Hillel House.

All discussions and lectures are free and open to the public.

Explore Related Topics:

Update the detailed information about Internal Rate Of Return (Irr) on the website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!