{ "nodes": [ { "id": "c2w3wcw04fjyio9un4f", "position": { "x": 0, "y": 0 }, "data": { "label": "Request", "request_schema": { "$schema": "http://json-schema.org/draft-07/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": { "blockName": "etd-v1-processing", "commitId": "8e1abcf93ed9c5595bf68de440b97c4ba529aa8c", "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, "height": 79, "selected": false, "dragging": false }, { "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 } ], "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" } ] }