Enregistrer vos groupes

Cette page vous guide tout au long des étapes suivantes pour enregistrer et désenregistrer des parties afin de créer des résultats de prédiction :

  1. Assurez-vous d'être prêt à enregistrer des parties
  2. Préparer les tables d'enregistrement des partis
  3. Utilisez la méthode projects.locations.instances.importRegisteredParties pour enregistrer ou désenregistrer des parties.
  4. Valider la réponse de la méthode
  5. (Facultatif) Exporter un tableau des parties enregistrées

Avant de commencer

Avant de commencer, vous avez besoin d'une instance AML AI.

Pour permettre à un modèle de créer des prédictions de score de risque, vous devez d'abord enregistrer les parties. Nous vous recommandons d'enregistrer des parties lorsque vous disposez déjà des éléments suivants :

Quand enregistrer des parties

Avant de pouvoir créer des prédictions pour une partie dans l'un de vos ensembles de données, vous devez enregistrer la partie. L'inscription n'est pas obligatoire pour l'entraînement, l'ajustement ou le backtesting.

Les résultats de prédiction sont utilisés pour enquêter sur les clients soupçonnés de blanchiment d'argent, en phase de production ou de test (parallèle). Vous pouvez également créer vos propres processus d'analyse de la gouvernance et des modèles autour des résultats que vous obtenez à partir des prédictions.

L'enregistrement de parties entraîne des coûts mensuels supplémentaires par partie enregistrée (pour en savoir plus, consultez la page des tarifs).

Préparer les tableaux d'enregistrement des partis

Consultez la page Tarifs pour en savoir plus sur l'enregistrement des parties.

Préparez un tableau pour le secteur d'activité pour lequel vous souhaitez enregistrer des parties. Si vous avez déjà enregistré des parties, ce tableau d'enregistrement des parties peut contenir un sous-ensemble des parties du tableau Party que vous souhaitez utiliser pour les résultats de prédiction.

Schéma des parties Retail

ColonneTypeDescription
party_idSTRINGIdentifiant unique de la partie dans les ensembles de données de l'instance
party_sizeSTRINGNULL ; le contenu est ignoré pour les enregistrements de parties Retail

Schéma des parties commerciales

ColonneTypeDescription
party_idSTRINGIdentifiant unique de la partie dans les ensembles de données de l'instance
party_sizeSTRING Taille du groupe souhaitée. Le niveau est basé sur le nombre moyen de transactions mensuelles pour la partie au cours des 365 jours précédents :
  • SMALL pour les petites entreprises commerciales dont la moyenne mensuelle des transactions est inférieure à 500
  • LARGE pour les grandes entreprises commerciales avec une moyenne mensuelle de transactions supérieure ou égale à 500

Toutes les valeurs sont sensibles à la casse.

Enregistrer des partis

Les parties sont enregistrées séparément pour chaque instance d'IA AML. Veuillez noter les points suivants :

  • Les parties commerciales et les marchands doivent s'inscrire séparément. Utilisez des appels d'API et des tables d'enregistrement des parties distincts. Si une partie figure dans les deux listes, elle est considérée comme une inscription distincte.
  • Pour les prédictions, toutes les parties doivent être enregistrées auprès du secteur d'activité associé à la version du moteur utilisée. Vous ne pouvez pas créer de résultats de prédiction si un ensemble de données utilisé contient une partie non enregistrée dans le même secteur d'activité.
  • Le tableau d'enregistrement des parties fourni est utilisé pour ajouter des parties à la liste existante des parties enregistrées dans l'instance ou pour remplacer toutes les parties enregistrées pour le secteur d'activité fourni dans l'instance.
  • Une fois enregistrée, une partie ne peut pas être désenregistrée pendant un certain temps (voir la page des tarifs). Pour cette raison, vous pouvez définir le champ validateOnly sur TRUE. Ce champ vous permet de voir l'effet net et la réponse de la méthode sans modifier les parties enregistrées. Une fois la validation effectuée, vous pouvez réexécuter l'opération et définir le paramètre validateOnly sur FALSE.
  • Vérifiez toujours la réponse d'une demande d'enregistrement pour vous assurer que toutes les parties ont bien été enregistrées, même si une requête validateOnly précédente a réussi.
  • Pour les enregistrements de parties commerciales, une valeur autre que SMALL ou LARGE dans le champ party_size du tableau d'enregistrement des parties déclenche une erreur (Invalid party_size present in table). Les parties enregistrées ne sont pas mises à jour.
  • Pour les enregistrements de parties Retail, le champ party_size est ignoré et toutes les parties du tableau d'enregistrement des parties fourni sont enregistrées.

Pour importer des parties enregistrées, utilisez la méthode projects.locations.instances.importRegisteredParties.

(Les informations suivantes sont également disponibles dans Créer et gérer des instances.)

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION : emplacement de l'instance. Utilisez l'une des régions disponibles.
    Afficher les emplacements
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • INSTANCE_ID : identifiant défini par l'utilisateur pour l'instance
  • BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME : ensemble de données BigQuery contenant une table qui décrit les parties enregistrées
  • PARTY_REGISTRATION_TABLE : tableau listant les parties enregistrées
  • UPDATE_MODE : utilisez REPLACE pour remplacer les parties amovibles dans le tableau des parties enregistrées par de nouvelles parties, ou utilisez APPEND pour ajouter de nouvelles parties au tableau des parties enregistrées.
  • LINE_OF_BUSINESS : ce champ doit correspondre à la valeur lineOfBusiness dans la version du moteur utilisée par la configuration du moteur. Utilisez COMMERCIAL pour les clients de la banque commerciale (entités juridiques et physiques) ou RETAIL pour les clients de la banque de détail.

