flows/flows.json

1098 lines
38 KiB
JSON
Raw Permalink Normal View History

2025-02-05 17:51:22 +00:00
{
2025-02-05 18:38:53 -05:00
"nodes": [
{
"id": "c2w3wcw04fjyio9un4f",
"position": {
"x": 0,
"y": 0
},
"data": {
"label": "Request",
"request_schema": {
2025-02-25 14:00:03 +00:00
"$schema": "http://json-schema.org/draft-07/schema",
2025-02-05 18:38:53 -05:00
"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": {
2025-02-25 14:00:03 +00:00
"blockName": "etd-v1-processing",
"commitId": "8e1abcf93ed9c5595bf68de440b97c4ba529aa8c",
2025-02-05 18:38:53 -05:00
"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
}
},
"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,
2025-02-25 14:00:03 +00:00
"height": 79,
"selected": false,
"dragging": false
2025-02-05 18:38:53 -05:00
},
{
"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": []
}
2025-02-05 17:51:22 +00:00
},
2025-02-05 18:38:53 -05:00
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"grade": {
"type": "string",
"description": "PD v2 grade."
}
}
2025-02-05 17:51:22 +00:00
}
2025-02-05 18:38:53 -05:00
},
"type": "transformerNode",
"positionAbsolute": {
"x": 0,
"y": 450
},
"width": 260,
2025-02-25 14:00:03 +00:00
"height": 79
2025-02-05 18:38:53 -05:00
}
],
"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"
}
]
}