1097 lines
38 KiB
JSON
1097 lines
38 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "c2w3wcw04fjyio9un4f",
|
|
"position": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"data": {
|
|
"label": "Request",
|
|
"request_schema": {
|
|
"properties": {
|
|
"user_age": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Age of the user at the contract date, based on birthdate and contract date",
|
|
"required": []
|
|
},
|
|
"persona_entity_confidence_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Based on confidence reasons assign a score between 0 and 100",
|
|
"required": []
|
|
},
|
|
"persona_selfie_similarity_score_right": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Similarity score from the right side selfie",
|
|
"required": []
|
|
},
|
|
"persona_selfie_similarity_score_left": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Similarity score from the left side selfie",
|
|
"required": []
|
|
},
|
|
"persona_hesitation_percentage": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Percentage of time in the flow where the customer did not enter inputs",
|
|
"required": []
|
|
},
|
|
"persona_hesitation_count": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Persona hesitation count",
|
|
"required": []
|
|
},
|
|
"device_id_age_max": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "This calculates the maximum device age for a user and loan, similar to min and avg logic but for the max value.",
|
|
"required": []
|
|
},
|
|
"selfie_consistency_score_avg": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Average selfie consistency score for the user's persona activity",
|
|
"required": []
|
|
},
|
|
"device_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of distinct devices associated with a user and loan",
|
|
"required": []
|
|
},
|
|
"selfie_consistency_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Average similarity score between left and right selfie",
|
|
"required": []
|
|
},
|
|
"global_fs_ls": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first and last global appearance of the device",
|
|
"required": []
|
|
},
|
|
"inquiry_frequency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of inquiries made by the user regarding the loan",
|
|
"required": []
|
|
},
|
|
"confidence_score_min": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "The minimum recorded confidence score for the user and loan during the timeframe.",
|
|
"required": []
|
|
},
|
|
"contract_date_fs_sub": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first subscription appearance and contract date",
|
|
"required": []
|
|
},
|
|
"browser_os": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Browser OS",
|
|
"required": []
|
|
},
|
|
"user_city_ip_match": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Checks if the user's city matches the IP city",
|
|
"required": []
|
|
},
|
|
"device_id_age_avg": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "This calculates the rolling average of device_id_age for a user and loan. If no previous rows, the current value is returned.",
|
|
"required": []
|
|
},
|
|
"persona_distraction_events": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Persona distraction events",
|
|
"required": []
|
|
},
|
|
"sub_fs_ls": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first and last subscription activity",
|
|
"required": []
|
|
},
|
|
"device_id_age_min": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "This calculates the minimum device age for a user and loan, falling back to the current device age if no prior values exist.",
|
|
"required": []
|
|
},
|
|
"confidence_score_max": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "The maximum confidence score recorded for the user and loan combination.",
|
|
"required": []
|
|
},
|
|
"persona_phone_risk_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Risk associated with the phone number. The risk score ranges from 0 to 100. The higher the risk score, the higher the risk level.",
|
|
"required": []
|
|
},
|
|
"ip_address_risk_level": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Checks if the IP country code matches the persona country code",
|
|
"required": []
|
|
},
|
|
"login_frequency": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "This counts the number of times the user logs in based on the inquiry_updated_at timestamp, providing insights into the user's login behavior throughout the loan process.",
|
|
"required": []
|
|
},
|
|
"suspect_score": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Suspect score",
|
|
"required": []
|
|
},
|
|
"confidence_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Confidence score",
|
|
"required": []
|
|
},
|
|
"name_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Checks if the first name in the persona matches the user-provided first name",
|
|
"required": []
|
|
},
|
|
"ip_location_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of distinct IP locations for a user and loan",
|
|
"required": []
|
|
}
|
|
},
|
|
"required": []
|
|
}
|
|
},
|
|
"type": "requestNode",
|
|
"positionAbsolute": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"width": 260,
|
|
"height": 36
|
|
},
|
|
{
|
|
"id": "c2xjc7k07ahdxoi7ad7",
|
|
"position": {
|
|
"x": 0,
|
|
"y": 150
|
|
},
|
|
"data": {
|
|
"label": "+",
|
|
"nodeConfig": {
|
|
"activityConfig": {
|
|
"retryPolicy": {
|
|
"maximumAttempts": 1,
|
|
"initialInterval": 1000,
|
|
"backoffCoefficient": 2,
|
|
"maximumInterval": 100000
|
|
},
|
|
"timeouts": {
|
|
"startToCloseTimeout": 10000,
|
|
"scheduleToStartTimeout": 10000,
|
|
"scheduleToCloseTimeout": 10000,
|
|
"heartbeatTimeout": 86
|
|
},
|
|
"taskQueue": {
|
|
"taskQueueName": ""
|
|
},
|
|
"advancedSettings": {
|
|
"cancellationType": "TRY_CANCEL",
|
|
"heartbeatEnabled": false
|
|
}
|
|
},
|
|
"blockName": "etd-v1-pre-processing",
|
|
"commitId": "d20e15fd4da59f3c99dfedae530bee866d90ce93",
|
|
"repo_url": "http://centurion-version-control.default.svc.cluster.local:3000/Centurion/blocks-transformer.git",
|
|
"schema": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"user_age": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Age of the user at the contract date, based on birthdate and contract date",
|
|
"source": "$root.user_age"
|
|
},
|
|
"persona_entity_confidence_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Based on confidence reasons assign a score between 0 and 100",
|
|
"source": "$root.persona_entity_confidence_score"
|
|
},
|
|
"persona_selfie_similarity_score_right": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Similarity score from the right side selfie",
|
|
"source": "$root.persona_selfie_similarity_score_right"
|
|
},
|
|
"persona_selfie_similarity_score_left": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Similarity score from the left side selfie",
|
|
"source": "$root.persona_selfie_similarity_score_left"
|
|
},
|
|
"persona_hesitation_percentage": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Percentage of time in the flow where the customer did not enter inputs",
|
|
"source": "$root.persona_hesitation_percentage"
|
|
},
|
|
"persona_hesitation_count": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Persona hesitation count",
|
|
"source": "$root.persona_hesitation_count"
|
|
},
|
|
"device_id_age_max": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "This calculates the maximum device age for a user and loan, similar to min and avg logic but for the max value.",
|
|
"source": "$root.device_id_age_max"
|
|
},
|
|
"selfie_consistency_score_avg": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Average selfie consistency score for the user's persona activity",
|
|
"source": "$root.selfie_consistency_score_avg"
|
|
},
|
|
"device_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of distinct devices associated with a user and loan",
|
|
"source": "$root.device_consistency"
|
|
},
|
|
"selfie_consistency_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Average similarity score between left and right selfie",
|
|
"source": "$root.selfie_consistency_score"
|
|
},
|
|
"global_fs_ls": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first and last global appearance of the device",
|
|
"source": "$root.global_fs_ls"
|
|
},
|
|
"inquiry_frequency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of inquiries made by the user regarding the loan",
|
|
"source": "$root.inquiry_frequency"
|
|
},
|
|
"confidence_score_min": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "The minimum recorded confidence score for the user and loan during the timeframe.",
|
|
"source": "$root.confidence_score_min"
|
|
},
|
|
"contract_date_fs_sub": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first subscription appearance and contract date",
|
|
"source": "$root.contract_date_fs_sub"
|
|
},
|
|
"browser_os": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Browser OS",
|
|
"source": "$root.browser_os"
|
|
},
|
|
"user_city_ip_match": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Checks if the user's city matches the IP city",
|
|
"source": "$root.user_city_ip_match"
|
|
},
|
|
"device_id_age_avg": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "This calculates the rolling average of device_id_age for a user and loan. If no previous rows, the current value is returned.",
|
|
"source": "$root.device_id_age_avg"
|
|
},
|
|
"persona_distraction_events": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Persona distraction events",
|
|
"source": "$root.persona_distraction_events"
|
|
},
|
|
"sub_fs_ls": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first and last subscription activity",
|
|
"source": "$root.sub_fs_ls"
|
|
},
|
|
"device_id_age_min": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "This calculates the minimum device age for a user and loan, falling back to the current device age if no prior values exist.",
|
|
"source": "$root.device_id_age_min"
|
|
},
|
|
"confidence_score_max": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "The maximum confidence score recorded for the user and loan combination.",
|
|
"source": "$root.confidence_score_max"
|
|
},
|
|
"persona_phone_risk_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Risk associated with the phone number. The risk score ranges from 0 to 100. The higher the risk score, the higher the risk level.",
|
|
"source": "$root.persona_phone_risk_score"
|
|
},
|
|
"ip_address_risk_level": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Checks if the IP country code matches the persona country code",
|
|
"source": "$root.ip_address_risk_level"
|
|
},
|
|
"login_frequency": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "This counts the number of times the user logs in based on the inquiry_updated_at timestamp, providing insights into the user's login behavior throughout the loan process.",
|
|
"source": "$root.login_frequency"
|
|
},
|
|
"suspect_score": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Suspect score",
|
|
"source": "$root.suspect_score"
|
|
},
|
|
"confidence_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Confidence score",
|
|
"source": "$root.confidence_score"
|
|
},
|
|
"name_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Checks if the first name in the persona matches the user-provided first name",
|
|
"source": "$root.name_consistency"
|
|
},
|
|
"ip_location_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of distinct IP locations for a user and loan",
|
|
"source": "$root.ip_location_consistency"
|
|
}
|
|
},
|
|
"required": []
|
|
}
|
|
},
|
|
"outputSchema": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"user_age": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Age of the user at the contract date, based on birthdate and contract date"
|
|
},
|
|
"persona_entity_confidence_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Based on confidence reasons assign a score between 0 and 100"
|
|
},
|
|
"persona_selfie_similarity_score_right": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Similarity score from the right side selfie"
|
|
},
|
|
"persona_selfie_similarity_score_left": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Similarity score from the left side selfie"
|
|
},
|
|
"persona_hesitation_percentage": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Percentage of time in the flow where the customer did not enter inputs"
|
|
},
|
|
"persona_hesitation_count": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Persona hesitation count"
|
|
},
|
|
"device_id_age_max": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "This calculates the maximum device age for a user and loan, similar to min and avg logic but for the max value."
|
|
},
|
|
"selfie_consistency_score_avg": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Average selfie consistency score for the user's persona activity"
|
|
},
|
|
"device_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of distinct devices associated with a user and loan"
|
|
},
|
|
"selfie_consistency_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Average similarity score between left and right selfie"
|
|
},
|
|
"global_fs_ls": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first and last global appearance of the device"
|
|
},
|
|
"inquiry_frequency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of inquiries made by the user regarding the loan"
|
|
},
|
|
"confidence_score_min": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "The minimum recorded confidence score for the user and loan during the timeframe."
|
|
},
|
|
"contract_date_fs_sub": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first subscription appearance and contract date"
|
|
},
|
|
"browser_os": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Browser OS"
|
|
},
|
|
"user_city_ip_match": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Checks if the user's city matches the IP city"
|
|
},
|
|
"device_id_age_avg": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "This calculates the rolling average of device_id_age for a user and loan. If no previous rows, the current value is returned."
|
|
},
|
|
"persona_distraction_events": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Persona distraction events"
|
|
},
|
|
"sub_fs_ls": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first and last subscription activity"
|
|
},
|
|
"device_id_age_min": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "This calculates the minimum device age for a user and loan, falling back to the current device age if no prior values exist."
|
|
},
|
|
"confidence_score_max": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "The maximum confidence score recorded for the user and loan combination."
|
|
},
|
|
"persona_phone_risk_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Risk associated with the phone number. The risk score ranges from 0 to 100. The higher the risk score, the higher the risk level."
|
|
},
|
|
"ip_address_risk_level": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Checks if the IP country code matches the persona country code"
|
|
},
|
|
"login_frequency": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "This counts the number of times the user logs in based on the inquiry_updated_at timestamp, providing insights into the user's login behavior throughout the loan process."
|
|
},
|
|
"suspect_score": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Suspect score"
|
|
},
|
|
"confidence_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Confidence score"
|
|
},
|
|
"name_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Checks if the first name in the persona matches the user-provided first name"
|
|
},
|
|
"ip_location_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of distinct IP locations for a user and loan"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"type": "transformerNode",
|
|
"positionAbsolute": {
|
|
"x": 0,
|
|
"y": 150
|
|
},
|
|
"width": 260,
|
|
"height": 79
|
|
},
|
|
{
|
|
"id": "m57iui512x934nhf22o",
|
|
"position": {
|
|
"x": 0,
|
|
"y": 300
|
|
},
|
|
"data": {
|
|
"label": "+",
|
|
"nodeConfig": {
|
|
"activityConfig": {
|
|
"retryPolicy": {
|
|
"maximumAttempts": 1,
|
|
"initialInterval": 1000,
|
|
"backoffCoefficient": 2,
|
|
"maximumInterval": 100000
|
|
},
|
|
"timeouts": {
|
|
"startToCloseTimeout": 10000,
|
|
"scheduleToStartTimeout": 10000,
|
|
"scheduleToCloseTimeout": 10000,
|
|
"heartbeatTimeout": 86
|
|
},
|
|
"taskQueue": {
|
|
"taskQueueName": ""
|
|
},
|
|
"advancedSettings": {
|
|
"cancellationType": "TRY_CANCEL",
|
|
"heartbeatEnabled": false
|
|
}
|
|
},
|
|
"blockName": "etd-v1-processing",
|
|
"commitId": "8c887e765b31fd7773e5761fd0862b6d2a62db0f",
|
|
"repo_url": "http://centurion-version-control.default.svc.cluster.local:3000/Centurion/blocks-transformer.git",
|
|
"schema": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"user_age": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Age of the user at the contract date, based on birthdate and contract date",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.user_age"
|
|
},
|
|
"persona_entity_confidence_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Based on confidence reasons assign a score between 0 and 100",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.persona_entity_confidence_score"
|
|
},
|
|
"persona_selfie_similarity_score_right": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Similarity score from the right side selfie",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.persona_selfie_similarity_score_right"
|
|
},
|
|
"persona_selfie_similarity_score_left": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Similarity score from the left side selfie",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.persona_selfie_similarity_score_left"
|
|
},
|
|
"persona_hesitation_percentage": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Percentage of time in the flow where the customer did not enter inputs",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.persona_hesitation_percentage"
|
|
},
|
|
"persona_hesitation_count": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Persona hesitation count",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.persona_hesitation_count"
|
|
},
|
|
"device_id_age_max": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "This calculates the maximum device age for a user and loan, similar to min and avg logic but for the max value.",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.device_id_age_max"
|
|
},
|
|
"selfie_consistency_score_avg": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Average selfie consistency score for the user's persona activity",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.selfie_consistency_score_avg"
|
|
},
|
|
"device_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of distinct devices associated with a user and loan",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.device_consistency"
|
|
},
|
|
"selfie_consistency_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Average similarity score between left and right selfie",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.selfie_consistency_score"
|
|
},
|
|
"global_fs_ls": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first and last global appearance of the device",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.global_fs_ls"
|
|
},
|
|
"inquiry_frequency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of inquiries made by the user regarding the loan",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.inquiry_frequency"
|
|
},
|
|
"confidence_score_min": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "The minimum recorded confidence score for the user and loan during the timeframe.",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.confidence_score_min"
|
|
},
|
|
"contract_date_fs_sub": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first subscription appearance and contract date",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.contract_date_fs_sub"
|
|
},
|
|
"browser_os": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Browser OS",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.browser_os"
|
|
},
|
|
"user_city_ip_match": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Checks if the user's city matches the IP city",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.user_city_ip_match"
|
|
},
|
|
"device_id_age_avg": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "This calculates the rolling average of device_id_age for a user and loan. If no previous rows, the current value is returned.",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.device_id_age_avg"
|
|
},
|
|
"persona_distraction_events": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Persona distraction events",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.persona_distraction_events"
|
|
},
|
|
"sub_fs_ls": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Days between the first and last subscription activity",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.sub_fs_ls"
|
|
},
|
|
"device_id_age_min": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "This calculates the minimum device age for a user and loan, falling back to the current device age if no prior values exist.",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.device_id_age_min"
|
|
},
|
|
"confidence_score_max": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "The maximum confidence score recorded for the user and loan combination.",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.confidence_score_max"
|
|
},
|
|
"persona_phone_risk_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Risk associated with the phone number. The risk score ranges from 0 to 100. The higher the risk score, the higher the risk level.",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.persona_phone_risk_score"
|
|
},
|
|
"ip_address_risk_level": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Checks if the IP country code matches the persona country code",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.ip_address_risk_level"
|
|
},
|
|
"login_frequency": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "This counts the number of times the user logs in based on the inquiry_updated_at timestamp, providing insights into the user's login behavior throughout the loan process.",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.login_frequency"
|
|
},
|
|
"suspect_score": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Suspect score",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.suspect_score"
|
|
},
|
|
"confidence_score": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"description": "Confidence score",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.confidence_score"
|
|
},
|
|
"name_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Checks if the first name in the persona matches the user-provided first name",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.name_consistency"
|
|
},
|
|
"ip_location_consistency": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of distinct IP locations for a user and loan",
|
|
"source": "$c2xjc7k07ahdxoi7ad7.ip_location_consistency"
|
|
}
|
|
},
|
|
"required": []
|
|
}
|
|
},
|
|
"outputSchema": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"probability": {
|
|
"type": "number",
|
|
"description": "Fraud Model predicted score."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"type": "transformerNode",
|
|
"positionAbsolute": {
|
|
"x": 0,
|
|
"y": 300
|
|
},
|
|
"width": 260,
|
|
"height": 79
|
|
},
|
|
{
|
|
"id": "m57iv5lvqmrbug8f4aa",
|
|
"position": {
|
|
"x": 0,
|
|
"y": 450
|
|
},
|
|
"data": {
|
|
"label": "+",
|
|
"nodeConfig": {
|
|
"activityConfig": {
|
|
"retryPolicy": {
|
|
"maximumAttempts": 1,
|
|
"initialInterval": 1000,
|
|
"backoffCoefficient": 2,
|
|
"maximumInterval": 100000
|
|
},
|
|
"timeouts": {
|
|
"startToCloseTimeout": 10000,
|
|
"scheduleToStartTimeout": 10000,
|
|
"scheduleToCloseTimeout": 10000,
|
|
"heartbeatTimeout": 86
|
|
},
|
|
"taskQueue": {
|
|
"taskQueueName": ""
|
|
},
|
|
"advancedSettings": {
|
|
"cancellationType": "TRY_CANCEL",
|
|
"heartbeatEnabled": false
|
|
}
|
|
},
|
|
"blockName": "etd-post-processing-block",
|
|
"commitId": "a58428db77176ab3a08735fe3ce45fa5fa156911",
|
|
"repo_url": "http://centurion-version-control.default.svc.cluster.local:3000/Centurion/blocks-transformer.git",
|
|
"schema": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"probability": {
|
|
"type": "number",
|
|
"description": "Fraud Model predicted score.",
|
|
"source": "$m57iui512x934nhf22o.probability"
|
|
}
|
|
},
|
|
"required": []
|
|
}
|
|
},
|
|
"outputSchema": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "PD v2 grade."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"type": "transformerNode",
|
|
"positionAbsolute": {
|
|
"x": 0,
|
|
"y": 450
|
|
},
|
|
"width": 260,
|
|
"height": 79,
|
|
"selected": false,
|
|
"dragging": false
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "c2w3wcw04fjyio9un4f=>c2xjc7k07ahdxoi7ad7",
|
|
"source": "c2w3wcw04fjyio9un4f",
|
|
"target": "c2xjc7k07ahdxoi7ad7",
|
|
"type": "workflow"
|
|
},
|
|
{
|
|
"id": "c2xjc7k07ahdxoi7ad7=>m57iui512x934nhf22o",
|
|
"source": "c2xjc7k07ahdxoi7ad7",
|
|
"target": "m57iui512x934nhf22o",
|
|
"type": "workflow"
|
|
},
|
|
{
|
|
"id": "m57iui512x934nhf22o=>m57iv5lvqmrbug8f4aa",
|
|
"source": "m57iui512x934nhf22o",
|
|
"target": "m57iv5lvqmrbug8f4aa",
|
|
"type": "workflow"
|
|
}
|
|
]
|
|
} |