Corps JSON de la requête :

{
  "partyTables": [
     "bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.PARTY_REGISTRATION_TABLE"
  ],
  "mode": "UPDATE_MODE",
  "lineOfBusiness": "LINE_OF_BUSINESS"
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "partyTables": [
     "bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.PARTY_REGISTRATION_TABLE"
  ],
  "mode": "UPDATE_MODE",
  "lineOfBusiness": "LINE_OF_BUSINESS"
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:importRegisteredParties"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "partyTables": [
     "bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.PARTY_REGISTRATION_TABLE"
  ],
  "mode": "UPDATE_MODE",
  "lineOfBusiness": "LINE_OF_BUSINESS"
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:importRegisteredParties" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": "2023-03-14T15:52:55.358979323Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "importRegisteredParties",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Pour savoir comment obtenir le résultat d'une opération de longue durée, consultez Gérer les opérations de longue durée.

Réponse à l'inscription

Une fois l'opération de longue durée terminée, la réponse indique le nombre de parties ajoutées, supprimées ou modifiées par l'opération.

Champ de réponseTypeDescription
partiesAddedinteger Nombre de parties ajoutées par cette opération
partiesRemovedinteger Nombre de parties supprimées par cette opération
partiesTotalinteger Nombre total de parties enregistrées dans cette instance une fois l'opération de mise à jour terminée
partiesUptieredinteger Nombre total de parties commerciales qui sont passées d'une petite à une grande entreprise
partiesDowntieredinteger Nombre total de parties commerciales rétrogradées de grande à petite
partiesFailedToDowntierinteger Nombre total de parties commerciales qui n'ont pas pu passer de la catégorie "Grande" à la catégorie "Petite"
partiesFailedToRemoveinteger Nombre de parties qui n'ont pas pu être supprimées par cette opération

Désenregistrer des parties

Les parties sont désinscrites par instance d'IA AML à l'aide de la même méthode projects.locations.instances.importRegisteredParties et en remplaçant la liste existante des parties. Définissez le champ mode sur REPLACE. Ce paramètre désenregistre toutes les parties enregistrées (pour le secteur d'activité fourni) qui ne font pas partie du tableau d'enregistrement des parties fourni.

Réponses de désinscription

Une fois l'opération terminée, vérifiez la réponse de l'API pour vous assurer qu'elle a produit le résultat escompté en termes de nombre de parties ajoutées ou supprimées, et de nombre total de parties enregistrées.

La réponse de l'API renvoie également le nombre de parties qui n'ont pas pu être supprimées en raison de contraintes (par exemple, un client ne peut pas être désinscrit tant qu'un nombre minimal de jours ne s'est pas écoulé).

Exporter les parties enregistrées

Pour exporter les parties enregistrées, utilisez la méthode projects.locations.instances.exportRegisteredParties.

(Les informations suivantes sont également disponibles dans Créer et gérer des instances.)

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION : emplacement de l'instance. Utilisez l'une des régions disponibles.
    Afficher les emplacements
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • INSTANCE_ID : identifiant défini par l'utilisateur pour l'instance
  • BQ_OUTPUT_DATASET_NAME : ensemble de données BigQuery dans lequel exporter une table décrivant les parties enregistrées
  • PARTY_REGISTRATION_TABLE : table dans laquelle écrire les parties enregistrées
  • WRITE_DISPOSITION : action qui se produit si la table de destination existe déjà ; utilisez l'une des valeurs suivantes :
    • WRITE_EMPTY : n'exporter les données que si la table BigQuery est vide
    • WRITE_TRUNCATE : effacer toutes les données existantes de la table BigQuery avant d'y écrire des données.
  • LINE_OF_BUSINESS : utilisez COMMERCIAL pour les clients de la banque commerciale (entités juridiques et physiques) ou RETAIL pour les clients de la banque de détail.

Corps JSON de la requête :

{
  "dataset": {
    "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.PARTY_REGISTRATION_TABLE",
    "writeDisposition": "WRITE_DISPOSITION"
  },
  "lineOfBusiness": "LINE_OF_BUSINESS"
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "dataset": {
    "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.PARTY_REGISTRATION_TABLE",
    "writeDisposition": "WRITE_DISPOSITION"
  },
  "lineOfBusiness": "LINE_OF_BUSINESS"
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:exportRegisteredParties"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "dataset": {
    "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.PARTY_REGISTRATION_TABLE",
    "writeDisposition": "WRITE_DISPOSITION"
  },
  "lineOfBusiness": "LINE_OF_BUSINESS"
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:exportRegisteredParties" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": "2023-03-14T15:52:55.358979323Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "exportRegisteredParties",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Pour savoir comment obtenir le résultat d'une opération de longue durée, consultez Gérer les opérations de longue durée.

Cette méthode génère une table BigQuery avec le schéma suivant :

ColonneTypeDescription
party_idSTRINGIdentifiant unique de la partie dans les ensembles de données de l'instance
party_sizeSTRING Spécifie le niveau pour les clients commerciaux (grandes ou petites entreprises). Ce champ ne s'applique pas aux clients commerciaux.
  • NULL pour tous les clients du secteur du commerce
  • SMALL pour les petites entreprises commerciales dont la moyenne mensuelle des transactions est inférieure à 500
  • LARGE pour les grandes entreprises commerciales avec une moyenne mensuelle de transactions supérieure ou égale à 500

Toutes les valeurs sont sensibles à la casse.

earliest_remove_timeSTRINGHeure la plus ancienne à laquelle la partie peut être supprimée
party_with_prediction_intentSTRINGIndicateur indiquant si une partie a été prédite depuis l'inscription
registration_or_uptier_timeSTRINGHeure à laquelle la partie a été enregistrée ou mise à niveau