Przejdź do głównej zawartości

Pass 600: ML scoring

PoleWartość
nameml-scoring
order600
confidence70–95% (dynamiczny)

Pass działa na parach, które nie zostały dopasowane przez wcześniejsze passy (100–500). Zamiast sztywnych reguł, wykorzystuje model scoringowy trenowany na historycznych dopasowaniach użytkownika.

Model analizuje następujące cechy każdej pary faktura–transakcja:

  1. Różnica kwot — znormalizowana odległość między kwotą faktury a kwotą transakcji
  2. Podobieństwo nazw — fuzzy score nazwy kontrahenta (fuzzball)
  3. Odległość dat — dni między datą wystawienia faktury a datą transakcji
  4. Częstość kontrahenta — jak często ten kontrahent pojawia się w historii
  5. Wzorzec kwot — czy kontrahent płaci zazwyczaj zbliżone kwoty
interface MLScoringResult {
invoiceId: string
transactionId: string
score: number // 0.0 – 1.0
confidence: number // procent pewności
features: Record<string, number>
}

Model zwraca score w zakresie 0–1. Pary z score powyżej progu (threshold, domyślnie 0.7) trafiają do dopasowań.

const ksefnik = createKsefnik({
plugins: ['@ksefnik/pro'],
reconciliation: {
passes: {
'ml-scoring': {
threshold: 0.75, // minimalny score (domyślnie: 0.7)
minSamples: 50, // min. historycznych dopasowań do treningu
features: ['amount', 'name', 'date', 'frequency', 'pattern'],
}
}
}
})
  • Masz powtarzalnych kontrahentów z niestandardowymi opisami przelewów
  • Standardowe passy fuzzy/partial nie wyłapują dopasowań specyficznych dla twojej firmy
  • Chcesz, żeby system uczył się z twoich ręcznych dopasowań