U.S. patent application number 16/289627 was filed with the patent office on 2019-06-27 for systems and methods for an attribute generator tool workflow.
This patent application is currently assigned to Capital One Services, LLC. The applicant listed for this patent is CAPITAL ONE SERVICES, LLC. Invention is credited to Karen Bernhard, Shirley Chan, Thomas Hodgson.
Application Number | 20190197440 16/289627 |
Document ID | / |
Family ID | 54210067 |
Filed Date | 2019-06-27 |
![](/patent/app/20190197440/US20190197440A1-20190627-D00000.png)
![](/patent/app/20190197440/US20190197440A1-20190627-D00001.png)
![](/patent/app/20190197440/US20190197440A1-20190627-D00002.png)
![](/patent/app/20190197440/US20190197440A1-20190627-D00003.png)
![](/patent/app/20190197440/US20190197440A1-20190627-D00004.png)
![](/patent/app/20190197440/US20190197440A1-20190627-D00005.png)
![](/patent/app/20190197440/US20190197440A1-20190627-D00006.png)
![](/patent/app/20190197440/US20190197440A1-20190627-D00007.png)
![](/patent/app/20190197440/US20190197440A1-20190627-D00008.png)
United States Patent
Application |
20190197440 |
Kind Code |
A1 |
Chan; Shirley ; et
al. |
June 27, 2019 |
SYSTEMS AND METHODS FOR AN ATTRIBUTE GENERATOR TOOL WORKFLOW
Abstract
The disclosed embodiments generally relate to systems and
methods for computerized decisioning, and more particularly, to
systems and methods for standardized coding and deployment of
attributes for financial decisioning systems coded once and
deployed to multiple decisioning systems and environments.
Consistent with disclosed embodiments, an attribute management
system may include one or more memory devices storing instructions,
and one or more hardware processors configured to execute the
instructions to perform operations. Upon executing the
instructions, the processors may receive a financial service
request, and identify a decisioning system for processing the
request. The processors may determine that an attribute is required
for processing the request using the decisioning system. Then, the
processors may initiate an attribute calculation service for
determining an attribute value for the attribute. The processors
may receive the attribute value from the attribute calculation
service, and process the financial service request using the
received attribute value.
Inventors: |
Chan; Shirley; (Dunn Loring,
VA) ; Bernhard; Karen; (Richmond, VA) ;
Hodgson; Thomas; (Glen Allen, VA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
CAPITAL ONE SERVICES, LLC |
McLean |
VA |
US |
|
|
Assignee: |
Capital One Services, LLC
|
Family ID: |
54210067 |
Appl. No.: |
16/289627 |
Filed: |
February 28, 2019 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14680883 |
Apr 7, 2015 |
10223652 |
|
|
16289627 |
|
|
|
|
61976611 |
Apr 8, 2014 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 10/06 20130101 |
International
Class: |
G06Q 10/06 20060101
G06Q010/06 |
Claims
1-32. (canceled)
33. An attribute management system, comprising: one or more
hardware processors; and one or more memory devices containing: a
memory space storing attributes for testing; and instructions
executable by the one or more hardware processors to perform
operations comprising: receiving a request for including an
exploratory attribute in the memory space, the request comprising
source code associated with the exploratory attribute; adding the
source code to the memory space; placing the source code, a memory
resource of the system, and a computing resource of the system in
an isolated computing environment; receiving an indication from a
user that the source code is certified; and distributing the
certified source code to an attribute calculation service
system.
34. The system of claim 33, wherein the operations further comprise
configuring a dataset to be in the isolated computing
environment.
35. The system of claim 33, wherein the operations further
comprise: testing the source code in the isolated computing
environment.
36. The system of claim 35, wherein testing the source code
comprises vulnerability testing.
37. The system of claim 35, wherein testing the source code
comprises determining an analytical value of the exploratory
attribute.
38. The system of claim 33, wherein the source code comprises an
algorithm associated with the exploratory attribute.
39. The system of claim 33, wherein the operations further comprise
storing the certified source code in a library.
40. The system of claim 33, wherein the operations further comprise
making the library accessible to an attribute calculation service
system.
41. The system of claim 33, wherein the sandboxed source code is
accessible to one or more authorized users.
42. A computer-implemented method for managing attribute source
code, comprising: receiving a request for including an exploratory
attribute in a memory space of a system the request comprising
source code associated with the exploratory attribute; adding the
source code to the memory space; placing the source code, a memory
resource of the system, and a computing resource of the system in
an isolated computing environment; receiving an indication from a
user that the source code is certified; and distributing, the
certified source code to an attribute calculation service
system.
43. The method of claim 42, further comprising encrypting the
certified source code.
44. The method of claim 42, further comprising updating the
certified source code.
45. The method of claim 44, wherein updating the certified source
code comprises determining that the exploratory attribute is
associated with updated source code.
46. The method of claim 44, wherein updating the certified source
code comprises determining that the exploratory attribute is
superseded by a second exploratory attribute.
47. The method of claim 42, further comprising encrypting the
source code.
48. The method of claim 42, wherein the source code comprises an
attribute model.
49. The method of claim 48, wherein the source code is configured
to implement the attribute model.
50. The method of claim 42, wherein the exploratory attribute is
configured to summarize raw credit data into one value.
51. The method of claim 42, wherein the operations further comprise
testing the source code in the isolated computing environment.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional
Application No. 61/976,611, filed Apr. 8, 2014, which is hereby
incorporated by reference in the present application.
FIELD OF DISCLOSURE
[0002] The disclosed embodiments generally relate to systems and
methods for computerized decisioning, and more particularly, to
systems and methods for standardized coding and deployment of
attributes for decisioning systems.
BACKGROUND
[0003] Computerized decisioning systems are becoming increasingly
leveraged by organizations to support decision making activities
associated with the organizations. For instance, organizations use
these decisioning systems to compile useful information concerning
organizational activities, analyze the information, and/or propose
decisions stemming from the organizational activities. In the
financial sector, for example, financial institutions use
computerized decisioning systems to conduct market analyses,
monitor for fraud detection, determine credit limit approvals, make
investment decisions, etc.
[0004] These computerized decisioning systems use "attributes" when
performing operations for an organization. These attributes define
and/or summarize properties of an underlying object, activity,
customer, etc. For example, a credit attribute may be generated by
a financial institution to summarize raw credit data for an
individual into one value that can be leveraged for credit
decisioning. Currently, however, computer programmers must "code"
the same attributes across multiple environments, such as an
analytical environment (e.g., where the attributes are used for
internal testing) and a production environment (e.g., where the
same attributes are used after passing internal testing to make
decisions that impact an entity external to the financial
institution, like a credit-seeking consumer). Further, computer
programmers must also "code" the same attributes across different
decisioning systems (e.g., marketing systems, application
processing systems, account management systems, etc.).
[0005] Thus, attributes must currently be coded and tested multiple
times between the analytical to production rollout phases across
multiple systems. This leads to long lead-times to put an attribute
to use in production environments. Further, having to code the same
attribute multiple times increases the chance of errors. Also,
coding the same attribute multiple times may lead to inconsistent
attribute data between analytical and production environments, as
well as between different decisioning systems (e.g., marketing,
application, account management, etc.). This in turn can lead to a
suboptimal customer experience.
SUMMARY
[0006] In the following description, certain aspects and
embodiments of the present disclosure will become evident. It
should be understood that the disclosure, in its broadest sense,
could be practiced without having one or more features of these
aspects and embodiments. Specifically, it should also be understood
that these aspects and embodiments are merely exemplary. Moreover,
although disclosed embodiments are discussed in the context of
financial decisioning systems and environments for ease of
discussion, it is to be understood that the disclosed embodiments
are not limited to any particular industry. Instead, disclosed
embodiments may be practiced by any entity in any industry that
would benefit from standardized coding and deploying common
attributes across multiple systems and environments.
[0007] Certain disclosed embodiments provide systems and methods
for standardized coding and deployment of common attributes across
multiple financial decisioning systems and production environments.
For example, certain disclosed embodiments may enable coding
attributes only once and deploying them to multiple decisioning
systems and environments (e.g., exploratory, sandbox, and
production stages), rather than the current state of having to code
and deploy the same attribute multiple times. Certain disclosed
embodiments may, with the combination of an attribute tool and an
improved workflow disclosed below, be able to standardize the
attributes to allow coding the attributes once and deploying them
multiple times. Specifically, aspects of the disclosed embodiments
may also standardize the attribute creation in an attribute
generator tool, and leverage this tool to generate attributes for
all decisioning systems in production. In addition, in disclosed
embodiments, the same attribution code may be promoted through
different environments (e.g., exploratory, sandbox, and
production), rather than being re-coded separately for each stage
of production. For example, an attribute coded for the analytical
phase (e.g., early coding and testing) can be pushed through all
stages of production to the production phase (e.g., where the code
may be used or relied on in the marketplace) for all types of
decisioning systems, to increase data consistency and speed to
market.
[0008] Other aspects of the disclosed embodiments are set forth
below in this disclosure. For example, the disclosed embodiments
may include a system for attribute management. The system may
include, for example, one or more memory devices storing
instructions and one or more processors configured to execute the
instructions to perform operations. Upon executing the
instructions, the processors may receive a financial service
request, and identify a decisioning system for processing the
request. The processors may determine that an attribute is required
for processing the request using the decisioning system. The
processors may further initiate an attribute calculation service
for determining an attribute value for the attribute. The
processors may further receive the attribute value from the
attribute calculation service, and process the financial service
request using the received attribute value.
[0009] The disclosed embodiments also include a
computer-implemented method for attribute management. The method
may include, for example, receiving a financial service request,
and identifying a decisioning system for processing the request.
The method may also include determining, via one or more
processors, that an attribute is required for processing the
request using the decisioning system. The method may also continue
with initiating an attribute calculation service for determining an
attribute value for the attribute. The method may also include
receiving the attribute value from the attribute calculation
service, and processing the financial service request using the
received attribute value.
[0010] In accordance with additional embodiments of the present
disclosure, a computer-readable medium is disclosed that stores
instructions that, when executed by a processor(s), causes the
processor(s) to perform operations consistent with one or more
disclosed methods.
[0011] It is to be understood that both the foregoing general
description and the following detailed description are exemplary
and explanatory only, and are not restrictive of the disclosed
embodiments, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The accompanying drawings, which are incorporated in and
constitute a part of this specification, illustrate several
embodiments and, together with the description, serve to explain
the disclosed principles. In the drawings:
[0013] FIG. 1 is a block diagram of an exemplary attribute
calculation service, consistent with disclosed embodiments;
[0014] FIG. 2 is a flowchart of an exemplary process for attribute
coding, consistent with disclosed embodiments;
[0015] FIGS. 3A-B are flowcharts of an exemplary process for
attribute production, consistent with disclosed embodiments;
[0016] FIG. 4 is a block diagram of an exemplary system, consistent
with disclosed embodiments;
[0017] FIG. 5 is a block diagram of an exemplary computer system,
consistent with disclosed embodiments; and
[0018] FIGS. 6A-B are flowcharts of an exemplary process for
financial service request processing using standardized attributes,
consistent with disclosed embodiments.
DETAILED DESCRIPTION
[0019] Reference will now be made in detail to exemplary
embodiments, examples of which are illustrated in the accompanying
drawings and disclosed herein. Wherever convenient, the same
reference numbers will be used throughout the drawings to refer to
the same or like parts.
[0020] FIG. 1 is a block diagram of an exemplary attribute
calculation service, consistent with disclosed embodiments. In some
embodiments, a financial institution (e.g., any entity associated
with the financial services entity) may receive a request for a
financial service offered by the financial institution. The
financial request may be from a consumer, a broker, a merchant, a
financial analyst, an employee of the financial institution, etc.
The request could correspond to any financial service including but
not limited to an application for a loan, mortgage, or other form
of credit, an account opening or closing request, a transaction
request (e.g., deposit, withdrawal, money transfer, etc.), a card
transaction authorization message (e.g., as part of a credit or
debit transaction), a request related to managing an investment
asset or asset portfolio, etc. The financial institution may rely
on one or more "attributes" to analyze and/or generate a decision
on how to process and respond to the financial service request.
[0021] For example, a credit attribute may be a calculation that
may summarize raw credit data for an individual into one value that
can be leveraged for credit decisioning by the financial
institution. A simple example of a credit attribute is the number
of credit trades associated with the individual. In one embodiment,
if an individual had three credit cards, one mortgage, one student
loan, and two auto trades, the summarized attribute number of
credit trades may be "7." In other embodiments, however, an
attribute may comprise complex summarizations due to, for example
in the context of credit decisioning, the amount of information
available to the financial institution from different credit data
sources. A financial institution may utilize such a credit
attribute to make decisions regarding the financial services
offered to the individual. For example, based on the credit
attribute in the above example, the financial institution may
determine whether to grant a credit, loan, or mortgage application,
whether to alter an interest rate, term, principal amount etc. in
order to approve a credit request, whether to process an account
opening or closing request, whether to process a transaction
request (e.g., deposit, withdrawal), whether to approve a card
transaction authorization request (e.g., as part of a credit or
debit transaction), whether to perform investment actions related
to managing an investment asset or asset portfolio, etc.
[0022] In some embodiments an attribute may be calculated according
to an attribute model 160. Such a model may utilize a combination
of mathematical equations or formulas, artificial intelligence
logic, fuzzy logic, pattern recognition techniques, simulated
annealing, non-linear dynamical systems processing, or other
techniques for operating on input data. It is to be understood that
an attribute may depend on any known algorithmic technique for
manipulating data, and may operate on varied input data, such as
any financial data, personal data, aggregate data, regulatory
inputs, company policies, etc. Examples of such data include, but
are not limited to: (i) other/old attributes 110, (ii) user data
120 corresponding to a specific user requesting a financial
service, (iii) aggregated user data 130 associated with a plurality
of users, (iv) statutes, laws, regulations, or company policies
140, (v) stakeholder input 150 (e.g., input from a shareholder,
broker, financial intermediary, investment institution, etc.), etc.
The value of a new attribute 170 may be calculated using the input
data and the attribute model 160 corresponding to the
attribute.
[0023] FIG. 2 is a flowchart of an exemplary process 200 for
attribute coding, consistent with disclosed embodiments. In some
embodiments, an attribute model may be proposed for experimentation
purposes. The attribute model may be required to pass certain
certification tests at one or more stages of production such that,
once certified, the attribute model may become promoted from the
exploratory stage to the sandbox and, eventually, become published
for utilization in "production"-level assignment. For example, at
step 210, a system associated with the financial institution (e.g.,
attribution calculation server(s) 430 and/or financial service
provider device 420) may receive a definition for an attribute as
an exploratory attribute. The definition may be received from, for
example, a user who is an employee, programmer, or analyst at the
financial institution. In some embodiments, the system may receive
an attribute name and attribute model for the attribute from the
user. For example, the attribute model may be specified in the form
of source code implementing the algorithmic techniques constituting
at least a part of the attribute model. The system may also receive
a request for the attribute model (e.g., code associated with the
attribute model) to be included in a memory space storing
exploratory attributes for testing. In some embodiments, computing
security policies may be effected such that the
attribute-sponsoring user may alone be able to test, modify,
analyze, or otherwise manipulate the source code implementing the
attribute model for the attribute in the exploratory space.
According to some embodiments, the exploratory source code
associated with the attribute model may be encrypted for computing
security purposes.
[0024] At step 220, computing and memory resources may be allocated
within a distributed computing system for testing the attribute
model. For example, a sample dataset may be provided for testing
from a database storing input data appropriate to the attribute
model. The source code, computing and memory resources may be
"sandboxed," such that no other parts of the computing system can
affect, or be affected by, computing operations for testing the
attribute model. The source code may be compiled, and the executed
code may be tested. Modifications to the source code in view of the
test results may also be performed within the sandbox. In some
embodiments, computing security policies may be effected such that
a test or compliance team (e.g., internal to the financial
institution) may be able to test, modify, analyze, or otherwise
manipulate the source code implementing the attribute model for the
attribute in the sandbox, but no requests from a user outside the
test or compliance team may be processed by the attribute source
code. In some embodiments, the test or compliance team may test the
sandboxed source code not only for computer security of the source
code, but also for the analytical value (e.g., a measure of the
attribute's ability to convey useful information concerning
organizational activities for decisioning purposes and/or financial
implications) of the attribute represented by the attribute model.
According to some embodiments, the sandboxed source code associated
with the attribute model may be encrypted for computing security
purposes. After testing in the sandbox, the attribute model may be
deemed critical and certified, allowing the code to be promoted to
the next stage of production (step 230). For example, the attribute
model may be certified and labeled "production"-ready such that the
source code, or compiled executable, may be provided for processing
real-world financial service requests. In some embodiments, the
source code and/or executable may be encrypted for computing
security purposes. This "production" attribute code may be
distributed to one or more computers configured to provide
attribute calculation services.
[0025] FIGS. 3A-B are flowcharts of an exemplary process 300 for
attribute production, consistent with disclosed embodiments. With
reference to FIG. 3A, at step 305, a system associated with a
financial institution (e.g., attribution calculation server(s) 430
and/or financial service provider device 420) may create an
exploratory attribute. At step 310, the system may receive a
request for the attribute to be added to the official sandbox of
the financial institution. If the addition is approved (step 315;
YES), the exploratory source code corresponding to the attribute
may be included in a sandboxed computing system. At step 320, the
source code may be tested for certification in the official
sandbox. Testing may include, for example, ensuring that there are
no vulnerabilities in the code itself, that the code complies with
one or more coding practices and/or guidelines, and that the values
provided by the attribute model 160 provide a financially
meaningful signal on which to base financial decisions. The source
code may be modified during sandboxed testing. At step 325, if the
source code becomes certified, the source code may be "published."
For example, with reference to step 330 at FIG. 3B, the source code
and/or a compiled and executable version of the source code may be
promoted to the production environment such that it becomes
published as production attribute code. Continuing the example
further, the source code or executable may be stored in a central
library of production attribute code for use by one or more
computers configured to provide attribute calculation services. The
library may be indexed and regularly updated to ensure that all
financial decisioning system utilize consistent and uniform
attributes and corresponding attribute models. At step 335, the
production attribute code may be provided to all computing systems
that provide attribute calculation services, such as (centralized)
attribute calculation server(s) dedicated to providing attribute
calculation services. In some embodiments, in the process of
updating attribute calculation services, each attribute model being
utilized may be checked periodically to determine whether an
updated attribute model is available for the attribute, or if the
attribute has been superseded by a different attribute or attribute
version.
[0026] FIG. 4 shows a diagram of an exemplary system 400,
consistent with disclosed embodiments. As shown in FIG. 4, system
400 may include a user device 410, a financial service provider
device 420, and a communication network 440 to facilitate
communication among the components of system 400. The components
and arrangement of the components included in system 400 may vary.
Thus, system 400 may further include other components that perform
or assist in the performance of one or more processes consistent
with the disclosed embodiments. The components and arrangements
shown in FIG. 4 are not intended to limit the disclosed
embodiments, as the components used to implement the disclosed
processes and features may vary.
[0027] In accordance with disclosed embodiments, a system 400 may
include a financial service provider (FSP) device 420. FSP device
420 may be a system associated with a financial service provider
(not shown), such as a bank, a credit card company, a credit
bureau, a lender, brokerage firm, or any other type of financial
service entity that generates, provides, manages, maintains
financial service accounts, etc. for one or more individuals or
entities. FSP device 420 may be one or more computing systems that
are configured to execute software instructions stored on one or
more memory devices to perform one or more operations consistent
with the disclosed embodiments. For example, FSP device 420 may
include one or more memory device(s) storing data and software
instructions and one or more hardware processor(s) configured to
use the data and execute the software instructions to perform
server-based functions and operations known to those skilled in the
art. FSP device 420 may include one or more general-purpose
computers, mainframe computers, or any combination of these types
of components.
[0028] In certain embodiments, FSP device 420 may be configured as
a particular apparatus, system, and the like based on the storage,
execution, and/or implementation of the software instructions that
perform one or more operations consistent with the disclosed
embodiments. FSP device 420 may be standalone, or it may be part of
a subsystem, which may be part of a larger system. For example, FSP
device 420 may represent distributed servers that are remotely
located and communicate over a network (e.g., communication network
440) or a dedicated network, such as a LAN, for a financial service
provider. An exemplary computing system consistent with FSP 420 is
discussed in additional detail with respect to FIG. 5, below.
[0029] FSP device 420 may include or may access one or more storage
devices (e.g., memory 530 and/or database 540) configured to store
data and/or software instructions used by one or more processors of
FSP device 420 to perform operations consistent with disclosed
embodiments. For example, FSP device 420 may include memory 530
configured to store one or more software programs that performs
various functions when executed by a processor. The disclosed
embodiments are not limited to separate programs or computers
configured to perform dedicated tasks. For example, FSP device 420
may include memory that stores a single program or multiple
programs. Additionally, FSP device 420 may execute one or more
programs located remotely from FSP device 420. For example, FSP
device 420 may access one or more remote programs stored in memory
included with a remote component that, when executed, perform
operations consistent with the disclosed embodiments. In certain
aspects, FSP device 420 may include server software that generates,
maintains, and provides services associated with the financial
service industry. In other aspects, FSP device 420 may connect
separate server(s) or similar computing devices that generate,
maintain, and provide services associated with financial data for a
financial service provider associated with FSP device 420.
[0030] System 400 may also include one or more attribute
calculation (AC) servers 430. AC server 430 may be a system
associated with a financial service provider (not shown), such as a
bank, a credit card company, a credit bureau, a lender, brokerage
firm, or any other type of financial service entity that generates,
provides, manages, maintains financial service accounts, etc. for
one or more users. For example, AC server 430 may be an internal
system to a financial service provider (e.g., part of FSP device
430). In other embodiments, AC server 430 may be associated with a
third-party to the financial service provider associated with FSP
device 430, such as a credit agency, another financial service
provider associated with a common financial transaction, etc.
[0031] AC server 430 may be one or more computing systems
configured to execute software instructions stored on one or more
memory devices to perform one or more operations consistent with
the disclosed embodiments. For example, AC server 430 may include
one or more memory device(s) storing data and software instructions
and one or more hardware processor(s) configured to use the data
and execute the software instructions to perform server-based
functions and operations known to those skilled in the art. AC
server 430 may include one or more general-purpose computers,
mainframe computers, or any combination of these types of
components.
[0032] In certain embodiments, AC server 430 may be configured as a
particular apparatus, system, and the like based on the storage,
execution, and/or implementation of the software instructions that
perform one or more operations consistent with the disclosed
embodiments. AC server 430 may be standalone, or it may be part of
a subsystem, which may be part of a larger system. For example, AC
server 430 may represent distributed servers that are remotely
located and communicate over a network (e.g., communication network
440) including a dedicated network, such as a LAN, for a financial
service provider. An exemplary computing system consistent with AC
server 430 is discussed in additional detail with respect to FIG.
5, below.
[0033] AC server 430 may include or have access to one or more
storage devices configured to store data and/or software
instructions used by one or more processors of AC server 430 to
perform operations consistent with disclosed embodiments. For
example, AC server 430 may include memory 530 configured to store
one or more software programs that performs various functions when
executed by a processor. The disclosed embodiments are not limited
to separate programs or computers configured to perform dedicated
tasks. For example, AC server 430 may include memory that stores a
single program or multiple programs. Additionally, AC server 430
may execute one or more programs located remotely from AC server
430. For example, AC server 430 may access one or more remote
programs stored in memory included with a remote component that,
when executed, perform operations consistent with the disclosed
embodiments. In certain aspects, AC server 430 may include server
software that generates, maintains, and provides services
associated with decisioning in the financial industry. In other
aspects, AC server 430 may connect separate server(s) or similar
computing devices that generate, maintain, and provide decisioning
services associated with financial data for a financial service
provider associated with AC server 430.
[0034] System 400 may further include one or more user devices 410.
A user may operate a user device 410, which may be a desktop
computer, laptop, tablet, smartphone, multifunctional watch, pair
of multifunctional glasses, tracking device, or any suitable device
with computing capability. User device 410 may include one or more
processor(s) and memory device(s) known to those skilled in the
art. For example, user device 410 may include memory device(s) that
store data and software instructions that, when executed by one or
more processor(s), perform operations consistent with the disclosed
embodiments. In one aspect, user device 410 may have a financial
application installed thereon, which may enable user device 410 to
communicate with FSP device 420 via communication network 440. For
instance, user device 410 may be a smartphone or tablet (or the
like) that executes a stored mobile app that performs online
banking operations. In other embodiments, user device 410 may
connect to FSP device 420 through use of browser software stored
and executed by user device 410. User device 410 may be configured
to execute software instructions that allow a user to access
information stored in FSP 420, such as, for example, financial
information related to recent purchase transactions, financial
discounts, financial statements, account information, rewards
program information, credit and loan services, and the like.
Additionally, user device 410 may be configured to execute software
instructions that initiate and conduct transactions with FSP device
420, such as, for example, ATM withdrawals, wire transfers, debit
card PIN resets, call center transactions, or any other activity
that implications financial decisioning. An exemplary computer
system consistent with user device 410 is discussed in additional
detail with respect to FIG. 5.
[0035] A user may operate user device 410 to perform one or more
operations consistent with the disclosed embodiments. In one
aspect, a user may be a customer of financial service provider
corresponding to FSP device 420. For instance, a financial service
provider may maintain a financial service account (e.g., checking
account, savings account, debit card account, or credit card
account) for the user that the user may use to purchase goods
and/or services, thereby implicating financial decisioning
associated with authorizing transaction request. Additionally or
alternatively, the user may use user device 410 and the financial
service account (for example, through a mobile application
installed on user device 410) to withdraw cash from an ATM, contact
a customer call center, transfer or wire money, reset their debit
account PIN, or any other activity that implications financial
decisioning, such as whether the activity may be fraudulent (e.g.,
fraud detection).
[0036] Network 440 may comprise any type of computer networking
arrangement used to exchange data. For example, network 440 may be
the Internet, a private data network, a virtual private network
using a public network, a WiFi network, a LAN or WAN network,
and/or other suitable connections that may enable information
exchange among various components of the system 400. Network 440
may also include a public switched telephone network ("PSTN")
and/or a wireless cellular network. Network 440 may be a secured
network or unsecured network. In other embodiments, one or more
components of system 400 may communicate directly through a
dedicated communication link(s), such as links between user device
410, financial service provider device 420, and AC server 430.
[0037] Other components known to one of ordinary skill in the art
may be included in system 400 to process, transmit, provide, and
receive information consistent with the disclosed embodiments. In
addition, although not shown in FIG. 4, components of system 400
may communicate with each other through direct communications.
Direct communications may use any suitable technologies, including,
for example, wired technologies (e.g., Ethernet, PSTN, etc.),
wireless technologies (e.g., Bluetooth.TM., Bluetooth LE.TM., WiFi,
near field communications (NFC), etc.), or any other suitable
communication methods that provide a medium for transmitting data
between separate devices.
[0038] FIG. 5 shows a diagram of an exemplary computing system 500
illustrating a computing system configuration that may be
associated with FSP device 420, AC server 430, and/or user device
410, consistent with disclosed embodiments. In one embodiment,
computing system 500 may have one or more processors 510, one or
more memories 530, and one or more input/output (I/O) devices 520.
In some embodiments, computing system 500 may take the form of a
server, general-purpose computer, a mainframe computer, laptop,
smartphone, mobile device, or any combination of these components.
In certain embodiments, computing system 500 (or a system including
computing system 500) may be configured as a particular apparatus,
system, and the like based on the storage, execution, and/or
implementation of the software instructions that perform one or
more operations consistent with the disclosed embodiments.
Computing system 500 may be standalone, or it may be part of a
subsystem, which may be part of a larger system.
[0039] Processor 510 may include one or more known processing
devices, such as a microprocessor from the Pentium.TM. or Xeon.TM.
family manufactured by Intel.TM., the Turion.TM. family
manufactured by AMD.TM., or any of various processors manufactured
by Sun Microsystems. Processor 510 may constitute a single core or
multiple core processor that executes parallel processes
simultaneously. For example, processor 510 may be a single core
processor configured with virtual processing technologies. In
certain embodiments, processor 510 may use logical processors to
simultaneously execute and control multiple processes. Processor
510 may implement virtual machine technologies, or other known
technologies to provide the ability to execute, control, run,
manipulate, store, etc. multiple software processes, applications,
programs, etc. In another embodiment, processor 510 may include a
multiple-core processor arrangement (e.g., dual, quad core, etc.)
configured to provide parallel processing functionalities to allow
computing system 500 to execute multiple processes simultaneously.
One of ordinary skill in the art would understand that other types
of processor arrangements could be implemented that provide for the
capabilities disclosed herein. The disclosed embodiments are not
limited to any type of processor(s) configured in computing system
500.
[0040] Memory 530 may include one or more storage devices
configured to store instructions used by processor 510 to perform
functions related to the disclosed embodiments. For example, memory
530 may be configured with one or more software instructions, such
as program(s) 536 that may perform one or more operations when
executed by processor 510. The disclosed embodiments are not
limited to separate programs or computers configured to perform
dedicated tasks. For example, memory 530 may include a program 536
that performs the functions of computing system 500, or program 536
could comprise multiple programs. Additionally, processor 510 may
execute one or more programs located remotely from computing system
500. For example, FSP device 420, AC server 430, or user device
410, may, via computing system 500 (or variants thereof), access
one or more remote programs that, when executed, perform functions
related to certain disclosed embodiments. Processor 510 may further
execute one or more programs located in database 540. In some
embodiments, programs 536 may be stored in an external storage
device, such as a cloud server located outside of computing system
500, and processor 510 may execute programs 536 remotely.
[0041] Programs executed by processor 510 may cause processor 510
to execute one or more processes related to standardized coding and
deployment of common attributes across multiple financial
decisioning systems and production environments. Programs executed
by processor 510 may further cause processor 510 to execute one or
more processes related to computerized decisioning in the financial
services industry. Programs executed by processor 510 may also
cause processor 510 to execute one or more processes related to
financial services provided to users including, but not limited to,
processing credit and debit card transactions, checking
transactions, fund deposits and withdrawals, transferring money
between financial accounts, lending loans, processing payments for
credit card and loan accounts, processing ATM cash withdrawals, or
any other activity that implications financial decisioning.
[0042] Memory 530 may also store data that may reflect any type of
information in any format that the system may use to perform
operations consistent with the disclosed embodiments. Memory 530
may store instructions to enable processor 510 to execute one or
more applications, such as server applications, an attribute
calculation application, network communication processes, and any
other type of application or software. Alternatively, the
instructions, application programs, etc., may be stored in an
external storage (not shown) in communication with computing system
500 via communication network 540 or any other suitable network.
Memory 530 may be a volatile or non-volatile, magnetic,
semiconductor, tape, optical, removable, non-removable, or other
type of storage device or tangible (e.g., non-transitory)
computer-readable medium.
[0043] Memory 530 may include attribute data and/or code 532.
Attribute data and/or code 532 may include information, or program
code to generate information, related to one or more attributes
configured to assist in financial decision-making. In one example,
a credit attribute may be a calculation that summarizes raw credit
data for an individual into one value that can be leveraged for
credit decisioning. As discussed above, a simple example of a
credit attribute may be a number of credit trades where if an
individual had three credit cards, one mortgage, one student loan,
and two auto trades, the summarized attribute number of credit
trades may be "7." Thus, in some embodiments, systems consistent
with disclosed embodiments may conduct credit decisioning based on
the credit attribute. For example, systems consistent with
disclosed embodiments may only automatically approve a credit
application if the summarized attribute number of credit trades is
below a threshold value. Accordingly, in the above example, systems
consistent with disclosed embodiments may decide not to
automatically approve a credit application for the individual
associated with the attribute number of credit trades of "7" where
the corresponding threshold is "6" or lower. As discussed above, an
attribute may comprise complex summarizations due to, for example
in the context of credit decisioning, the amount of information
available to the financial institution from different credit data
sources. Thus, systems consistent with disclosed embodiments may
conduct decisioning based on any number criteria, standards,
benchmarks, etc. beyond that of thresholds. Additionally or
alternatively, attribute data and/or code 532 may be stored in
database 540 or in an external storage (not shown) in communication
with computing system 500 via network 540 or any other suitable
network.
[0044] Memory 530 may further include input data 534. Input data
534 may include information used to calculate attributes using the
attribute code 532. For example, input data 534 may include
clients' account information, debit or credit card information,
history of purchase transactions, financial statements, credit
score, risk profile, username and password, debit card PIN, home
and work locations, and/or biometric information. In some
embodiments, database 540 may further provide input data to FSP
device 420 or AC server 430, or may permit FSP device 420 or AC
server 430 to access input data stored in database 540 for purposes
of calculating or analyzing an attribute. Database 540 may provide
this information to FSP device 420 or AC server 430 via network
440. Alternatively, FSP device 420 or AC server 430 may access the
input data stored in database 540 via network 440. Processor 510
may analyze input data 534, using the attribute data and/or code
532 to calculate attribute values.
[0045] I/O devices 520 may be one or more device that is configured
to allow data to be received and/or transmitted by computing system
500. I/O devices 520 may include one or more digital and/or analog
communication devices that allow computing system 500 to
communicate with other machines and devices, such as other
components of system 400 shown in FIG. 4. For example, computing
system 500 may include interface components, which may provide
interfaces to one or more input devices, such as one or more
keyboards, mouse devices, and the like, which may enable computing
system 500 to receive input from an operator of FSP device 420 (not
shown).
[0046] Computing system 500 may also comprise one or more
database(s) 540. Alternatively, computing system 500 may be
communicatively connected to one or more database(s) 540. Computing
system 500 may be communicatively connected to database(s) 540
through network 440. Database 540 may include one or more memory
devices that store information and are accessed and/or managed
through computing system 500. By way of example, database(s) 540
may include Oracle.TM. databases, Sybase.TM. databases, or other
relational databases or non-relational databases, such as Hadoop
sequence files, HBase, or Cassandra. The databases or other files
may include, for example, data and information related to the
source and destination of a network request, the data contained in
the request, etc. Systems and methods of disclosed embodiments,
however, are not limited to separate databases. Database 540 may
include computing components (e.g., database management system,
database server, etc.) configured to receive and process requests
for data stored in memory devices of database(s) 240 and to provide
data from database 540.
[0047] As discussed above, FSP device 420 may include at least one
computing system 500. Further, although sometimes discussed here in
relation to FSP 500, it should be understood that variations of
computing system 500 may be employed by other components of system
400, including AC server 430 and user device 410. Computing system
500 may be a single server or may be configured as a distributed
computer system including multiple servers or computers that
interoperate to perform one or more of the processes and
functionalities associated with the disclosed embodiments.
[0048] FIGS. 6A-B are flowcharts of an exemplary process 600 for
processing financial service requests using standardized
attributes, consistent with disclosed embodiments. With reference
to FIG. 6A, at step 605, FSP device 420 may receive a financial
service request. The financial request may be from a consumer,
e.g., originating at a device such as user device 410. The request
could correspond to any financial service, including a credit
application, an account opening or closing request, a transaction
request (e.g., deposit, withdrawal), a card transaction
authorization message (e.g., as part of a credit or debit
transaction), a request related to managing an investment asset or
asset portfolio, etc. At step 610, FSP device 420 may identify one
or more decisioning systems to be used for processing the request.
For example, different decisioning systems may be used for
marketing services, account opening services, account management
services, or other actions of a financial institution. Depending on
the type of request, the appropriate decisioning system may be
engaged to process the request.
[0049] At step 615, the FSP device 420 may identify the data
associated with processing the request using the selected
decisioning system(s). For example, FSP device 420 may identify a
stored a lookup table including a list of variable names required
as input to the decisioning system being utilized. In some
embodiments, one or more variable names may correspond to
attributes. As an example, FSP device 420 may identify, access, and
provide credit decisioning systems selected based on received loan
request with a credit attribute configured to summarize raw credit
data for an individual. It is to be understood that an attribute
may depend on varied input, such as any financial data, personal
data, aggregate data, regulatory inputs, company policies, etc.
[0050] Thus, in some embodiments, FSP device 420 may identify that
one or more variables associated with processing the request may be
an attribute that should become provided to an attribute
calculation service. At step 620, FSP device may initiate an
attribute calculation service for calculating one or more attribute
values corresponding to the variables associated with processing
the request. In some embodiments, the attribute calculation service
may be a process that is executing locally on FSP device 420. In
such embodiments, FSP device 420 may create (or wake up) an
attribute calculation process and provide the input data to that
process for calculating the attributes for the selected decisioning
system(s). In alternate embodiments, the attribute calculation
service may execute remotely on AC server 430. In such embodiments,
FSP device 420 may create and send a remote procedure call, such as
an application programming interface (API) call to AC server 430.
For example, FSP device 420 may use a standard HTTP, POST, or GET
message to send the API call, and may include input variables in
the message body in extensible markup language (XML) format. In
response, AC server 430 may instantiate an attribute calculation
process and provide the input data to that process for calculating
the attributes for the decisioning system.
[0051] In some embodiments, the same attribute calculation service
may be used for calculating attributes, regardless of the
decisioning system used to process the financial service request or
the type or nature of the financial service request. In some
embodiments, the attribute calculation service may be hosted at a
central server, such that any changes to the attribute calculation
effected at the central server may automatically and simultaneously
propagated to all decisioning systems for all types of financial
service requests. In some embodiments, the system may have in place
an update system that automatically updates all computing systems
that provide attribute calculation services, so that all attribute
calculation services operate using the same attribute models to
provide uniform, consistent results.
[0052] With reference to FIG. 6B, at step 625, FSP device 420 may
receive the calculated attribute data from the attribute
calculation service. At step 630, using the attribute data, the
decisioning system at FSP device 420 may perform decisioning to
process the financial service request. And at step 635, FSP device
420 may respond to the financial service request based on the
results of the selected decisioning system(s).
[0053] In some examples, some or all of the logic for the
above-described techniques may be implemented as a computer program
or application or as a plug in module or sub component of another
application. The described techniques may be varied and are not
limited to the examples or descriptions provided.
[0054] Moreover, while illustrative embodiments have been described
herein, the scope thereof includes any and all embodiments having
equivalent elements, modifications, omissions, combinations (e.g.,
of aspects across various embodiments), adaptations and/or
alterations as would be appreciated by those in the art based on
the present disclosure. For example, the number and orientation of
components shown in the exemplary systems may be modified. Further,
with respect to the exemplary methods illustrated in the attached
drawings, the order and sequence of steps may be modified, and
steps may be added or deleted.
[0055] Thus, the foregoing description has been presented for
purposes of illustration. It is not exhaustive and is not limiting
to the precise forms or embodiments disclosed. Modifications and
adaptations will be apparent to those skilled in the art from
consideration of the specification and practice of the disclosed
embodiments. For example, while a financial service provider has
been referred to herein for ease of discussion, it is to be
understood that consistent with disclosed embodiments another
entity may provide such services in conjunction with or separate
from a financial service provider.
[0056] The claims are to be interpreted broadly based on the
language employed in the claims and not limited to examples
described in the present specification, which examples are to be
construed as non-exclusive. Further, the steps of the disclosed
methods may be modified in any manner, including by reordering
steps and/or inserting or deleting steps.
[0057] Furthermore, although aspects of the disclosed embodiments
are described as being associated with data stored in memory and
other tangible computer-readable storage mediums, one skilled in
the art will appreciate that these aspects can also be stored on
and executed from many types of tangible computer-readable media,
such as secondary storage devices, like hard disks, floppy disks,
or CD-ROM, or other forms of RAM or ROM. Accordingly, the disclosed
embodiments are not limited to the above described examples, but
instead is defined by the appended claims in light of their full
scope of equivalents.
* * * * *