Description
Average complete aligned candidate-score rows, returning null means for an empty row bank.
A ballot record is an explicit selection or ordered list of literal candidate IDs. A tally depends on its rule: first choice, approval, positional scores and pairwise comparisons use different evidence. Partial rankings do not by themselves define a preference for or against omitted candidates. Counts and weights describe supplied records, not certified voters.
Average complete aligned candidate-score rows, returning null means for an empty row bank.
When to use this tool
Use score means when aligned complete rows should contribute equally to an average per candidate.
How to use the tool and how it works
- Enter candidates, scores using the definitions below.
- Run the operation. Resolve input-format errors before interpreting an output.
- Read result.tally, using the stated boundary, ordering, sign and absence conventions.
Require one finite score per declared candidate in each supplied row. Compute each candidate’s column sum divided by the number of rows.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| candidates | Distinct literal candidate IDs in the output row/column order. | Dense list of at most 128 literal strings, each at most 8,192 UTF-16 units. |
| scores | Dense numeric score matrix; each row has exactly one finite, possibly signed score per candidate, in candidate-bank order. | Dense numeric rows, each dimension at most 128; the stated shape rules also apply. |
| Output field | Interpretation |
|---|---|
| result | Object containing the fields below. |
| result.tally | Candidate records in declared bank order with support, count or score fields determined by this operation. |
{
"input": {
"candidates": [
"a",
"b"
],
"scores": [
[
1,
3
],
[
2,
0
]
]
},
"output": {
"result": {
"tally": [
{
"candidate": "a",
"score": 1.5
},
{
"candidate": "b",
"score": 1.5
}
]
}
}
} Limitations and assumptions
- An empty row bank yields null means rather than zero. Scores may be signed, and no range normalization is performed.
- Candidate banks use distinct exact string IDs. Unless an audit explicitly accepts them for reporting, unknown IDs and repeated IDs within a ballot are rejected. Rankings may be partial. These operations do not authenticate records, infer voter intent or apply jurisdiction-specific election rules.
- Every declared outer field is required and unknown outer fields are rejected. Strings and JSON text have size limits, lists are bounded to 128 entries, and JSON nesting/node counts are bounded. Tighter operation-specific bounds stated above take precedence.
- Numeric outputs must remain finite and within safe-integer magnitude. Original record indexes and cell coordinates are zero-based; stated half-open ranges exclude their end.
Alternative or Complementary methods
Choose a tally rule before comparing outcomes. Audit candidate identity and repeated entries first, retain the treatment of empty and partial ballots, and apply any election-specific eligibility or tie-breaking procedure separately.
References
Similar or alternative tools
- Explicit Score Ballot Sum Tally
Sum complete aligned candidate-score rows, allowing finite signed scores.
- Ballot Tally Highest Score Tie Set
Select all candidate IDs tied at the maximum supplied score in original candidate order.