Elixir Consulting Group

Published October 27, 2026 ยท Independent educational guide

Specify Medians and Percentile Methods in AI Reports

A report can label a number typical without explaining whether it is a mean, a median or a selected percentile. An AI assistant may then replace one with another while preserving the surrounding sentence. That changes the question the number answers. Reviewing the output requires more than checking arithmetic: identify the observations, the ordering rule, the statistic and any method used to locate a value between observations. A plausible number and a familiar label are not enough to establish that the intended calculation was performed.

This guide works through six original fictional cases using small invented numerical lists. They are teaching fixtures, not client records, actual model outputs or operating benchmarks. Their units are deliberately described as authored numerical units unless a separate example explicitly supplies another interpretation. The downloadable CSV and JSON preserve inputs and manually specified expectations. Local and downloaded checks compare calculations with those expectations. No model evaluation, production spreadsheet execution, professional statistical review or business-performance result is represented by the examples.

Start with the list of observations behind the label

Fictional case A contains five observations: one, two, three, four and forty. Their sum is fifty, so their arithmetic mean is ten. When ordered, the third observation is three, giving a middle-value median of three. Both numbers describe the same authored list. Neither is a correction to the other. A sentence saying the median is ten would use the wrong statistic, while a sentence saying every observation is close to three would claim more than the median establishes.

Write down what one observation represents before asking an assistant to calculate. One row might represent one completed request, one item, one group summary or one time period. A median of group summaries is not automatically a median of the underlying items. A list containing only completed requests does not describe the final durations of requests that remain unfinished. Those scope questions come before choosing a statistic, and changing the formula cannot recover observations that were never supplied.

Also establish whether the list is complete for the intended question. If the task concerns all items in a collection but the input is a filtered page, the median describes only the supplied subset unless the missing information is obtained. An assistant can state that limitation. It should not silently turn a subset calculation into an overall claim. The original fixtures are finite, fully specified teaching lists except for the deliberately missing value in case F; they do not establish the completeness of a real export or query result.

Case A: a middle value and a mean carry different information

The forty in case A pulls the mean upward because its magnitude contributes to the total. The median depends on the middle position in the ordered list. If the final authored value changed from forty to four hundred while the first four stayed unchanged, the median would remain three and the mean would become eighty-two. This is a numerical contrast, not a finding that a high value is erroneous or should be removed. The case supplies no process that explains why the final observation is large.

An AI-written explanation should keep that boundary. It can say that the selected middle-value statistic remains unchanged in this particular contrast. It should not say that the median proves the operation is stable or that the last observation is unimportant. A rare long duration could still matter for a real service question, while a large amount could still dominate a total. The relevant reporting purpose determines which additional information a reader needs, such as the count, range or the complete small list.

A useful original summary for the case is a proposed teaching sentence: the five authored values have a median of three and a mean of ten; the final value is forty, so the two location measures differ substantially in this list. That wording is not a model response. It preserves the count and both measures without describing a client, assigning a cause or recommending an operational target. A real report needs its own units, collection conditions and reason for selecting the measure.

Case B: an even count can produce a median not in the list

Fictional case B contains one, two, eight and nine. The two middle values are two and eight. Under the declared midpoint convention, their mean is five, so the median is five even though no observation equals five. The lower middle observation is two and the upper middle observation is eight. The distinction matters when a reader expects a reported middle value to identify an actual observed item rather than an interpolated summary.

Python 3.12's statistics documentation distinguishes median, median_low and median_high, and separately documents quantile methods. Those named functions provide limited technical context for the checks used with this guide. They do not select a reporting policy for a business. For the original case, the manual expectations explicitly name the midpoint median and both middle observations. A different application can require a different convention, but the convention must be stated instead of being hidden behind the generic word middle.

