ForHosting KIT · Education

Flat Bump Grade Curve Calculator

Apply a curve that adds a fixed bump but guarantees a floor: a 67 plus 5 points is 72, still below the 75 floor, so the student gets 75, an increase of 8. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Raw grade
67
Bump amount
5
Minimum floor
75
Maximum grade
100
You get
Bumped grade
72
Curved grade
75
Increase
8
Applied rule
minimum_floor

Apply a transparent grade curve when the policy combines a fixed point increase with a guaranteed minimum. Enter the original grade, the flat bump, the minimum floor, and the maximum allowed grade. The calculator adds the bump, compares that result with the floor, chooses the higher value, and caps it at the maximum. It also identifies which rule determined the result, making the calculation easy to explain, reproduce, and audit for one student or an automated grade-processing workflow.

Enter the grading policy as four separate values

Start with the raw grade exactly as it appears before this curve is applied. Then enter the flat bump amount, which is the same number of grade points offered to every grade processed under the policy. The minimum floor is the lowest result that the policy guarantees, while the maximum grade is the highest result it permits.

Keeping these values separate prevents a common source of confusion: a five-point bump and a floor of seventy are not interchangeable rules. A raw grade of sixty receives the bump first, but the resulting sixty-five is still below the floor, so the floor controls. A raw grade of eighty receives the same bump and normally remains above the floor, so the flat bump controls.

All four inputs must be finite, nonnegative numbers. The raw grade and floor cannot exceed the stated maximum because those combinations describe a contradictory grading scale rather than a curve that can be applied consistently. Decimal values are accepted when the course records fractional points or percentages.

Follow the order of operations in the result

The calculation follows a fixed sequence. First, it adds the bump amount to the raw grade and reports that intermediate value as the bumped grade. Second, it compares the bumped grade with the minimum floor and keeps whichever is higher.

Third, it compares that chosen value with the maximum grade and caps the result when necessary. In compact form, the final grade is the minimum of the maximum grade and the greater of the bumped grade or floor. The response reports the final curved grade, the total increase from the raw grade, and an applied rule label.

Use the calculation consistently and document its limits

For an individual check, compare the returned raw grade, intermediate bumped grade, and final curved grade with the written course policy. For batch work, send one request per grade and retain the applied rule alongside the final value; that makes it possible to distinguish students helped by the floor from those receiving only the ordinary bump. Identical inputs always return identical outputs because the calculation uses no network access, random choice, or current time.

The tool does not decide whether a curve is fair, authorized, or compatible with an institution's grading rules. It also does not convert letter grades, weight assignments, round to a school-specific number of decimal places, or modify a gradebook. Those decisions should be settled before using the result.

If another policy says to add the bump only below a threshold, preserve relative rankings, or rescale an entire class distribution, this calculator is not the appropriate model. Use it only when every included grade is governed by the same flat bump, minimum floor, and maximum.

Check one adjusted grade

Show how a raw score changes under a stated bump, guaranteed floor, and maximum.

Apply a uniform course policy

Process grades individually with the same deterministic rule and retain the controlling rule for review.

Audit gradebook adjustments

Compare raw, bumped, and final values to verify that no result falls below the floor or above the maximum.

Is the bump added on top of the minimum floor?

No. The bumped grade and the floor are compared, and the higher of those two values is used before applying the maximum.

Can the inputs contain decimal grades?

Yes. Any finite, nonnegative numeric values are accepted when the raw grade and floor do not exceed the maximum.

In what order are the bump, the floor and the maximum applied?

The bump comes first, then the result is raised to the floor if it falls short, and finally it is capped at the maximum. Capping before the floor could break the ceiling, and bumping after the floor would give more than the policy promises.

How can I tell which rule decided a student's grade?

Each result says which rule applied: the floor, the ordinary bump or the maximum cap. Keeping that label next to the final grade lets you tell students helped by the floor from those who only got the bump.

Can the raw grade or the floor be above the maximum?

No. A raw grade or floor higher than the maximum describes a contradictory scale, so the calculation is refused. All four values must be zero or more, and decimals are fine.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/edu/flat-bump-curve

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/edu/flat-bump-curve \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"raw_grade":67,"bump_amount":5,"minimum_floor":75,"maximum_grade":100}'
{
  "raw_grade": 67,
  "bump_amount": 5,
  "minimum_floor": 75,
  "maximum_grade": 100
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "edu.flat_bump_curve",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Follow the order of operations in the result

A minimum_floor label means the ordinary bump did not reach the guaranteed floor. A flat_bump label means the bumped value was valid without help from either boundary. A maximum_cap label means the bump would have crossed the allowed ceiling. This ordering matters: capping before applying the floor could create a result above the maximum when the floor is misconfigured, while adding the bump after applying the floor would grant a larger increase than the stated policy promises.

Use the calculation consistently and document its limits

API automation is available for $0.002 per request.

What formula does the calculator use?

It calculates min(maximum_grade, max(raw_grade + bump_amount, minimum_floor)).

What happens when the bumped grade exceeds the maximum?

The final curved grade is limited to maximum_grade and the applied rule is maximum_cap.

How much does an API request cost?

Each API request costs $0.002.

Read the full KIT documentation →