Embodiments described herein relate to fraud detection.
Identifying known users associated with an initiated transaction is currently achieved using a rule-based solution. Such rule-based solutions utilize score bands, success, fraud lists, and endpoints (e.g., IP address) to identify a known user. Threshold values can be used to trigger the rules, and the threshold values can be manually adjusted to modify system performance.
By qualifying as a known user, greater efficiencies can result by, for example, not having to reenter certain information (e.g., a card verification value [“CVV”]) for each operation. If the entity who initiated a transaction does not qualify as known, that entity can be required to enter a valid CVV as part of an identification process to avoid false operations.
Embodiments described herein provide systems, methods, devices, and computer readable media for determining whether an operation/transaction was initiated by a known entity or 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. For example, 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).
One embodiment include a fraud detection system that may include a database and a server connected to the database. The server may be configured to determine whether an electronic transaction was initiated by a known user. The server may include an electronic processor and a memory. The server may be configured to receive a fraud analysis request related to the electronic transaction. The electronic transaction may include an associated plurality of features. The server may be further configured to determine values for the plurality of features for the electronic transaction. The server may be further configured to apply a weighted coefficient to each of the values of the plurality of features. The weighted coefficients may be related to an influence that each respective feature has on the electronic transaction potentially being a fraudulent transaction. The server may be further configured to determine a fraud prediction value based on the values of the plurality of features and the weighted coefficients. The server may be further configured to 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.
Another embodiment includes a method for detecting fraud during an electronic transaction by determining whether the electronic transaction was initiated by a known user. The method may include receiving, with a server, a fraud analysis request related to the electronic transaction. The electronic transaction may include an associated plurality of features. The server may be connected to a database and may include an electronic processor and a memory. The method may further include determining, with the server, values for the plurality of features for the electronic transaction. The method may further include applying, with the server, a weighted coefficient to each of the values of the plurality of features. The weighted coefficients may be related to an influence that each respective feature has on the electronic transaction potentially being a fraudulent transaction. The method may further include determining, with the server, a fraud prediction value based on the values of the plurality of features and the weighted coefficients. The method may further include 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.
Another embodiment includes at least one non-transitory computer-readable medium having encoded thereon instructions which, when executed by at least one electronic processor, may 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 may include receiving, with a server, a fraud analysis request related to the electronic transaction. The electronic transaction may include an associated plurality of features. The server may be connected to a database and may include an electronic processor and a memory. The method may further include determining, with the server, values for the plurality of features for the electronic transaction. The method may further include applying, with the server, a weighted coefficient to each of the values of the plurality of features. The weighted coefficients may be related to an influence that each respective feature has on the electronic transaction potentially being a fraudulent transaction. The method may further include determining, with the server, a fraud prediction value based on the values of the plurality of features and the weighted coefficients. The method may further include 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.
Before any embodiments are explained in detail, it is to be understood that the embodiments are not limited in its application to the details of the configuration and arrangement of components set forth in the following description or illustrated in the accompanying drawings. The embodiments are capable of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof are meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless specified or limited otherwise, the terms “mounted,” “connected,” “supported,” and “coupled” and variations thereof are used broadly and encompass both direct and indirect mountings, connections, supports, and couplings.
In addition, it should be understood that embodiments may include hardware, software, and electronic components or modules that, for purposes of discussion, may be illustrated and described as if the majority of the components were implemented solely in hardware. However, one of ordinary skill in the art, and based on a reading of this detailed description, would recognize that, in at least one embodiment, the electronic-based aspects may be implemented in software (e.g., stored on non-transitory computer-readable medium) executable by one or more processing units, such as a microprocessor and/or application specific integrated circuits (“ASICs”). As such, it should be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components, may be utilized to implement the embodiments. For example, “servers,” “computing devices,” “controllers,” “processors,” etc., described in the specification can include one or more processing units, one or more computer-readable medium modules, one or more input/output interfaces, and various connections (e.g., a system bus) connecting the components. Similarly, aspects herein that are described as implemented in software can, as recognized by one of ordinary skill in the art, be implemented in various forms of hardware.
Other aspects of the embodiments will become apparent by consideration of the detailed description and accompanying drawings.
Embodiments described herein provide systems, methods, devices, and computer readable media for determining whether a transaction was initiated by a known user.
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.
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.
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.
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.
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.
The controller 200 can include various modules and submodules related to implementing the fraud detection system 100. For example,
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.
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
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:
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]
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.
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).
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.
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).
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:
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).
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.
This application claims priority to U.S. Provisional Application No. 62/899,516, filed on Sep. 12, 2019, the entire contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
62899516 | Sep 2019 | US |