RATE

Returns the interest rate per period of an annuity. RATE is calculated by iteration and can have zero or more solutions. If the successive results of RATE do not converge to within 0.0000001 after 20 iterations, an error is returned.

Syntax

RATE(<nper>, <pmt>, <pv>[, <fv>[, <type>[, <guess>]]])

Parameters

Term Definition
nper The total number of payment periods in an annuity.
pmt The payment made each period and cannot change over the life of the annuity. Typically, pmt includes principal and interest but no other fees or taxes.
pv The present value — the total amount that a series of future payments is worth now.
fv (Optional) The future value, or a cash balance you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (the future value of a loan, for example, is 0).
type (Optional) The number 0 or 1 which indicates when payments are due. If type is omitted, it is assumed to be 0. The accepted values are listed below this table.
guess (Optional) Your guess for what the rate will be.
- If omitted, it is assumed to be 10%.
- If RATE does not converge, try different values for guess. RATE usually converges if guess is between 0 and 1.

The type parameter accepts the following values:

Set type equal to If payments are due
0 or omitted At the end of the period
1 At the beginning of the period

Return Value

The interest rate per period.

Remarks

  • Make sure that you are consistent about the units you use for specifying guess and nper. If you make monthly payments on a four-year loan at 12 percent annual interest, use 0.12/12 for guess and 4*12 for nper. If you make annual payments on the same loan, use 0.12 for guess and 4 for nper.

  • type is rounded to the nearest integer.

  • An error is returned if:

    • nper ≤ 0.
    • RATE does not converge to within 0.0000001 after 20 iterations
  • This function is not supported for use in DirectQuery mode when used in calculated columns or row-level security (RLS) rules.

Examples

Data Description
4 Years of the loan
-200 Monthly payment
8000 Amount of the loan

Example 1

The following DAX query:

EVALUATE
{
  RATE(4*12, -200, 8000)
}

Returns the monthly rate of the loan using the terms specified above.

[Value]
0.00770147248820137

Example 2

The following DAX query:

EVALUATE
{
  RATE(4*12, -200, 8000) * 12
}

Returns the annual rate of the loan using the terms specified above.

[Value]
0.0924176698584164