[[painless-metric-agg-reduce-context]] === Metric aggregation reduce context Use a Painless script to {ref}/search-aggregations-metrics-scripted-metric-aggregation.html[reduce] values to produce the result of a scripted metric aggregation. A reduce script is run once on the coordinating node following a <> (or a <> if no combine script is specified) and is optional as part of a full metric aggregation. *Variables* `params` (`Map`, read-only):: User-defined parameters passed in as part of the query. `states` (`Map`):: `Map` with values available from the prior combine script (or a map script if no combine script is specified). *Return* `List`, `Map`, `String`, or primitive:: A value used as the result. *API* The standard <> is available.