# Final Grade Calculator

> Solves the weighted-average grade equation for the final exam score required to reach a desired overall grade, given the current grade and the final's weight, and reports whether that score is achievable.

- Calculator id: `final-grade` · Category: Everyday Life (`everyday`) · Tool name: `calculate_required_final_grade`
- Canonical page: https://tttkmbb.com/everyday/final-grade · This document: https://tttkmbb.com/everyday/final-grade.md · JSON definition: https://tttkmbb.com/everyday/final-grade.json

## Purpose

Solves the weighted-average grade equation for the final exam score required to reach a desired overall grade, given the current grade and the final's weight, and reports whether that score is achievable.

**Use when:** You know your current course grade and the final exam's weight and want the minimum final score for a target grade.

**Do not use when:** Grades are combined by points or categories rather than a percentage weight (compute the weighted mean directly with weighted-average), or you need a GPA (use gpa).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `current_grade_percent` | number | % | required | Current weighted grade over all work except the final, in percent. (min 0, max 150) |
| `final_weight_percent` | number | % | required | Share of the overall grade determined by the final exam. (> 0, max 100) |
| `desired_grade_percent` | number | % | required | Overall grade you want to end up with. (min 0, max 150) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `required_final_percent` | number | % | Minimum score on the final; can be below 0 or above 100. |
| `achievable` | boolean |  | true when the required score is at most 100 %. |
| `assessment` | string |  | Plain-language feasibility of the target. |
| `max_possible_grade_percent` | number | % | Overall grade with 100 % on the final. |
| `min_possible_grade_percent` | number | % | Overall grade with 0 % on the final. |

## Formula

`w = final_weight_percent / 100; required = (desired_grade_percent − current_grade_percent × (1 − w)) / w; max = current × (1 − w) + 100 × w; min = current × (1 − w)`

## Data Sources

- Weighted arithmetic mean (Wikipedia) — https://en.wikipedia.org/wiki/Weighted_arithmetic_mean (reference, retrieved 2026-09-23)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/final-grade?current_grade_percent=…&final_weight_percent=…&desired_grade_percent=…`
- `POST https://tttkmbb.com/api/v1/calculate/final-grade` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/final-grade · OpenAPI operationId `calculate_required_final_grade` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "final-grade", "inputs": {…}}`

## Example

- 85 % now, final worth 30 %, want 90 %: inputs `{"current_grade_percent":85,"final_weight_percent":30,"desired_grade_percent":90}` → `{"required_final_percent":101.67,"achievable":false,"max_possible_grade_percent":89.5,"min_possible_grade_percent":59.5}`
- 78 % now, final worth 40 %, want 80 %: inputs `{"current_grade_percent":78,"final_weight_percent":40,"desired_grade_percent":80}` → `{"required_final_percent":83,"achievable":true,"max_possible_grade_percent":86.8,"min_possible_grade_percent":46.8}`

```
GET https://tttkmbb.com/api/v1/calculate/final-grade?current_grade_percent=85&final_weight_percent=30&desired_grade_percent=90
```

## Limitations

Grades are combined by points or categories rather than a percentage weight (compute the weighted mean directly with weighted-average), or you need a GPA (use gpa). All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**What is 'current grade'?**

Your weighted average over everything graded so far, expressed as a percentage of the non-final portion; many learning platforms show it as the running course grade.

**The required score is above 100 %. What now?**

The target is out of reach without extra credit; max_possible_grade_percent shows the best you can still achieve.

## Related

- [GPA Calculator](https://tttkmbb.com/everyday/gpa.md) — Combine course grades into a GPA.
- [Weighted Average Calculator](https://tttkmbb.com/statistics/weighted-average.md) — Weighted mean of several assessment categories.
