> ## Documentation Index
> Fetch the complete documentation index at: https://getfaceage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Compare

> Compare two scans, metric by metric, to show shoppers their progress.

When a shopper has more than one scan in their [history](https://getfaceage.com/docs/developer-guides/analysis/history.md), opening an analysis shows a **Compare** tab. They can compare it with any older scan and see how each metric changed.

![Compare tab with the metric-by-metric difference between two scans](https://mintcdn.com/getfaceage-com/wLP35CGqBY74yiOL/images/developer-guides/sdk-compare.jpg?fit=max\&auto=format\&n=wLP35CGqBY74yiOL\&q=85\&s=dbb9eb2c91be855a45840ab7982a227a)

## Turn it on

Compare needs history, and at least two scans:

```js theme={null}
const faceAge = new FaceAge({
  elementId: 'FaceAge-module',
  faceageId: '<Your Client ID>',
  history: true,
});
```

If you store history in your backend, pass each earlier scan with [`setHistoryData`](https://getfaceage.com/docs/developer-guides/analysis/history#store-history-in-your-backend).

## How scans are compared

* Shared metrics are normalized before comparison.
* Changes inside a 3-point noise band are treated as stable, so small differences between photos don't show as progress or decline.
* The optional `meta.quality` values in a history item — lighting, brightness, sharpness, blur, noise and confidence — widen that band, or mark very low-confidence comparisons as insufficient data.

> [!TIP]
>
> Send `meta.quality` with backend history when you have it. It keeps comparisons honest when two photos were taken in very different conditions.

## Next

> [card] [Quiz](https://getfaceage.com/docs/developer-guides/personalization/quiz.md)
>
> Ask shoppers questions alongside the scan.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.