If a real workflow requires selecting a representative record, calculating five does not select a record from this list. The application would need a separate selection rule and a reason for that rule. Choosing the lower or upper observation may be appropriate for a declared purpose, but this guide makes no universal recommendation. Keep a calculated summary separate from a record identifier, a ranking decision or a permission to act on a particular item. The four authored numbers provide no evidence about those operational choices.

Case C: name the quantile method before comparing outputs

Fictional case C contains zero, ten, twenty, thirty and forty. The worksheet requests three quartile cut points under two named Python 3.12 statistics.quantiles methods. With method inclusive, the authored expected cut points are ten, twenty and thirty. With method exclusive, the authored expected cut points are five, twenty and thirty-five. The middle cut point agrees while the outer cut points differ. These are the manually specified expectations for that list and those methods, not competing claims about observed business performance.

The difference demonstrates why a percentile label needs a calculation specification. Two reports can use the same observations and a different method while both following their own declared rules. Before calling one output wrong, inspect the method, the requested number of intervals and any input filtering. An assistant should identify an unspecified method as a missing calculation choice rather than claiming that all tools must return one universal quartile value. This page does not assert agreement across every spreadsheet, database or statistical library.

The teaching example uses five values and four intervals to keep the difference visible. It is not a recommendation to estimate high-tail operational percentiles from a tiny collection. Nor is it a forecast of a future distribution. A real reporting method should be chosen for the purpose and evidence available, with appropriate expertise where needed. The case shows that changing a named method changes some numerical cut points; it does not establish that either method is the correct policy for every business question.

Separate a percentile cut point from a count below a threshold

A percentile calculation can return a cut point between observed values. A threshold question asks how many supplied observations satisfy a comparison. Those are related ideas, but they are not interchangeable instructions. In case C, an interpolated cut point of five under one method is not an observed item. A statement about exactly how many values are less than five should be checked directly against the authored list rather than assumed from the name of the cut point.

For a real report, specify whether the comparison is below, at or below, above, or at or above the threshold. Equality matters when observations repeat. A summary saying half the values are below the median can be imprecise when many values equal the median. The next case makes that visible. An assistant can provide both the calculated statistic and explicitly counted comparisons when those counts are requested, but it should not substitute one for the other without explaining the definition.

Keep units attached to the threshold. A cut point expressed in minutes cannot be compared with values stored in seconds without a declared conversion. A percentage is different from a count even if both are written as numbers. This guide does not perform unit conversions for the fixture because all values within each list use the same authored numerical basis. In a real dataset, a unit check belongs before sorting and before any interpretation of a percentile or a threshold crossing.

Case D: repeated values change the wording of a median claim

Fictional case D contains one, one, one, nine and nine. The midpoint median is one. No supplied value is below one, three values equal one and two values are above one. Thus the sentence exactly half the observations are below the median would not describe this authored list. The calculation is not defective because the data repeats. The explanation needs to use the actual counts rather than attach an overly precise verbal rule to the label median.

Duplicates can be legitimate observations. If three different items each have a value of one, removing repeated values would discard two observations. If the duplicates arose because one item was accidentally copied three times, the data problem is different. The list alone does not establish which situation occurred in a real workflow. The teaching fixture treats all five entries as intended observations. Its checks preserve multiplicity, and a deduplicated list would answer a different question from the one specified here.

An original AI brief can ask the assistant to retain every supplied occurrence and state the counts below, equal to and above the reported median. This helps make the interpretation reviewable. It is proposed instruction wording, not evidence that a model followed it. A real task also needs a definition of record identity before deciding whether rows should be deduplicated. Numerical equality by itself does not establish that two rows refer to the same real-world event or should be collapsed.

Case E: subgroup medians do not reconstruct the pooled median

Fictional case E has two groups. Cedar contains one, two and one hundred, with a median of two. Maple contains three, four, five, six and seven, with a median of five. An equal-weight mean of the two subgroup medians is three and a half. Pooling all eight intended observations gives the ordered list one, two, three, four, five, six, seven and one hundred. Its midpoint median is four and a half, not three and a half.

