The **Profit Quota** defines the minimum accumulated scrap value the employees have to gather and sell to the company in each quota cycle. Reaching the profit quota is the main objective of *Lethal Company*. Each quota cycle lasts 3 days, meaning the employees have 3 days to explore the moons and collect scrap.

Failing to meet the quota in time will result in the company discharging the entire crew by jettisoning them into deep space. It is possible to land on any moon on day 0, but not landing on Gordion, where the scrap can be sold, leads to an inevitable game over.

## Quota Calculation[]

The profit quota for a cycle depends on how many quotas have been fulfilled before. Starting quota is always ▮130. The formula for quota increase is a quadratic function, meaning the quota increase rises with every quota fulfilled. Additionally, the quota increase is multiplied by an evaluated curve value in the interval `[-0.5; 0.5]`

, with a random decimal between 0 and 1 as input to randomize the quota.

*Note:* *The randomizer curve resembles the integral of a normal distribution function, meaning instead of getting completely random values in [-0.5;0.5], the deviation from the average is smaller and the values are biased towards zero to minimize outliers.*

`nextProfitQuotaIncrease = 100 * (1 + timesFulfilled`

^{2} / 16) * (randomizerCurve.eval(random(0, 1)) + 1)

The profit quota is technically clamped between 0 and 1'000'000'000 but since it is not possible achieve anything remotely close to this, it doesn't really matter.

## Average Quota[]

Using the above formulas, we can calculate the average values for the each quota, as well as the total value required to reach the first n quotas, and the average scrap value needed per day to reach said quotas. This information is shown in the table below.

Because the quota increase scales quadratically with the quota, quota values scale cubically and the total money required to reach the nth quota scales quartically. The values shown in the table are averages, and can vary dramatically depending on the result of `randomizerCurve.eval`

in the above step.

## Overtime Bonuses[]

Overtime bonus is granted when the crew over-delivers, meaning they sell more than the required profit quota. The overtime bonus is calculated using the equation below, rounding down if the result is not a whole number.

`overtimeBonus = (quotaFulfilled - profitQuota) / 5 + 15 * daysUntilDeadline`

Days until deadline starts at `totalDays - 2`

, with `totalDays`

being the profit cycle length, and gets decremented at the end of every day, meaning on day 0 it becomes a negative value. This acts like an *efficiency bonus* or *penalty* that rewards employees that meet the profit quota early in the cycle and punishes those that don't. If the crew only sells their scrap on the last day, an overtime bonus penalty of ▮-15 will be deducted. It is never possible to lose credits as the overtime bonus is clamped at ▮0.

Day | Days Until Deadline | Efficiency Bonus / Penalty |
---|---|---|

3 | 2 | ▮30 |

2 | 1 | ▮15 |

1 | 0 | ▮0 |

0 | -1 | ▮-15 |

### Usage[]

The following equation can be used to sell as little scrap as possible while still gaining a certain amount of credits. This equation assumes you are selling with 0 days until deadline. In this equation, `quotaFulfilled`

represents the value of the scrap being sold, and `total`

represents the total amount of credits gained. If the equation does not give a whole number, round up to avoid falling short of the desired credits.

`quotaFulfilled = (5 * total + profitQuota + 75) / 6`

Example: You want to gain ▮700 to purchase a jetpack while fulfilling the first quota of ▮130.

`quotaFulfilled = (5 * 700 + 130 + 75) / 6`

`quotaFulfilled = 617.5`

In this case, you must round-up and sell ▮618 worth of scrap to receive an overtime bonus of ▮82 for a total of ▮700.