FRAUD DETECTION BASED ON KNOWN USER IDENTIFICATION
20210081949 ยท 2021-03-18
Inventors
- John Hearty (Vancouver, CA)
- Anton Laptiev (Vancouver, CA)
- Parin Prashant Shah (Vancouver, CA)
- Sik Suen Chan (Richmond, CA)
- Hanhan Wu (Surrey, CA)
Cpc classification
G06Q20/4018
PHYSICS
G06Q20/4016
PHYSICS
H04L63/0853
ELECTRICITY
H04L63/0876
ELECTRICITY
International classification
G06Q20/40
PHYSICS
Abstract
Systems, methods, devices, and computer readable media for determining whether a transaction was initiated by a known user. Known users can be identified using a known user identification linear regression algorithm. The known user identification algorithm incorporates a variety of features of an initiated transaction, as well as reputation and historical data associated with an account or user, to produce a prediction value that indicates whether a user is a known user or whether there is a high potential for fraud. If the prediction value that results from the known user identification algorithm is greater than or equal to the threshold value, a fraud rule is triggered (i.e., predicted fraud). If the prediction value that results from the known user identification algorithm is less than the threshold value, the user who initiated the transaction is identified as a known user and the transaction is permitted to proceed (i.e., predicted non-fraud).
Claims
1. A fraud detection system comprising: a database; and a server connected to the database, the server configured to determine whether an electronic transaction was initiated by a known user, the server including an electronic processor and a memory, the server configured to: receive a fraud analysis request related to the electronic transaction, the electronic transaction including an associated plurality of features, determine values for the plurality of features for the electronic transaction, apply a weighted coefficient to each of the values of the plurality of features, the weighted coefficients related to an influence that each respective feature has on the electronic transaction potentially being a fraudulent transaction, determine a fraud prediction value based on the values of the plurality of features and the weighted coefficients, compare the fraud prediction value to a threshold value, and identify a user who initiated the electronic transaction as a known user when the fraud prediction value is less than the threshold value.
2. The fraud detection system of claim 1, wherein the server is configured to: determine that the fraud prediction value is greater than the threshold value; and in response to determining that the fraud prediction value is greater than the threshold value, trigger a fraud detection rule to be completed successfully in order to permit the electronic transaction.
3. The fraud detection system of claim 2, wherein the fraud detection rule includes a card verification value (CVV) that must be correctly entered for the electronic transaction to be permitted.
4. The fraud detection system of claim 1, wherein the electronic transaction is associated with an Internet Protocol (IP) address, a device identification, and an account identification; and wherein the server is configured to: determine whether at least one of the IP address, the device identification, and the account identification is on a suspicious user list stored in the database, in response to determining that at least one of the IP address, the device identification, and the account identification is on the suspicious user list, trigger a fraud detection rule to be completed successfully in order to permit the electronic transaction, and in response to determining that none of the IP address, the device identification, and the account identification are on the suspicious user list, determine whether the electronic transaction was initiated by a known user.
5. The fraud detection system of claim 1, wherein the server is configured to: determine whether a successful purchase for an account associated with the electronic transaction has been completed within a past predetermined time period; in response to determining that no successful purchases for the account have been completed within the past predetermined time period, trigger a fraud detection rule to be completed successfully in order to permit the electronic transaction; and in response to determining that at least one successful purchase for the account has been completed within the past predetermined time period, determine whether the electronic transaction was initiated by a known user.
6. The fraud detection system of claim 1, wherein the associated plurality of features includes at least three features each selected from a different category of features, the different categories of features including a suspicious list category, a purchase history category, an existing fraud rules category, a purchase behavior category, and an end point change frequency category.
7. The fraud detection system of claim 1, wherein at least one feature of the associated plurality of features includes an end point change frequency feature; and wherein the server is configured to determine a value of the end point change frequency feature by dividing a total number of purchases made with an account associated with the electronic transaction over a past predetermined time period using first end point information of the end point change frequency feature associated with the electronic transaction by an overall total number of purchases made with the account over the past predetermined time period using any end point information of the end point change frequency feature.
8. A method for detecting fraud during an electronic transaction by determining whether the electronic transaction was initiated by a known user, the method comprising: receiving, with a server, a fraud analysis request related to the electronic transaction, the electronic transaction including an associated plurality of features, the server connected to a database and including an electronic processor and a memory; determining, with the server, values for the plurality of features for the electronic transaction; applying, with the server, a weighted coefficient to each of the values of the plurality of features, the weighted coefficients related to an influence that each respective feature has on the electronic transaction potentially being a fraudulent transaction; determining, with the server, a fraud prediction value based on the values of the plurality of features and the weighted coefficients; comparing, with the server, the fraud prediction value to a threshold value; and identifying, with the server, a user who initiated the electronic transaction as a known user when the fraud prediction value is less than the threshold value.
9. The method of claim 8, further comprising: determining, with the server, that the fraud prediction value is greater than the threshold value; and in response to determining that the fraud prediction value is greater than the threshold value, triggering, with the server, a fraud detection rule to be completed successfully in order to permit the electronic transaction.
10. The method of claim 9, wherein triggering the fraud detection rule includes triggering a card verification value (CVV) that must be correctly entered for the electronic transaction to be permitted.
11. The method of claim 8, wherein the electronic transaction is associated with an Internet Protocol (IP) address, a device identification, and an account identification, and further comprising: determining, with the server, whether at least one of the IP address, the device identification, and the account identification is on a suspicious user list stored in the database; in response to determining that at least one of the IP address, the device identification, and the account identification is on the suspicious user list, triggering, with the server, a fraud detection rule to be completed successfully in order to permit the electronic transaction; and in response to determining that none of the IP address, the device identification, and the account identification are on the suspicious user list, determining whether the electronic transaction was initiated by a known user.
12. The method of claim 8, further comprising: determining, with the server, whether a successful purchase for an account associated with the electronic transaction has been completed within a past predetermined time period; in response to determining that no successful purchases for the account have been completed within the past predetermined time period, triggering, with the server, a fraud detection rule to be completed successfully in order to permit the electronic transaction; and in response to determining that at least one successful purchase for the account has been completed within the past predetermined time period, determining, with the server, whether the electronic transaction was initiated by a known user.
13. The method of claim 8, wherein the associated plurality of features includes at least three features each selected from a different category of features, the different categories of features including a suspicious list category, a purchase history category, an existing fraud rules category, a purchase behavior category, and an end point change frequency category.
14. The method of claim 8, wherein at least one feature of the associated plurality of features includes an end point change frequency feature, and further comprising: determining, with the server, a value of the end point change frequency feature by dividing a total number of purchases made with an account associated with the electronic transaction over a past predetermined time period using first end point information of the end point change frequency feature associated with the electronic transaction by an overall total number of purchases made with the account over the past predetermined time period using any end point information of the end point change frequency feature.
15. At least one non-transitory computer-readable medium having encoded thereon instructions which, when executed by at least one electronic processor, cause the at least one electronic processor to perform a method for detecting fraud during an electronic transaction by determining whether the electronic transaction was initiated by a known user, the method comprising: receiving, with a server, a fraud analysis request related to the electronic transaction, the electronic transaction including an associated plurality of features, the server connected to a database and including an electronic processor and a memory; determining, with the server, values for the plurality of features for the electronic transaction; applying, with the server, a weighted coefficient to each of the values of the plurality of features, the weighted coefficients related to an influence that each respective feature has on the electronic transaction potentially being a fraudulent transaction; determining, with the server, a fraud prediction value based on the values of the plurality of features and the weighted coefficients; comparing, with the server, the fraud prediction value to a threshold value; and identifying, with the server, a user who initiated the electronic transaction as a known user when the fraud prediction value is less than the threshold value.
16. The at least one non-transitory computer-readable medium of claim 15, wherein the method further comprises: determining, with the server, that the fraud prediction value is greater than the threshold value; and in response to determining that the fraud prediction value is greater than the threshold value, triggering, with the server, a fraud detection rule to be completed successfully in order to permit the electronic transaction.
17. The at least one non-transitory computer-readable medium of claim 16, wherein triggering the fraud detection rule includes triggering a card verification value (CVV) that must be correctly entered for the electronic transaction to be permitted.
18. The at least one non-transitory computer-readable medium of claim 15, wherein the electronic transaction is associated with an Internet Protocol (IP) address, a device identification, and an account identification, and wherein the method further comprises: determining, with the server, whether at least one of the IP address, the device identification, and the account identification is on a suspicious user list stored in the database; in response to determining that at least one of the IP address, the device identification, and the account identification is on the suspicious user list, triggering, with the server, a fraud detection rule to be completed successfully in order to permit the electronic transaction; in response to determining that none of the IP address, the device identification, and the account identification are on the suspicious user list, determining, with the server, whether a successful purchase for an account associated with the electronic transaction has been completed within a past predetermined time period; in response to determining that no successful purchases for the account have been completed within the past predetermined time period, triggering, with the server, the fraud detection rule to be completed successfully in order to permit the electronic transaction; and in response to determining that at least one successful purchase for the account has been completed within the past predetermined time period, determining, with the server, whether the electronic transaction was initiated by a known user.
19. The at least one non-transitory computer-readable medium of claim 15, wherein the associated plurality of features includes at least three features each selected from a different category of features, the different categories of features including a suspicious list category, a purchase history category, an existing fraud rules category, a purchase behavior category, and an end point change frequency category.
20. The at least one non-transitory computer-readable medium of claim 15, wherein at least one feature of the associated plurality of features includes an end point change frequency feature, and wherein the method further comprises: determining, with the server, a value of the end point change frequency feature by dividing a total number of purchases made with an account associated with the electronic transaction over a past predetermined time period using first end point information of the end point change frequency feature associated with the electronic transaction by an overall total number of purchases made with the account over the past predetermined time period using any end point information of the end point change frequency feature.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012]
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION
[0017] Embodiments described herein provide systems, methods, devices, and computer readable media for determining whether a transaction was initiated by a known user.
[0018] The network 130 is, for example, a wide area network (WAN) (e.g., a TCP/IP based network), a local area network (LAN), a neighborhood area network (NAN), a home area network (HAN), or personal area network (PAN) employing any of a variety of communications protocols, such as Wi-Fi, Bluetooth, ZigBee, etc. In some implementations, the network 130 is a cellular network, such as, for example, a Global System for Mobile Communications (GSM) network, a General Packet Radio Service (GPRS) network, a Code Division Multiple Access (CDMA) network, an Evolution-Data Optimized (EV-DO) network, an Enhanced Data Rates for GSM Evolution (EDGE) network, a 3GSM network, a 4GSM network, a 4G LTE network, a 5G New Radio network, a Digital Enhanced Cordless Telecommunications (DECT) network, a Digital AMPS (IS-136/TDMA) network, or an Integrated Digital Enhanced Network (iDEN) network, etc. The connections between the devices 105-125 and the network 130 are, for example, wired connections, wireless connections, or a combination of wireless and wired connections. Similarly, the connections between the servers 135, 140 and the network 130 are wired connections, wireless connections, or a combination of wireless and wired connections.
[0019]
[0020] The memory 220 is a non-transitory computer readable medium and includes, for example, a program storage area and a data storage area. The program storage area and the data storage area can include combinations of different types of memory, such as read-only memory (ROM), random access memory (RAM) (e.g., dynamic RAM [DRAM], synchronous DRAM [SDRAM], etc.), electrically erasable programmable read-only memory (EEPROM), flash memory, a hard disk, an SD card, or other suitable magnetic, optical, physical, electronic memory devices, or other data structures. The processing unit 215 is connected to the memory 220 and executes software instructions that are capable of being stored in a RAM of the memory 220 (e.g., during execution), a ROM of the memory 220 (e.g., on a generally permanent basis), or another non-transitory computer readable data storage medium such as another memory or a disc.
[0021] In some embodiments, the controller 200 or network communications module 210 includes one or more communications ports (e.g., Ethernet, serial advanced technology attachment [SATA], universal serial bus [USB], integrated drive electronics [IDE], etc.) for transferring, receiving, or storing data associated with the system 100 or the operation of the system 100. In some embodiments, the network communications module 210 includes an application programming interface (API) for the server 140 (e.g., a fraud detection API). Software included in the implementation of the system 100 can be stored in the memory 220 of the controller 200. The software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The controller 200 is configured to retrieve from memory and execute, among other things, instructions related to the control methods and processes describe herein. In some embodiments, the controller 200 includes a plurality of processing units 215 and/or a plurality of memories 220 for retrieving from memory and executing the instructions related to the control methods and processes describe herein.
[0022] The power supply module 205 supplies a nominal AC or DC voltage to the controller 200 or other components or modules of the system 100. The power supply module 205 is powered by, for example, mains power having nominal line voltages between 100V and 240V AC and frequencies of approximately 50-60 Hz. The power supply module 205 is also configured to supply lower voltages to operate circuits and components within the controller 200 or system 100.
[0023] The user interface 150 includes a combination of digital and analog input or output devices required to achieve a desired level of control and monitoring for the system 100. For example, the user interface 150 includes a display (e.g., a primary display, a secondary display, etc.) and input devices such as a mouse, touch-screen displays, a plurality of knobs, dials, switches, buttons, etc.
[0024] The controller 200 can include various modules and submodules related to implementing the fraud detection system 100. For example,
[0025]
[0026] If none of the IP address, device identification, or account ID is found in a suspicious user list, the fraud detection module 300 is configured to determine whether a successful purchase for the credit card was completed within a predetermined time period (STEP 420). In some embodiments, the predetermined time period is approximately 18 months. In other embodiments, different time periods are used (e.g., 12 months, 6 months, etc.). If no successful transactions related to the credit card have been completed within the time period, the CVV rule is triggered (STEP 425). The person who initiated the transaction can then be required to enter a correct CVV in order for the transaction to proceed.
[0027] If, at STEP 430, the credit card has been used to successfully complete a transaction within the time period, a known user program is executed by the fraud detection module 300. The known user program or algorithm is described in greater detail with respect to
[0028] Known user identification can be completed using, for example, a decision tree for which a series of IF-THEN statements are used to determine if a user is a known user. Examples of such IF-THEN statements that would trigger a fraud rule (e.g., requiring a CVV) are provided below:
TABLE-US-00001 IF geo_anonymous=1 & cloud_hosting_ip=1 & endpoint_change_frequency > 10 THEN Fraud IF tor_exit_node=1 & daily_purchase+frequency > 1 THEN Fraud
[0029] Additionally or alternatively to the use of a decision tree, a known user identification linear regression algorithm or formula can be used. The linear regression formula is configured to provide an aggregated weighted score to determine whether a user is a known user or if a transaction is potentially fraudulent. A variety of features associated with an initiated transaction can be used in the linear regression formula. Each feature has a corresponding coefficient that weights the feature based on the influence that each feature has on a transaction potentially being fraudulent. A generic linear regression formula is provided below:
Probability=[Coef1]*[Feature1]+[Coef2]*[Feature2]+[Coef3]*[Feature3]+[Y-Intercept]
[0030] The generic linear regression formula provided above includes three coefficients and three features. In some embodiments, more than three coefficients are used in a linear regression formula. For example, in some embodiments, fourteen features and fourteen corresponding weighted coefficients are used in a linear regression formula. TABLE 1 provides an example list of features than can be used in a known user identification linear regression formula and/or in a decision tree.
TABLE-US-00002 TABLE 1 TRANSACTION FEATURES Category Feature Name Value of the Feature Suspicious is_ip_ suspicious_list 0, 1 to indicate whether current IP Lists is_did_suspicious_list address, device identification, or is_account_suspicious_list account ID is in a fraud suspicious list. Purchase has_history 0, 1 to indicate whether there is a History successful purchase in the past n-many weeks. Existing has_geo_anonymous 0, 1 to indicate whether the rule has Fraud has_cloud_hosting_ip been triggered. Rules has_tor_exit_node Purchase purchase_frequency Total number of successful purchases Behavior for an account over a time period (e.g., 1 year). Endpoint accountemaildomain_change_frequency Total number of distinct endpoint Change email_change_frequency values of an account ID's successful Frequency ipcarrier_change_frequency (ISP) purchase records over a time period zipcode_change_frequency (e.g., 1 year). browserplatform_change_frequency ip_change_frequency (IP address)
[0031] In some embodiments, the has_geo_anonymous feature indicates whether the current IP address attempting to perform the transaction is associated with a proxy network/server. For example, association with a proxy network/server may indicate a heightened probability of fraud because the true origin of the transaction request may be masked by the proxy network/server. In some embodiments, the has_cloud_hosting_ip feature indicates whether the current IP carrier/Internet service provider (ISP) from which the transaction is being attempted has been previously flagged as suspicious (e.g., based on a list stored in database 145). In some embodiments, the has_tor_exit_node feature indicates whether the current IP address attempting to perform the transaction is associated with known suspicious networks such as The Onion Router (Tor).
[0032] In some embodiments, the purchase_frequency feature and the endpoint change frequency features are normalized using a total number of purchases/transactions made with the current account. For example, the purchase_frequency feature may be calculated by dividing a total number of successful purchases for an account in the past one year by an overall total number of successful purchases for the account that have ever been made. This normalized value between zero and one may be used to indicate how frequently the account has made purchases/transactions compared to historical data of the account.
[0033] Similar calculations may be made to determine the endpoint change frequency features as well. For example, the zipcode_change_frequency feature may be calculated by dividing a total number of purchases/transactions made with an account over the past one year using a first zip code 51234 by an overall total number of purchases/transactions made with the account over the past one year using any zip code. This normalized value between zero and one may be used to indicate how frequently the first zip code 51234 has been used in the past one year by the account to complete purchases/transactions. Although the above example is provided with respect to the zip code of the current transaction, similar calculations may be made to determine the other endpoint change frequency parameters. In other words, the server 140 may be configured to determine a value of an end point change frequency feature by dividing a total number of purchases made with an account associated with the current electronic transaction over a past predetermined time period using first end point information of the end point change frequency feature associated with the electronic transaction (e.g., transactions using the first zip code 51234) by an overall total number of purchases made with the account over the past predetermined time period using any end point information of the end point change frequency feature (e.g., transactions using any zip code).
[0034]
[0035] The linear regression algorithm 505 outputs a prediction value related to whether a user is a known user or if a transaction is potentially fraudulent. If the prediction value is greater than or equal to a threshold value, the fraud rule is triggered. If the prediction value is less than the threshold value, the fraud rule is not triggered and a user is identified as a known user. In some embodiments, the threshold has a normalized value of between 0 and 1 (e.g., 0.8). An example linear regression algorithm 505 is provided below:
TABLE-US-00003 Prediction_Value = [has_geo_anonymous]*[0.0586] + [has_cloud_hosting_ip]*[0.030] + [has_tor_exit_node]*[0.098] + [is_ip_suspicious_list]*[0.045] + [is_did_suspicious_list]*[0.213] + [is_account_suspicious_list]*[0.526] + [has_history]*[0.084] + [purchase_frequency]*[0.110] + [accountemaildomain_change_frequency]*[0.667] + [email_change_frequency]*[0.139] + [ipcarrier_change_frequency]*[0.092] + [zipcode_change_frequency]*[0.071] + browserplatform_change_frequency]*[0.031] + [ip_change_frequency]*[0.001] 0.0999.
[0036] For the linear regression algorithm provided above, a Y-intercept of 0.0999 is used. In some embodiments, the Y-intercept of the linear regression algorithm can be set to a different value. Similarly, the weights/values of one or more of the coefficients of the transaction features in the linear regression algorithm provided above may be set to different values in some embodiments. If the Prediction_Value that results from the linear regression algorithm is greater than or equal to the threshold value (e.g., 0.8), the fraud rule is triggered (i.e., predicted fraud). If the Prediction_Value that results from the linear regression algorithm is less than the threshold value, the user who initiated the transaction is identified as a known user and the transaction is permitted to proceed (i.e., predicted non-fraud).
[0037] Thus, embodiments described herein provide, among other things, systems, methods, devices, and computer readable media for determining whether a transaction was initiated by a known user.