The subgroup medians retain only a narrow part of the subgroup distributions. They do not preserve the positions of every observation needed to locate the middle of the pooled list. Adding subgroup counts does not restore that lost detail. In this authored case, a count-weighted mean of the subgroup medians is thirty-one eighths, or 3.875, which also differs from the pooled median of 4.5. That contrast is a calculation example rather than a universal formula for estimating a pooled percentile.

When a real report supplies only subgroup medians, ask whether the underlying authorized observations or an appropriate distribution summary are available for the intended overall calculation. Do not invent individual records consistent with the medians and then report the resulting pooled value as observed. Many different datasets can share the same subgroup medians. A draft can explain that the available summaries do not establish the requested overall median. That limitation is more accurate than a confident average of the displayed subgroup values.

Case F: preserve an unknown value instead of assigning zero

Fictional case F contains one, two, null, eight and nine in the JSON fixture. Null is explicitly marked as an unknown observation value for this exercise. The known numeric subset contains four observations and has a midpoint median of five. The median for the full five-observation collection is unresolved because the missing numerical value has not been supplied. Describing the known-subset result as the overall result would conceal the scope change.

If an assistant silently replaces the unknown value with zero, the resulting list becomes zero, one, two, eight and nine, whose median is two. That output is calculable, but it rests on an invented value. The fixture records two as the expected result of this deliberately labeled counterexample, not as a proposed imputation policy. The guide does not recommend a missing-data method, infer the source of missingness or establish that the missing value is actually zero.

A useful report can state the known count, unknown count and statistic for the known subset while leaving the overall question unresolved. If a real workflow adopts a specific missing-data rule, that rule needs to be named and justified for the actual purpose. Keeping a raw source value and a derived analysis value separate makes the choice easier to review. The previous missing/null/false/zero guide addresses representation; this page addresses how that choice changes a median calculation and its reporting scope.

Write a calculation brief with enough detail to review

A practical original brief for the teaching lists can say: Use all supplied occurrences in the named case. Preserve the declared group membership. Sort numeric values without changing the original records. Report the observation count and the named statistic. For case C, use four intervals and calculate both specified methods separately. For case F, report the known-subset result and leave the full-collection result unresolved. Do not infer a client outcome, cause, service target or destination action from these fictional values.

The output can include the case identifier, included observations, excluded or unknown observations with reasons, method name, exact result and display form. The exact result should remain separate from a rounded presentation. For example, thirty-one eighths is an exact authored weighted-summary contrast, while 3.875 is its decimal representation. A later formatting decision should not change which observations entered the calculation. The separate rounding guide covers that boundary in more detail.

Require a limitation statement that addresses the actual gap. If the method is unspecified, say so. If subgroup medians are insufficient for a pooled calculation, identify the missing distribution detail. If values are missing, name the known subset. Avoid a generic disclaimer that leaves the reader unable to tell what was actually computed. These are proposed review requirements, not a measured improvement in model accuracy or a completed implementation. A real evaluation would need observations from an actual authorized run.

Check the number and the explanation independently

A result can be numerically correct while the sentence overstates it. Case A's median of three does not establish that every item is near three. Case B's midpoint median of five does not identify an observed record. Case D's median of one does not put exactly half the values strictly below it. Case E's subgroup summaries do not reconstruct the pooled median. Read the prose against those specific boundaries rather than accepting a correct final number as proof that the entire explanation is faithful.

Also check whether an unexpected result came from changed inputs rather than a changed formula. Filtering a row, collapsing duplicates or turning null into zero can alter the list before the statistic is computed. Record the included population and count alongside the method. A screenshot of a final cell may not reveal those choices. The local fixtures keep all authored inputs visible so that the arithmetic can be reconstructed, but they do not audit a production report or establish that a real export contains every intended record.

