---
title: Metric
framework: evaluations
role: symbol
role_heading: Structure
path: evaluations/metric
---

# Metric

A named metric that carries a result value.

## Declaration

```swift
struct Metric
```

## Mentioned in

Scoring with model-as-judge evaluators Evaluating language model responses Evaluating tool-calling behavior

## Overview

Overview Use Metric to define a named measurement. The factory methods (passing, failing, scoring, ignore) return a new Metric with the result stored inside. Here’s how you create a custom metric: let metric = Metric("Accuracy") let result = metric.passing(rationale: "Exact match")

## Topics

### Creating a metric

- [init(_:)](evaluations/metric/init(_:).md)

### Producing results

- [passing(rationale:)](evaluations/metric/passing(rationale:).md)
- [failing(rationale:)](evaluations/metric/failing(rationale:).md)
- [scoring(_:rationale:)](evaluations/metric/scoring(_:rationale:).md)
- [ignore(rationale:)](evaluations/metric/ignore(rationale:).md)

### Inspecting a result

- [name](evaluations/metric/name.md)
- [value](evaluations/metric/value-swift.property.md)
- [doubleValue](evaluations/metric/doublevalue.md)
- [rationale](evaluations/metric/rationale.md)
- [Metric.Value](evaluations/metric/value-swift.enum.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Metrics and evaluators

- [Designing specific, measurable criteria in an evaluation suite](evaluations/designing-evaluation-criteria.md)
- [Evaluator](evaluations/evaluator.md)
- [MetricsAggregator](evaluations/metricsaggregator.md)
