ForHosting KIT · Developer Utilities

Rubric weighted score calculator

This rubric weighted score calculator combines per-criterion percentage scores using the exact weights defined by a grading rubric.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It checks that every score and weight is valid, refuses to calculate when the weights do not add up to 100%, and returns both the weighted total and a conventional A–F letter grade. Each criterion's weighted contribution is included, making the result easy to audit, explain to a learner, or pass into a grading workflow without relying on a spreadsheet formula.

Prepare criterion scores and weights

Enter one record for every criterion in the rubric. Each record needs a clear name, a score expressed as a percentage from 0 to 100, and a weight expressed as a percentage from 0 to 100. For example, a research criterion scored at 92 and worth 30% of the assignment uses a score of 92 and a weight of 30. Convert point-based criteria to percentages before submitting them: 18 points earned out of 20 possible becomes a score of 90. Keep every rubric row in the input, including a zero-weight row when it remains useful for feedback but should not affect the grade. The criterion names appear in the result alongside their original values and weighted contributions, so specific, stable labels make later review easier. The calculator accepts up to 100 criteria, which covers detailed analytic rubrics without encouraging unbounded payloads. It rejects blank names, nonnumeric values, infinities, and values outside the permitted range rather than guessing what the author meant.

Understand the weighted calculation

For each criterion, the calculator multiplies its percentage score by its percentage weight and divides by 100. A score of 80 on a criterion worth 25% therefore contributes 20 weighted points. It then adds all contributions to produce the total score. Before returning anything, it verifies that the submitted weights sum to 100%. This check matters because an incomplete set of weights can still yield a number that looks credible while understating or overstating the actual grade. Small floating-point representation differences are tolerated, but a genuinely incomplete or excessive total is returned as an invalid input error; weights are never silently rescaled. Contributions and the total are rounded to two decimal places for a stable, readable result. The letter grade uses familiar thresholds applied to that displayed total: A for 90 or above, B for 80 through 89.99, C for 70 through 79.99, D for 60 through 69.99, and F below 60. This fixed scale makes the output predictable and should be confirmed against the grading policy in use.

Use and review the result

The response provides the total score, letter grade, confirmed weight total, and an ordered list of criteria with each weighted contribution. That detail supports more than a final mark. An instructor can show how different rubric dimensions affected the outcome, a course system can store the calculation beside the original assessment, and a quality reviewer can reproduce the total without reconstructing formulas from a spreadsheet. Because the algorithm is deterministic and uses no network service, the same valid input always produces the same JSON result in the browser and through the API. Treat the letter as a convenience based on the stated A–F boundaries, not as a replacement for an institution's grading policy. If a course uses plus and minus grades, pass/fail rules, curved grades, criterion-specific point maxima, dropped criteria, or special rounding rules, perform those policy steps separately. When a weight error occurs, correct the rubric definition or include the missing criteria rather than changing scores to force the weights to 100. This preserves the distinction between academic performance and the structure used to evaluate it.

Finalize an assignment grade

Combine research, analysis, accuracy, and presentation percentages according to the approved rubric and retain the contribution breakdown.

Validate a learning management workflow

Reject malformed rubric data before a weighted score is written to a gradebook or student record.

Explain grading decisions

Show learners and reviewers exactly how each criterion contributed to the final percentage and letter grade.

How much does a request cost?

Each API request costs $0.002. The calculator also runs in the browser for tier-A use.

What happens if the weights do not total 100%?

The request returns an invalid input error. The calculator does not silently normalize incomplete or excessive weights.

Which letter-grade scale is used?

The scale is A at 90 or above, B at 80 or above, C at 70 or above, D at 60 or above, and F below 60.

Can criteria use points instead of percentages?

Not directly. Convert each earned score to a percentage of that criterion's possible points before submitting it.

Are zero-weight criteria allowed?

Yes. A zero-weight criterion is returned in the breakdown but contributes zero points to the total.

How is rounding handled?

Each displayed weighted contribution and the final score are rounded to two decimal places. The letter grade is assigned from the rounded final score.

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/rubric-score-aggregate

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/rubric-score-aggregate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"criteria":[{"name":"Research","score":92,"weight":30},{"name":"Analysis","score":84,"weight":45},{"name":"Presentation","score":96,"weight":25}]}'
{
  "criteria": [
    {
      "name": "Research",
      "score": 92,
      "weight": 30
    },
    {
      "name": "Analysis",
      "score": 84,
      "weight": 45
    },
    {
      "name": "Presentation",
      "score": 96,
      "weight": 25
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "edu.rubric_score_aggregate",
  "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.

Read the full KIT documentation →