# What Is XIRR? Money-Weighted Return Explained

> XIRR is the yearly rate that sets the present value of dated cash flows to zero. Here's how it differs from CAGR, with a one-year 10% worked example.

Source: MarketCapLens — https://www.marketcaplens.com/learn/what-is-xirr
Updated: 2026-09-19

XIRR — extended internal rate of return — is the constant yearly rate that makes dated cash flows
net to a present value of zero. It answers "given when money went in and came out, what annual rate
fits this path?" It is not the same as CAGR, which assumes one lump sum.

**Key takeaways**

- XIRR is the rate *r* that sets NPV of dated cash flows to zero, using an actual/365 year fraction.
- Deposits are money out of your pocket. Withdrawals and the ending value are money in.
- $10,000 invested on 1 January 2019 and $11,000 back on 1 January 2020 is a **10% XIRR**.
- CAGR cannot date extra contributions. If money moved in between, use XIRR.

## The idea

> **Find the annual rate that makes the present value of every dated cash flow sum to zero.**

You need at least two cash flows, on real calendar dates, and they cannot all point the same way.
An all-deposit list, or an all-withdrawal list, has no solution. If more than one rate could fit,
the honest answer is to leave the result blank.

This site follows Excel’s XIRR convention: year fractions are actual days divided by 365, measured
from the first date.

## A worked example

Invest **$10,000** on **1 January 2019**. On **1 January 2020** the account is worth **$11,000**.
That is 365 days, so XIRR is **10%** — the same number CAGR would give for a one-year lump sum.

The difference shows up when cash moves in the middle. If you add money later, CAGR would pretend
the extra dollars had been there from day one and overstate the rate. XIRR gives the later deposit
less time to compound.

Try the same dates in the [XIRR calculator](https://www.marketcaplens.com/tools/xirr-calculator). Deposits are signed as outflows
for you; you do not type a minus.

Microsoft’s help example — a $10,000 outflow on 1 January 2008 and four later inflows — solves to
about **37.34%**. Irregular dates are the point of XIRR.

## What XIRR tells you

It is a money-weighted annual rate for a path that already happened. Extra contributions are not
treated as if they had earned the full stretch.

## What XIRR leaves out

XIRR does not say whether the path was smooth, whether fees were high, or whether the next year will
look like the last. Two very different calendars can share a rate. It also says nothing about a
company’s [market cap](https://www.marketcaplens.com/learn/what-is-market-capitalization) or quality.

If there were no extra deposits or withdrawals, [CAGR](https://www.marketcaplens.com/learn/what-is-cagr) is the simpler reading of
the same start and end. Use the [CAGR calculator](https://www.marketcaplens.com/tools/cagr-calculator) for that lump-sum case.

## Using it next to a live company

A company page such as [Apple](https://www.marketcaplens.com/company/AAPL) shows how the stock has moved, with an as-of date.
Those figures are not an XIRR until you type your own dated cash flows — what you paid, what you
took out, and what the position is worth today. The ranking will not invent a contribution history.

---

*For general education only. Nothing here is investment advice.*

## Frequently asked questions

### What is XIRR?

XIRR is the annual rate that makes the present value of dated cash flows sum to zero. A $10,000 deposit on 1 January 2019 and $11,000 back on 1 January 2020 is a 10% XIRR. The MarketCapLens XIRR calculator uses Excel’s actual/365 year fraction.

### How is XIRR different from CAGR?

CAGR assumes one lump sum and no cash in or out. XIRR dates each deposit and withdrawal, so extra contributions are not treated as if they had been there from day one. Use CAGR for a single start and end; use XIRR when money moved in between.

### When is there no XIRR?

You need at least one outflow and one inflow. All deposits, or all withdrawals, cannot be solved. If more than one rate could fit, the calculator leaves the result blank instead of picking one.
