---
title: "Announcing the logic-v1 scoring mechanism"
summary: "OpenSanctions is constantly improving our services, and we’ve just released a new version of our API software, `yente`, that lets users try a new matching system."
url: "https://www.opensanctions.org/articles/2023-09-18-scoring-rules/"
date_created: "2023-09-18T00:00:00.000Z"
date_updated: "2024-03-29T14:40:47.628Z"
tags: ["Matching","API","Scoring"]
image: "https://www.opensanctions.org/assets/9a938f04-2757-4e70-b132-df5a7306ef04/"
---

We expect this new opt-in function to help improve match accuracy. The new function is opt-in, and we’d like to invite you to see if it works better for you. The new rule-based scoring mechanism is called [`logic-v1`](/matcher/#logic-v1), and it has been significantly enhanced to provide more accurate matching.

As our matching system evolves, we’re becoming more and more focused on rule-based and explainable mechanisms that consider a broad range of inputs to generate strong evidence about the risk associated with a screened entity. 

<img class="img-fluid" src="https://assets.opensanctions.org/images/articles/butterflies.png">
<p class="img-caption">
    Today in technology blog post visual metaphors: are these butterflies the same?
</p>

To keep it simple: With our API, if you pass `?algorithm=best`, you will always get the most precise scoring that the current version of `yente` can support, but the specific score numbers will change as we update the software. Not specifying the `?algorithm=` parameter will use the first model we implemented, `regression-v1`, for compatibility reasons.

Try this out against our SaaS API, or on-premise by updating `yente` to the latest version and using syntax like this:

```
POST /match/sanctions?algorithm=logic-v1
```

The [`logic-v1`](/matcher/#logic-v1) algorithm differs from our existing algorithms in the following ways:

* `logic-v1` changes how we compare names with many different parts, and is much more conservative in what constitutes a match. This is particularly true of name comparisons where both names have a very different length.
* We're switching to [metaphone](https://pypi.org/project/Metaphone/) as an algorithm for phonetic comparison in `logic-v1`. It provides more precise matching for non-English names.
* `logic-v1` supports identifier-only matching for vessels (IMO), securities (ISIN), some company identifiers (OGRN and INN) and crypto wallets (public wallet address).
* Providing a separate `lastName` for persons can now also be used to reduce false positives.

You can try out the system using out [advanced search](https://test.opensanctions.org/advancedsearch/) web 

We’re looking forward to your feedback, preferably in the [#technical Slack channel](/slack/) or via support@opensanctions.org. We’re eager to hear about your results.
