Agora's offer letter tool allows for companies to make flexible offers to candidates. A **Flexible Offer** gives the candidate the power to determine the make up of their total compensation. They're able to opt for a higher base salary or higher equity, depending on what level of ownership they want in the company.

When receiving a flexible offer through Agora, the candidate will be able to model their preferred annual distribution of base salary versus equity. The slider within the interactive offer letter helps them understand the impact of this choice.

#### This article covers:

**Here's an example of what a flexible offer looks like: **

*Note that you are able to put guardrails in place that set the minimum or maximum salary a candidate is allowed to model, depending on your flexible offer policy. *

# Creating a Flexible Offer

To create a flexible offer in Agora, navigate to the Offers homepage and click "New Offer"

In the **Compensation** section of the offer creation page, there will be an on/off toggle for **Flexible Package**. Toggle on to pull up the flexible offer options

Once toggled on, you will enter the total *annual* **Base salary + equity** of the offer, as well as the **Min base** and a **Max base**. Keep in mind when entering in the number in Base salary and equity, this is the amount equity that vests, *per year,* based on your company stock price and vesting schedule.

#### Equity Formulas

There is also an option to **use an equity formula**. By default salary:equity is shown as a 1:1 ratio. Meaning $1 of salary equates $1 of equity. However companies can use the Equity Formula feature to weight their equity ratio using a variety of functions. For example, in order to encourage employees to take a higher % of equity as part of their total compensation, the company will offer $2 of equity for every $1 of salary trade off

By default, we use the following formula `sub(250000,BASE_SALARY)`

which calculates a **1:1 ratio between salary and equity.** In this case, 250,000 is the sum of both the equity and base salary. You then enter the min and max base salary and based on that we calculate the amount of equity the candidate will receive based on their preferred distribution.

*Unweighted Equity Formula Example *

In the offer letter slider the equity and base salary will always add up to $250,000 in this scenario since it is a 1:1 ratio.

#### Weighted Offers

If you would like to create a **weighted offer** that does not use a 1:1 ratio, you can use a formula to set your preferred distribution. For example, if we use the formula: `multiply(sub(250000,BASE_SALARY), 2)`

the equity quantity has doubled.

* Weighted Equity Formula Example *

Once you have created the offer, click on the candidate's unique offer url to preview how the flexible offer is presented to the candidate.

You can review everything and make edits from the offer details page.

# Equity Formula Variables and Functions

Below is a list of variables and functions that can be used to create a formula:

**Variables**

BASE_SALARY - This variable represents the base salary that the user selects. Type: Money

FLEXIBLE - Is this a flexible offer? Type: boolean

TARGET_BONUS_VALUE - This variable represents the target bonus for a user. Type: Money

TARGET_BONUS_PERCENT - This variable represents the target bonus percent. Type: number

TARGET_COMMISSION_VALUE - This variable represents the target commission for a user. Type: Money

TARGET_COMMISSION_PERCENT - This variable represents the target commission percent. Type: number

SHARE_VALUE - This variable represents the value of your shares. Type: Money

**Functions**

**Math**

SUM - Add together all given parameters. Can take any number of number or Money parameters. (Example: SUM(BASE_SALARY, 100000) will add 100,000 to base salary)

SUB - Subtract all given parameters. Can take any number of number or Money parameters. (Example: SUB(BASE_SALARY, 100000) will subtract 100,000 from base salary)

DIVIDE - Divide given parameters. Can take two number or Money parameters. (Example: DIVIDE(BASE_SALARY, 100000) will divide base salary by 100,000)

MULTIPLY - Multiple given parameters. Can take two number or Money parameters. (Example: MULTIPLY(BASE_SALARY, 100000) will multiply base salary by 100,000

ROUNDUP - Round a number up to the nearest integer value. (Example: ROUNDUP(BASE_SALARY) , if salary is 100,000.50, then this will return 100,001)

**Money**

MONEY - Create a Money value. (Example: MONEY(100000, "USD") will create a money value in USD.

AMOUNT - Return just the amount of a money value. (Example: AMOUNT(MONEY(100000,"USD"))will return the number 100000.

CURRENCY - Return just the amount of a money value. (Example: CURRENCY(MONEY(100000,"USD"))will return the string USD.

**Conditional**

IF - Takes three parameters, with the first being the condition, the second being the result if it's true, and the third being the result if its false. (Example: IF(FLEXIBLE, "Is flexible", "Not flexible").

**Strings**

CONCAT - concatenate two strings (Example: CONCAT("STRING", "STRING") is equal to "STRINGSTRING"