Use limiting contrasts as questions, not as universal certificates. Reordering the same list should not change the selected location statistic. Multiplying every numeric value by the same positive factor should scale the authored median by that factor. These checks can expose mistakes in an elementary calculation, but they do not validate the reporting purpose or data collection. The guide's checks establish agreement with manually specified teaching expectations under a named local runtime, not conformance of every application or statistical method.

What the downloadable files establish

The CSV records each case, group and original value sequence using an explicit JSON-list text field. The JSON contains the same authored inputs with manual exact expectations. The checks parse the files, preserve repeated values and groups, and compare the relevant means, medians, quartiles and counts. Case F keeps null in the original list and labels the known-subset and zero-substitution calculations separately. The source does not contain an actual response-time sample, client survey or model-generated dataset.

The same checks run against the exact downloaded files after publication. This verifies the released fixture and its arithmetic consistency. It does not measure a model, certify a statistical analysis or authorize an operating decision. No executable utility is offered as a production tool. Use the examples to practice specifying and explaining a calculation, then examine the actual authorized dataset, reporting method and decision context separately before relying on a real median or percentile claim.

Frequently asked questions

Does typical always mean median?

No. Typical is a verbal description that needs a stated measure and reporting purpose. Case A has a mean of ten and a median of three. Both describe the authored list in different ways. A report should identify which one it uses and keep the observation count and units visible. Neither measure alone establishes that every item is close to the reported number or explains why a value differs from the rest of the list.

Why can two tools return different quartiles?

They may use different methods, inputs or filtering rules. Case C deliberately requests two named Python methods and has different outer cut points for the same five authored values. Compare the calculation specification before calling one result wrong. This guide does not claim that every tool uses the same defaults or that either method is the right reporting policy for every purpose. A real comparison should preserve the exact input list and identify the method in each system.

Can I average branch medians to get the overall median?

Not generally. Case E provides a concrete counterexample: subgroup medians of two and five average to 3.5, while the pooled eight-observation median is 4.5. Weighting those subgroup medians by their counts also fails to reconstruct the pooled value in this case. The underlying distribution information has been compressed. Request the authorized observations or suitable distribution evidence instead of reporting an average of subgroup medians as an observed overall median.

Must the median be an actual observation?

That depends on the convention and the number of observations. Under the midpoint convention in case B, the two middle values are two and eight, so the median is five even though five is not in the list. The lower and upper middle observations remain two and eight. If a task needs to select an actual record, it requires a separate selection rule. A calculated location statistic does not itself identify or authorize action on a representative item.

Can I omit unknown values without mentioning it?

Doing so changes the described population. Case F's four known numeric values have a median of five, but the full collection includes an unknown numerical value. The guide labels the result as a known-subset median and leaves the overall result unresolved. It does not recommend a universal missing-data treatment. If a real analysis applies a specific exclusion or imputation rule, name the rule, the affected count and the scope of the resulting statistic.

Are the checks evidence that an AI report is accurate?

They are evidence that the authored CSV and JSON agree with the manually specified calculation expectations under the stated local checks. No model was run and no production report was inspected. The files can help prepare a later authorized review, but they do not supply its observations. Keep arithmetic agreement separate from population completeness, business interpretation, professional review and permission to act on the result.

Original fictional practice data

Original fictional arithmetic inputs and manual exact expectations, not actual client records, model outputs, professional review or operating approval. No executable utility is supplied.

Six original fictional cases with exact manually specified expectations in JSON
fictional casegroupauthored values json
Aall[1,2,3,4,40]
Ball[1,2,8,9]
Call[0,10,20,30,40]
Dall[1,1,1,9,9]
ECedar[1,2,100]
EMaple[3,4,5,6,7]
Fall[1,2,null,8,9]

Primary sources and editorial scope

AI-assisted website editorial. Sources read October 27, 2026 America/New_York. Original examples checked independently. No record change, actual client dataset, observed model output, professional review, security certification or operating approval is asserted.

Related practical questions