U.S. patent number 11,276,120 [Application Number 15/707,722] was granted by the patent office on 2022-03-15 for dashboard interface, platform, and environment for matching subscribers with subscription providers and presenting enhanced subscription provider performance metrics.
This patent grant is currently assigned to AON GLOBAL OPERATIONS SE, SINGAPORE BRANCH. The grantee listed for this patent is AON GLOBAL OPERATIONS SE, SINGAPORE BRANCH. Invention is credited to Stephen W Cross, Stephen P McGill, Gregory Wingate-Whyte.
United States Patent |
11,276,120 |
Wingate-Whyte , et
al. |
March 15, 2022 |
Dashboard interface, platform, and environment for matching
subscribers with subscription providers and presenting enhanced
subscription provider performance metrics
Abstract
Systems and methods for matching subscribers with subscription
providers include gathering, via a network from one or more remote
computing systems, claims data, performance data, and service data
regarding a number of providers; determining, by processing
circuitry of a computing device based on the claims data, the
performance data, and the p service data, one or more provider
metrics for each provider of the number of providers; calculating,
by the processing circuitry based on the one or more provider
metrics, one or more relationships between a number of subscribers
and each provider of the plurality of providers; and ranking, by
the processing circuitry, the number of providers based at least on
part on the one or more relationships.
Inventors: |
Wingate-Whyte; Gregory (London,
GB), McGill; Stephen P (Ware, GB), Cross;
Stephen W (Dublin, IE) |
Applicant: |
Name |
City |
State |
Country |
Type |
AON GLOBAL OPERATIONS SE, SINGAPORE BRANCH |
Singapore |
N/A |
SG |
|
|
Assignee: |
AON GLOBAL OPERATIONS SE, SINGAPORE
BRANCH (Singapore, SG)
|
Family
ID: |
58778101 |
Appl.
No.: |
15/707,722 |
Filed: |
September 18, 2017 |
Prior Publication Data
|
|
|
|
Document
Identifier |
Publication Date |
|
US 20180137574 A1 |
May 17, 2018 |
|
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
14977408 |
Dec 21, 2015 |
9786013 |
|
|
|
62261241 |
Nov 30, 2015 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q
40/08 (20130101); G06Q 30/0629 (20130101); G06Q
30/0631 (20130101); G06Q 30/0282 (20130101); G06Q
20/405 (20130101); G06Q 20/4016 (20130101) |
Current International
Class: |
G06Q
40/08 (20120101); G06Q 30/02 (20120101); G06Q
30/06 (20120101); G06Q 20/40 (20120101) |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
|
|
|
|
|
|
|
3384453 |
|
Oct 2018 |
|
EP |
|
2017093802 |
|
Jun 2017 |
|
WO |
|
Other References
"Willis Launches Global Insurance Placement Tool", Insurance
Journal, Dec. 13, 2011. (Year: 2011). cited by examiner .
International Search Report and Written Opinion for International
Application No. PCT/IB2016/001834 dated May 4, 2017. cited by
applicant .
Non-Final Office Action issued in U.S. Appl. No. 14/977,408 dated
May 25, 2016. cited by applicant .
Final Office Action issued in U.S. Appl. No. 14/977,408 dated Jan.
20, 2017. cited by applicant .
Notice of Allowance mailed in U.S. Appl. No. 14/977,408 dated Aug.
7, 2017. cited by applicant .
International Preliminary Report on Patentability issued in PCT
Application No. PCT/IB2016/001834 dated Jun. 5, 2018. cited by
applicant .
Examination Report issued in EP Application No. 16843224.3 dated
Mar. 25, 2020. cited by applicant.
|
Primary Examiner: Wong; Eric T
Attorney, Agent or Firm: Gardella Grace P.A.
Parent Case Text
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. application Ser. No.
14/977,408, filed Dec. 21, 2015, which claims priority to U.S.
Provisional Application No. 62/261,241 entitled "Dashboard
Interface, Platform, and Environment for Matching Subscribers with
Subscription Providers and Presenting Enhanced Subscription
Provider Performance Metrics" and filed on Nov. 30, 2015, the
entire contents of which are hereby incorporated by reference.
Claims
The invention claimed is:
1. A system comprising: one or more processors; a non-transitory
computer readable data repository; and a non-transitory computer
readable memory storing executable instructions that when executed
by the one or more processors causes the one or more processors to
perform the operations of: receiving, by a data management engine,
from a remote data source, data records corresponding to a
plurality of providers, storing, by the data management engine, in
the data repository: a sparse data matrix comprising a plurality of
entries, each entry corresponding to a) a particular combination of
a plurality of categorical groupings, b) a particular provider
attribute, and c) a particular provider of the plurality of
providers, wherein the sparse data matrix comprises a plurality of
unpopulated entries, each unpopulated entry representing a lack of
information in the data records for a corresponding combination of
provider, categorical grouping, and attribute, and a dense data
matrix comprising a same total number of entries as the sparse data
matrix, updating, by a data extraction engine, a plurality of
metrics for each provider of the plurality of providers within the
sparse data matrix using information in the data records, wherein
each metric of the plurality of metrics corresponds to at least one
provider attribute of a plurality of provider attributes, and
updating the plurality of metrics comprises, for each of a first
portion of the plurality of entries, combining, by the data
extraction engine, data values from the data records to determine a
corresponding metric for a respective entry of the first portion of
the plurality of entries, confirming, by the data extraction
engine, the data records comprises a threshold quantity or range of
data values corresponding to the respective entry, and absent the
threshold quantity or range of data values, flagging, by the data
extraction engine, the respective entry as containing insufficient
data, updating, by a density logic engine, the dense data matrix
using the updated sparse data matrix, wherein updating the dense
data matrix comprises, for each unpopulated entry of the plurality
of unpopulated entries of the sparse data matrix, identifying, by
the density logic engine, one or more populated entries correlating
to the respective entry of the plurality of unpopulated entries,
discarding, by the density logic engine, any entry of the one or
more populated entries flagged as containing insufficient data, and
populating, by the density logic engine based on an amount of
correlation between the respective unpopulated entry and remaining
entries of the one or more populated entries, a corresponding entry
in the dense data matrix, receiving, by a dashboard GUI engine,
from a user of a remote computing device, a request for a provider
recommendation, and responsive to the request, in real time,
determining, by a ranking engine, a plurality of risk preferences
corresponding to the user, each risk preference of the plurality of
risk preferences corresponding to a respective provider attribute
of the plurality of provider attributes, weighting, by the ranking
engine, each entry of the one or more populated entries of the
dense data matrix according to a set of weighting factors, wherein
the weighting of each entry of the one or more populated entries is
based at least in part on the plurality of risk preferences,
calculating, by the ranking engine, using the dense data matrix, a
plurality of compatibility metrics corresponding to at least a
portion of the plurality of providers, wherein each compatibility
metric represents compatibility between the respective provider of
the plurality of providers and the user for fulfillment of a type
of transaction based on the plurality of risk preferences, and
identifying, by the ranking engine, based upon the plurality of
compatibility metrics, at least two providers of the plurality of
providers as top-rated providers, and presenting, by the dashboard
GUI engine, in real time to the user via the remote computing
device, a graphical user interface providing identification of the
top-rated providers.
2. The system of claim 1, wherein each grouping of the plurality of
categorical groupings represents at least one of a particular
geographic region of a plurality of geographic regions and a
particular product of a plurality of products.
3. The system of claim 1, wherein: the data records comprise a
plurality of data entries collected over time; and updating the
plurality of metrics comprises, for each of the portions of the
plurality of entries, confirming a threshold timeframe of data is
available in the data records for the respective entry of the
plurality of entries, and absent the threshold timeframe of data,
flagging the respective entry as containing insufficient data.
4. The system of claim 1, wherein: the data records include survey
data corresponding to each of the plurality of providers; and
updating the plurality of metrics comprises, for each of the
portions of the plurality of entries, combining survey values from
the survey data to determine a corresponding metric for a
respective entry of the first portion of the plurality of entries,
confirming the survey data comprises a threshold number of values
corresponding to the respective entry, and absent the threshold
number of values, flagging the respective entry as containing
insufficient data.
5. The system of claim 1, wherein the dashboard GUI engine is
further configured to cause presentation, to the user at the remote
computing device, of a second graphical user interface for
collecting the plurality of risk preferences from the user, the
second graphical user interface including indication of a suggested
risk preference value.
6. The system of claim 5, wherein the suggested risk preference
value represents a combined risk preference value of a subscriber
peer group of the user.
7. The system of claim 5, wherein collecting the plurality of risk
preferences comprises providing a plurality of controls for
indication, by the user, of relative importance of each of the
plurality of risk preferences.
8. The system of claim 2, wherein the type of transaction relates
to at least one of i) a particular product of the plurality of
products and ii) a particular geographic region of the plurality of
geographic regions.
9. The system of claim 1, wherein the ranking engine ranks the
top-rated providers.
10. The system of claim 1, wherein populating the corresponding
entry in the dense data matrix comprises: aggregating a plurality
of data values of the sparse data matrix, each of the plurality of
data values corresponding to a respective lower categorical
grouping of the plurality of categorical groupings to infer a data
value for a higher categorical grouping of the plurality of
categorical groupings, wherein a category of the higher categorical
grouping encompasses the lower categorical grouping of each of the
plurality of data values.
11. The system of claim 10, wherein aggregating the plurality of
data values comprises applying weightings to each of the plurality
of data values, wherein each respective weighting reflects a
relative strength of the respective data value.
12. A method comprising: receiving, by processing circuitry from a
remote data source, data records corresponding to a plurality of
providers; updating, by the processing circuitry, a plurality of
metrics for each provider of the plurality of providers within a
sparse data matrix using information in the data records, wherein
the sparse data matrix comprises: a plurality of entries, each
entry corresponding to a) a particular combination of a plurality
of categorical groupings, b) a particular provider attribute, and
c) a particular provider of the plurality of providers, and a
plurality of unpopulated entries, each unpopulated entry
representing a lack of information in the data records for a
corresponding combination of provider, categorical grouping, and
attribute, and each metric of the plurality of metrics corresponds
to at least one provider attribute of a plurality of provider
attributes; confirming, by the processing circuitry, data integrity
of at least one of the sparse data matrix and the dense data
matrix, wherein confirming the data integrity comprises, for each
of a first a portion of the plurality of entries of the respective
data matrix of the at least one of the sparse data matrix and the
dense data matrix, identifying new data derived from one or more
data values from the data records for a respective entry of the
first portion of the plurality of entries, confirming a difference
between the new data and preexisting data associated with the
respective entry does not exceed a threshold change, and after
identifying exceedance of the threshold change, flagging the
respective entry as containing potentially invalid data; updating,
by the processing circuitry, the dense data matrix using the
updated sparse data matrix, wherein the dense data matrix comprises
a same total number of entries as the sparse data matrix, and
updating the dense data matrix comprises, for each unpopulated
entry of the plurality of unpopulated entries of the sparse data
matrix, identifying one or more populated entries correlating to
the respective entry of the plurality of unpopulated entries, and
populating, based on an amount of correlation between the
respective unpopulated entry and remaining entries of the one or
more populated entries, a corresponding entry in the dense data
matrix; receiving, by the processing circuitry from a user of a
remote computing device, a request for a provider recommendation;
responsive to the request, by the processing circuitry in real
time, determining a plurality of risk preferences corresponding to
the user, each risk preference of the plurality of risk preferences
corresponding to a respective provider attribute of the plurality
of provider attributes, weighting each entry of the one or more
populated entries of the dense data matrix according to a set of
weighting factors, wherein the weighting of each entry of the one
or more populated entries is based at least in part on the
plurality of risk values preferences, after weighting, using the
dense data matrix to calculate a plurality of compatibility metrics
corresponding to at least a portion of the plurality of providers,
wherein each compatibility metric represents compatibility between
the respective provider of the plurality of providers and the user
for fulfillment of a type of transaction based on the plurality of
risk preferences, and identifying, based upon the plurality of
compatibility metrics, at least two providers of the plurality of
providers as top-rated providers; and causing presentation, in real
time to the user via the remote computing device, of a graphical
user interface providing identification of the top-rated
providers.
13. The method of claim 12, wherein flagging the respective entry
as containing potentially invalid data comprises triggering a
manual review of data values associated with the respective
entry.
14. The method of claim 12, wherein confirming a difference between
the new data and the preexisting data associated with the
respective entry does not exceed the threshold change comprises
applying one or more trend rules to the new data and the
preexisting data.
15. The method of claim 12, further comprising: automatically
determining, by the processing circuitry, whether a rationale
exists for the exceedance of the threshold change, wherein flagging
the respective entry as containing potentially invalid data
comprises flagging the respective entry responsive to failing to
determine the rationale.
16. The method of claim 12, further comprising releasing, by the
processing circuitry, the dense data matrix for use in identifying
the at least two providers after ensuring no entry of the plurality
of entries of the dense data matrix is flagged as containing
potentially invalid data.
17. The method of claim 12, further comprising, prior to causing
presentation of the graphical user interface: determining, by the
processing circuitry, the top-rated providers do not include an
incumbent provider; wherein causing presentation of the graphical
user interface comprises causing presentation of the incumbent
provider, wherein the incumbent provider is highlighted in the
graphical user interface as failing to match the plurality of risk
preferences.
18. The method of claim 17, wherein highlighting the incumbent
provider as failing to match the plurality of risk preferences
comprises presenting at least one risk factor variance contributing
to the incumbent provider failing to match the plurality of risk
preferences.
19. The method of claim 12, wherein populating the corresponding
entry in the dense data matrix comprises flagging the corresponding
entry as containing an inferred or inherited data value.
20. The system of claim 19, wherein causing presentation of the
graphical user interface comprises alerting the user to any of the
top-rated providers which were identified based in part upon
inferred or inherited data values.
Description
SUMMARY OF ILLUSTRATIVE EMBODIMENTS
The implementations described herein are directed toward a
subscriber-provider matching system and environment that
incorporates customer feedback into determinations of compatibility
between providers and subscribers. The subscriber-provider matching
system and environment may also perform real-time processing of
data from multiple data sources that are received at various update
frequencies in order to adaptively and predictively update metrics
associated with the providers. Subscribers may be provided with the
ability to select providers based on scores and rankings determined
in real-time that correspond to an amount of compatibility between
attributes of the providers and risk preferences of the
subscribers. Participants, such as the subscribers, providers, and
intermediate participants can interact with the subscriber-provider
matching system and environment via one or more graphical user
interfaces where the participants can input survey data,
preferences, and feedback. The participants can also view provider
rankings, performance metrics, and comparison data via the
graphical user interface screens on external devices.
BRIEF DESCRIPTION OF THE FIGURES
FIG. 1 is a diagram of an example environment for a
subscriber-provider matching system;
FIG. 2 is a flowchart of a subscriber-provider matching
process;
FIG. 3 is a flowchart of a method for preparing data for use in a
subscriber-provider matching system;
FIG. 4 is a diagram of an exemplary sparse matrix;
FIG. 5 is a flowchart of a method for constructing a dense data
matrix for use in a subscriber-provider matching system;
FIGS. 6A and 6B are flowcharts of a method for simulating sparsity
in a dense matrix;
FIG. 7 is a flowchart of a method for evaluating simulation tests
performed against a dense data matrix;
FIG. 8 is a diagram of an exemplary dense matrix;
FIG. 9A is a flowchart of a method for matching subscription
providers to a subscriber based upon user preferences;
FIG. 9B is a block diagram of exemplary weighting categories for
matching subscription providers to subscribers;
FIG. 10 is a diagram of an exemplary test harness report;
FIGS. 11 through 15 illustrate screenshots of user interface
screens;
FIGS. 16A and 16B illustrate various aspects of an exemplary
architecture implementing a platform for automated matching of
subscribers and providers;
FIGS. 16C and 16D illustrate an example server interface for
connecting user computing devices within a platform for automated
matching of subscribers and providers.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
FIG. 1 is a diagram of an example environment 100 for a
subscriber-provider matching system 108. The diagram illustrates a
series of interactions between one or more participants and the
subscriber-provider matching system 108 which determines
connections between providers such as insurance and/or reinsurance
providers 104 and subscribers that include one or more subscribers
102 that receive products and/or services from the providers 104
such as insurance protection. In one implementation, the
subscriber-provider matching system 108 determines rankings for the
providers 104 with respect to subscribers 102 based on identified
relationships and commonalties between the products and/or services
offered by the providers 104 and needs of the subscribers 102. For
example, the subscriber-provider matching system 108 can identify
the providers 104 that are most relevant to specific needs of the
subscribers 102 that can include product segment, region, or speed
of claim payment.
In certain embodiments, the subscriber-provider matching system 108
categorizes the specific needs and/or risks of the subscribers 102
into one or more categories, such as amount of protection,
geographic footprint, speed and capability to provide claims
payment, and overall performance and ranks the providers 104 in
light of the categorized needs of the subscribers 102. The
subscriber-provider system 108 also receives real-time feedback of
market performance as well as client and carrier feedback, which is
used to update metrics associated with determining rankings of the
providers 104. The subscriber-provider matching system 108 can also
use survey inputs from intermediate participants, such as
intermediate participants 106, to further refine the carrier
rankings.
The subscribers 102 include a plurality of computing devices and
databases distributed across a widely dispersed network that may be
distributed across a large, international geographic area. The
customer network can be separate and independent from any network
associated with any other participant in the subscriber-provider
matching environment 100, such as the intermediate participants 106
or providers 104. In addition, the data handled and stored by the
subscribers 102 may be in a different format than the data handled
and stored by the other participants of in the subscriber-provider
environment 100. The subscribers 102 provide inputs to the
subscriber-provider matching system 108 that may include global
risk management surveys (GRMSs) 152 that may provide feedback to
the subscriber-provider management system 108 regarding performance
of one or more providers 104. The data provided to the
subscriber-provider matching system 108 from the subscribers 102
may be independent from the other participants and in a different
format than the data provided by the intermediate participants 106
and providers 104.
The providers 104 include a plurality of computing devices and
databases distributed across a widely dispersed network that may be
distributed across a large, international geographic area. The
provider network can be separate and independent from any network
associated with any other participant in the subscriber-provider
matching environment 100, such as the intermediate participants 106
or subscribers 102. In addition, the data handled and stored by the
providers 104 may be in a different format than the data handled
and stored by the other participants of in the subscriber-provider
environment 100. The providers 104 provide inputs to the
subscriber-provider matching system 108 that may include claims
survey 154 results that can include a rating associated with ease
of subscriber-provider interaction, industry segment served, trends
in types of claims processed by the providers 104. The data
provided to the subscriber-provider matching system 108 from the
providers 104 may be independent from the other participants and in
a different format than the data provided by the intermediate
participants 106 and subscribers 102. In addition, the providers
104 can receive data outputs from the subscriber-provider matching
system 108 with respect to how the providers 104 were ranked with
respect to a particular subscriber 102.
The intermediate participants 106 include a plurality of computing
devices and databases distributed across a widely dispersed network
that may be distributed across a large, international geographic
area. The intermediate participant network can be separate and
independent from any network associated with any other participant
in the subscriber-provider matching environment 100, such as the
subscribers 102 or providers 104. In addition, the data handled and
stored by the intermediate participants 106 may be in a different
format than the data handled and stored by the other participants
of in the subscriber-provider environment 100. The intermediate
participants 106 provide inputs to the subscriber-provider matching
system 108 that may include broker surveys 128 that may provide
feedback to the subscriber-provider management system 108 regarding
performance of one or more providers 104. The data provided to the
subscriber-provider matching system 108 from the intermediate
participants 106 may be independent from the other participants and
in a different format than the data provided by the subscribers 102
or providers 104.
The subscriber-provider matching system 108 includes one or more
engines or modules that perform processes associated with matching
and ranking the providers 104 based on risks and/or needs of the
subscribers 102. References to the engines or modules throughout
the disclosure are meant to refer to software processes executed by
circuitry of one or more processing circuits, which can also be
referred to interchangeably as processing circuitry. In one
example, a user management engine 130 includes one or more
processes associated with providing an interface to interact with
one or more users (e.g., individuals employed by or otherwise
associated with the providers 104, subscribers 102, and/or
intermediate participants 106) within the subscriber-provider
environment 100. The processes performed by the engines of the
subscriber-provider matching system 108 can be executed in
real-time in order to provide an immediate response to a system
input. In addition, the processes can also be performed
automatically in response to a process trigger that can include the
reception of data from a data repository, a participant, or another
processing engine. For example, the user management engine 130 can
control connection and access to the subscriber-provider matching
system 108 by the providers 104, subscribers 102, and intermediate
participants 106 via authentication interfaces at one or more
external devices 158 of the providers 104, subscribers 102, and
intermediate participants 106.
The subscriber-provider matching system 108 also includes a data
mining/collection engine 136 that controls the gathering of survey
data from the providers 104, subscribers 102, and intermediate
participants 106 as well as the collection of real-time market
security data 150 and billing data 126. In some implementations,
the data mining/collection engine 136 receives data from one or
more sources that may have an effect on relationships between the
subscribers 102 and providers 104 and provider selections made by
the subscribers 102. For example, the data mining/collection engine
136 can receive automatically and/or continuously updated data
associated with market securities, billing data, or insurance rate
data. In addition, the data mining/collection engine 136 can
perform web crawling processes to access the updated data from one
or more websites associated with market securities and other
insurance data. In addition, the data mining/collection engine 136
can receive manually entered information from the participants in
the subscriber-provider matching environment 100, such as broker
surveys 128, global risk management surveys (GRMSs) 152, claims
surveys 154, and customer input data 156. In some implementations,
the data mining/collection engine 136 monitors claims settlement
processing systems and automatically outputs a customer survey
request to the external devices 158 of the subscribers 102 for each
claims settlement that occurs.
In addition, the data mining/collection engine 136 can provide an
interface between the subscriber-provider matching system 108 and
other systems associated with monitoring or managing interactions
between subscribers 102, providers 104, and other market entities.
For example, the other systems can include the claims settlement
processing system where the providers 104 interact with subscribers
102 to process claim, a system where the brokers 106 purchase
services and/or products from the providers 104 on behalf of the
subscribers 102, or a data analytics system that processes market
data and transactional data to determine trends and statistics
associated with the subscribers 102, providers 104, and
intermediate participants 106.
In addition, the subscriber-provider matching system 108 includes a
data management engine 142 that organizes the survey data received
by the subscriber-provider matching system 108 and also controls
data handling during execution of the processes associated with
determining customized ratings of the providers 104 based on
predetermined criteria, such as needs and/or risk preferences of
the subscribers 102. In some implementations, the data management
engine 142 processes the data received by the data
mining/collection engine 136 and loads received data files to a
data lake 116, which can be a database of data files received from
the one or more data sources. The data management engine 142 can
determine relationships between the data in the data lake 116. For
example, the data management engine 142 can link survey data 128,
152, 154, billing data 126, and market security data 150 that
include information regarding corresponding providers 104,
products, segments, or regions. In addition, the data management
engine 142 may perform a data validation/normalization process to
configure the received data into a predetermined format compatible
with a format of the files within the data lake 116. For example,
the data management engine 142 processes the broker surveys 128,
GRMSs 152, and claims surveys 154 to determine a format, size, and
whether responses to one or more questions of the surveys are
answered or unanswered.
The data management engine 142 also controls the interaction of the
subscriber-provider matching system 108 with one or more data
repositories associated with the subscriber-provider matching
environment 100. For example, the data management engine 142 can
output automatically updated data to an auto load data repository
112 and manually updated data to a manual load data repository 114.
The data management engine 142 can also access any of the data from
the data repositories 110, 112, 114 for use by the
subscriber-provider matching system 108. For example, data
generated during the execution of one or more processes by
subscriber-provider matching system 108 can be stored in a process
execution data repository 110. The data management engine 142
controls the flow of data between the process execution data
repository 110 and the subscriber-provider matching system 108.
The event trigger engine 132 manages the flow of data updates to
the subscriber-provider matching system 108. In some
implementations, the event trigger engine 132 detects updates to
broker survey data 128, global risk management survey (GRMS) data
152, claims survey data 154, customer input data 156, or any other
type of data collected or controlled by the subscriber-provider
matching system 108. For example, the event trigger engine 132
detects modifications or additions to the files of the data lake
116, which may indicate that additional survey data has been
received. When a data update is detected at the data lake 116, the
event trigger engine 132 loads the updated data files to a data
extraction engine 144. The event trigger engine 132 operates in
real-time to update the data extraction engine 144 when updated
data is received from the data sources. In addition, the event
trigger engine 132 operates automatically when updated data is
detected in the data lake 116.
In addition, the event trigger engine 132 is configured to detect
updates to the data lake 116 from the one or more data sources at
multiple update velocities. The update velocity of the data
corresponds to a rate or frequency at which the subscriber-provider
matching system 108 receives data updates from the data sources,
such as the billing data 126, market security data 150, broker
survey data 128, GRMS survey data 152, claims survey data 154, and
customer input data 156. In addition, the velocities with which
individual participants provide data updates may also vary. For
example, a first intermediate participant 106 may provide quarterly
broker survey data 128 to the subscriber-provider matching system
108 in March, June, September, and December of a given year while a
second intermediate participant 106 may provide bi-annual broker
survey data 128 to the subscriber-provider matching system 108 in
January and July of a given year. Also, the event trigger engine
132 can also be configured to detect unscheduled updates to the
data lake 116. For example, if the second intermediate participant
with the January and July scheduled updates submits broker survey
data 128 in October, the event trigger engine 132 can detect the
data update in real time and determine that the update was
unscheduled. The event trigger engine 132 can be configured to
detect multiple scheduled and unscheduled updates from a multiple
data sources in parallel and in real-time.
In some implementations, the data extraction engine 144 of the
subscriber-provider matching system 108 extracts data from the
files of the data lake 116 to generate a sparse matrix 122, which
includes data values for one or more metrics associated with each
of the providers 104. In some implementations, the one or more
metrics of the sparse matrix 122 are associated with a particular
data source. For example, the data extraction engine 144 can
extract a retention score for the providers 104 from the billing
data 126 and an intermediate participant rate rating from the
broker surveys 128. The resulting sparse matrix 122 may have one or
more missing data entries for one or more metrics that represent
incomplete data received from the data sources. For example, one or
more of the GRMS surveys 152, broker surveys 128, customer input
data 156, or claims surveys 154 may be partially completed. In
addition, the collected survey data may not address one or more of
the providers 104, insurance types, regions, or segments
encompassed by the sparse matrix 122. The data extraction engine
144 operates in real-time to update the sparse matrix 122 when
updated data is received from the event trigger engine 132. In
addition, the data extraction engine 144 operates automatically to
process the updated data files received from the event trigger
engine 132.
The subscriber-provider matching system 108 also includes a density
logic engine 134 that further processes the sparse matrix 122 into
a dense matrix 118. In some implementations, the density logic
engine 134 determines data values for the missing (null) data
entries in the sparse matrix 122 by inheriting data from other
entries of the sparse matrix 122 or inferring data based on an
amount of correlation between entries of the sparse matrix 122. For
example, the density logic engine 134 can determine the missing
data entries by determining an amount of correlation between the
missing data entries and filled entries in order to provide
simulated values for the missing data entries. The filled entries
refer to data entries in the sparse matrix 122 that have been
filled with data from the data lake 116. In a particular example,
lacking data for a particular provider corresponding to the New
Zealand marketplace (e.g., the provider just entered the New
Zealand marketplace, data corresponding to the New Zealand
marketplace is unavailable, etc.), the density logic engine 134 may
identify a correlation between New Zealand data values and
Australia data values for that particular data value type and
replicate the provider's data corresponding to the Australian
marketplace to the New Zealand marketplace. In another example,
finding multiple correlations between a missing data type's
categorization (e.g., industry A) and other categorizations (e.g.,
industries B, C, and D), the density logic engine 134 may combine
data values corresponding to industries B, C, and D to supply an
inferred data value for industry A. Inferring and/or inheriting, in
further examples, may include applying a weighting or otherwise
adjusting the correlating data based upon a particular correlation
identified (e.g., the data value corresponding to region P is
typically X percent greater than the data value corresponding to
region Q). Further, if data associated with a particular data type
and a particular provider is available but insufficient (e.g.,
fewer than a threshold number of values such as survey responses
have been received, shorter than a threshold timeframe of data is
available, etc.), the density logic engine 134 may combine the
available data with additional correlated data to determine an
inferred data value. The data extraction engine 144 may flag
particular data values as insufficient when populating the sparse
matrix for use by the density logic engine. In this manner, in
addition or rather than augmenting insufficient data values in
preparing the dense matrix, the data extraction engine 144 may
neglect any insufficient data values as candidate data for
inheritance or inference purposes.
In some implementations, the density logic engine 134 flags or
otherwise differentiates each data entry that was fully or
partially inherited or inferred. In this manner, upon supplying
provider ratings and recommendations to the subscribers 102, the
subscribers 102 may be alerted of any recommendations identified
based in part upon inherited or inferred data. In some embodiments,
the density logic engine 134 may flag "augmentation" of
insufficient data through correlation differently than inferring or
inheriting a completely missing data value.
In some implementations, the dense matrix 118 output from the
density logic engine 134 includes values for all data entries. The
density logic engine 134 may operate in real-time to update the
dense matrix 118 when an updated sparse matrix 122 is made
available by the data extraction engine 144. In addition, the
density logic engine 134 may operate automatically to process the
updated sparse matrix 122.
The subscriber-provider matching system 108, in some
implementations, includes a rules engine 160 that manages data
integrity of the metrics and associated data in the sparse matrix
122 and dense matrix 118. In some implementations, the rules engine
160 detects discrepancies between new data values added to the
sparse matrix 122 and historic data values, updated data values in
to the sparse matrix 122 and present data values in the dense
matrix 118, and/or updated data values in the dense matrix 118 and
historic dense matrix values based on one or more rules associated
with each of the metrics. The rules can include trend rules that
flag data entries that exceed thresholds associated with how the
data entries change over time. For example, a number of policy
renewals for a given year can be one of the metrics included in the
sparse matrix 122 or dense matrix 118. In one example, if a number
of policy renewals for a specific provider from one year to a next
year increases by more than a threshold value or percentage (e.g.,
over 115%, etc. such as 170%) the rules engine 160 may identify the
value as exceeding the allowable variation in number of policy
renewals between years. The rules engine 160, in some embodiments,
may further determine whether a rationale exists for the increase
in policy renewals. In a particular example, the rules engine 160
may access provider data 151 to identify a change in status of the
particular provider, such as an expansion of the provider through
merger or acquisition, corresponding to the increase in policy
renewals. If the rules engine 160 determines that the increase in
policy renewals does not appear to have an automatically
identifiable rationale, then the rules engine 160 may flag the
number of policy renewals as invalid. Flagging invalid data
entries, for example, may involve applying a digital tag or
identifier to the particular data entry identifying the data as
invalid. Further, flagging the data as invalid may involve
automatically triggering a manual review of the data (e.g., causing
issuance of an electronic message to an operator of the
subscriber-provider matching system 108 regarding the data
inconsistency). The operator, upon reviewing and, optionally,
fixing the data value may clear the data flag. Upon completion of
data validation, the rules engine 160 may release the dense matrix
118 for use by a ranking engine 138.
Using the dense matrix 118, the ranking engine 138, in some
implementations, ranks the providers 104 based on a determined
amount of compatibility between the providers 104 and the
subscribers 102. The amount of compatibility between the providers
104 and the subscribers 102 can be measured, for example, by an
empower rating (ER) 124 for each of the providers 104 with respect
to each customer 102. For example, for a given customer 102, the
ranking engine 138 assigns a score from zero to five indicating how
well the providers 104 meet certain risk preference criteria of the
subscribers 102. For example, a payment criterion can be based on
an amount of money in the ultimate payout, the speed at which the
claim is paid out, and the overall claims service provided by the
carriers 104. The ranking engine 138 can determine the ERs for the
providers 104 based on needs, risk preferences, and/or priorities
of the subscribers 102 that are input at the external devices 158
via one or more user interface screens as well as weighting factors
associated with each of the metrics of the dense matrix 118.
In some implementations, the ranking engine 138 identifies inferred
or inherited data when determining provider rankings and
recommendations. The ranking engine 138 may identify inferred or
inherited data corresponding to a key subscriber preference (e.g.,
one of the X highest weighted subscriber preferences, a subscriber
preference weighted at least Y on a scale from 1 to N, etc.), and
provide a caveat, upon recommending the particular subscriber
associated with the inferred or inherited data, to the subscriber
regarding the recommendation's basis upon partially inferred or
inherited data. The caveat, further to the example, may include a
highlighting, brief comment, color change, or other identifier
signifying a recommendation based partially on inferred or
inherited data. In other embodiments, ratings and recommendations
may be weighted based in part on a determination that a portion of
the data depended upon for the recommendation exceeds a
predetermined threshold.
The ranking engine 138, in some implementations, adaptively and
predictively updates the weighting factors for each of the metrics
based on learned trends in the market security data 150, billing
data 126, and other data sources as well as the risk preferences of
the subscribers 102. For example, the ranking engine 138 may
develop a typical (e.g., mean, average, or otherwise combined) set
of risk preferences associated with groupings of subscribers 102
(e.g., subscribers of a particular type of product, subscribers
operating in a particular geographic region) based upon risk
preferences received from the subscribers and/or derived risk
preferences of the subscribers 102 (e.g., based upon historical
performance of providers selected by each subscriber 102). The
derived risk preferences, for example, may be developed based upon
risk exposure metrics developed by the ranking engine 138 through
analysis of historic performance data and survey data associated
with individual providers 104 providing products to the subscribers
102. Weighting factors for various metrics considered by the
ranking engine 138 may take into account the typical risk
preferences to identify the most important risk preference factors
to the subscribers as a whole. For example, the ranking engine 138
may alter weighting factors of metrics based upon the risk trends
in the subscriber base as evidenced by the received and optionally
derived risk preferences.
The ranking engine 138, in some embodiments, separates subscribers
102 into peer groups based upon characteristics of individual
subscribers 102 (e.g., size, industry, maturity, etc.) for
generation of typical risk preferences/adaptation of weighting
factors. In another example, the ranking engine 138, in real-time
based upon a subscriber 102 request for submitting personalized
risk preferences, identifies a number of peers most similar to the
subscriber 102 based on characteristics of the subscriber 102
and/or the type subscription requested by the subscriber 102. For
example, the ranking engine 138 may identify three to twelve peers
most similar to the requesting subscriber and generate a typical
set of risk preferences of the subscriber's peers for presentation
to the subscriber when obtaining individualized risk preferences
from the subscriber.
The ranking engine 138, in some implementations, operates in
real-time to determine rankings for the providers 104 in response
to receiving needs or risk preferences input from the subscribers
102 via customer input UI screens. To aid the subscribers 102 in
adoption of risk preferences, in some embodiments, the ranking
engine 138 presents peer risk preferences (e.g., either
individually or as a combined, typical peer set of risk
preferences) within the customer input UI screens, to allow the
subscriber 102 to compare its risk profile to peer risk
preferences. Further, the ranking engine 138 may determine risk
exposure weighting factors for the subscriber's incumbent provider,
based upon metric trends derived from historic performance data and
survey data, and infer risk preferences based upon these weighting
factors, thus supplying a current risk preferences profile to the
subscriber 102 based upon the subscriber's selection of the
particular incumbent provider 104.
In addition, the ranking engine 138, in some implementations,
operates automatically in response to receiving a client risk
profile to match a number of providers 104 with the subscriber's
102 current subscription needs and risk exposure preferences. For
example, responsive to receiving a risk profile from the subscriber
102, including a set of risk preferences, the ranking engine 138
may generate a UI screen presenting a set of recommended
subscription providers 104. The subscription providers 104 may be
illustrated in a ranked order. A similarity factor (e.g.,
percentage, color code, etc.) may additionally be illustrated to
aid the subscriber 102 in differentiating between the subscription
providers. Further, in some embodiments, a current risk profile
(e.g., based upon weighting factors derived in relation to each
recommended provider) may be illustrated along with each of the
providers 104. As noted above, the recommendations, if based upon
inferred or inherited data, may be flagged to alert the subscriber
102 to the use of "soft" data points in arriving at the particular
recommendation. Further, use of inherited or inferred data may
cause demotion of a particular provider 104 by the ranking engine
138 when making final recommendations to the subscriber 102.
In some circumstances, the weighting and ranking performed by the
ranking engine 138 will result in a set of recommended providers
104 that does not include the incumbent provider 104. In some
implementations, the ranking engine 138 will add the incumbent
provider 104 to the list of results, for example highlighting one
or more reasons for the incumbent provider 104 not being included
within the list of recommended providers (e.g., a particular risk
factor varies substantially from the subscriber's preferences).
Further, in some implementations, the user interface may include
the ability to "drill down" into each recommended provider 104 (and
the included but not recommended incumbent provider, if applicable)
to review historical performance metrics used by the ranking engine
138 in determining the recommendation. For example, the user may
have the option to "click through" for a comparison of
performance/survey data of the listed providers 104 and/or
individual historic performance metrics (and/or survey result
metrics) for a selected provider 104.
Although described in relation to presenting providers 104 using a
risk factor-based algorithm, in some implementations, the ranking
engine 138 may further present one or more recommended providers
104 based upon the provider's interest in the subscriber's
business. For example, when a new provider 104 is added to the
environment 100, the ranking engine 138 will lack much of the data
used for ranking purposes. Further, when an existing provider 104
expands into a new business area (e.g., new product type or new
industry), the level of inference required to fill data points and
supply the ranking engine 138 for data useful in making
recommendations may be too great to be relied upon. In these
circumstances, a provider 104 may be included by the ranking engine
138 based upon other factors (e.g., interest in the business,
perceived value to the subscriber 102, etc.) than risk
preference-based matching alone.
The subscriber-provider matching system 108, in some
implementations, also includes a dashboard graphical user interface
(GUI) engine 140 that controls dissemination and reception of data
from the subscribers 102, providers 104, and intermediate
participants 106 through one or more user interface (UI) screens
that are output to the external devices 158. For example, the
subscribers 102 select and/or input risk profile data and risk
preferences at a customer risk profile selection UI screen where
the subscribers 102 can input a relative importance of one or more
carrier attributes with respect to one or more types of risks that
can be addressed by services and/or products of the providers 104.
The dashboard GUI engine 140 can also output a provider rating
screen that identifies one or more of the highest ranking providers
104 associated with a given subscriber 102 with respect to the
identified risk profile and preferences. In some implementations,
the ERs for the highest-ranking providers 104 are also displayed on
the provider rating screen in a format of zero to five stars. In
addition, the dashboard GUI engine 140 can output UI screens to the
external devices 158 of the subscribers 102 associated with how the
providers 104 perform in various segments, regions, and products. A
provider rating comparison screen also provides comparative
performance results of one or more of the providers 104.
The subscriber-provider matching system 108, in some
implementations, also includes a real-time notification engine 148
that ensures that data input to subscriber-provider matching system
108 is processed in real-time. In addition, the processes executed
by the real-time notification engine 148 ensure interactions
between the participants and the subscriber-provider matching
system 108 are processed in real-time. For example, the real-time
notification engine 104 outputs alerts and notifications to the
providers 104, subscribers 102, intermediate participants 106 via
the UI screens when empower rating (ER) 124 are generated by the
ranking engine 138, when data associated with the participants have
been received by the data mining/collection engine 136.
In some implementations, the real-time notification engine 148
receives a request, through a UI screen, from a subscriber 102
related to interest in pursuing a subscription product with one of
the recommended providers 104 and issues a notification to the
selected provider 104 to automatically initiate the subscription
process. For example, within the UI screen presenting ranked,
recommended providers 104, the subscriber 102 may be given the
opportunity to elect a particular provider 104 for a new
subscription product or renewal of an existing subscription
product.
The subscriber-provider matching system 108, in some
implementations, also includes an audit engine 162 that tracks how
data is gathered and processed in order to provide an analysis of
how carrier ratings and rankings are determined. In some
implementations, the audit engine 162 can track from when the data
is gathered from the data sources by the data mining/collection
engine 136 to how the metrics are determined from the data to build
the sparse matrix 122 and dense matrix 118 and further to how the
data is used to determine the carrier ratings and rankings that are
output to the subscribers 102 by monitoring activities within the
subscriber-provider matching system 108 and logging audit data
123.
The audit engine 162, in some implementations, builds and outputs
audit reports to the subscribers 102, providers 104, and
intermediate participants 106 based on queries initiated by one or
more of the participants that identify the data, weighting factors,
and other information associated with how the carrier rankings and
ratings are determined for particular customer risk preferences and
risk profiles. For example, an audit may be initiated by one of the
participants in the subscriber-provider matching environment 100 to
determine why an incumbent provider is not listed as a top-ten
ranked provider for a particular subscriber. In some
implementations, the audit reports are generated automatically by
the audit engine 162 when the ranking engine 138 determines
provider ratings and ranking for customer risk preferences. The
audit reports may be generated automatically for the subscribers
102 who have input the risk preferences, for the intermediate
participants 106 associated with the transactions between the
subscribers 102 and the providers 104, and for the one or more top
ranked providers 104 as well as for an incumbent provider.
In some implementations, data associated with the processes
performed by the subscriber-provider matching system 108 is stored
in one or more data repositories of the subscriber-provider
matching environment 100. For example, the data repositories can
include an auto load data repository 112, a manual load data
repository 114, and a process execution data repository 110. Data
received by the subscriber-provider matching 108 from the one or
more data sources can be received and stored in real-time with
respect to when the data is received from the data sources. In
addition, the data can be stored automatically in response to
receiving one or more data files from the data sources.
The auto load data repository 112 includes data that is
automatically updated from one or more sources at predetermined
time intervals. For example, auto load data can include billing
data 126, market security data 150, legal data 127, claims data
149, and provider data 151. The market security data 150 may
include information associated with financial security of
providers. The market security data 150, for example, can include
regulated insurance company alongside details of rating agency
ratings for that company, such as AM Best and S&P. The billing
data 126 may include transactional information regarding
subscription billing. For example, the billing data 126 can include
details of a policy such as details of the subscriber and the
provider, alongside product, geographical and financial details.
The legal data 127 can include identification of past and current
litigation activity involving any of the providers 104 as obtained
from public data sources that include published court findings, and
other information. The legal data 127, for example, may be used to
identify relative litigiousness of the providers 104 or potential
threats to the stability of providers 104. The claims data 149 may
include claims submitted in relation to subscription products
provided to the subscribers 102 by the providers 104, such as
insurance claims against subscriber policies. The
subscriber-provider matching system 108, for example, can receive
operational claims data from a claims processing system that can
include data associated with claims processing, such as number of
days turnaround for processing a claim or payment versus value
sought. The international provider data 151 may be data indicative
of carrier efficiency in distribution across multiple countries. In
one implementation, the billing data 126, the international
provider data 151, and/or the market security data 150 provide
real-time indicators of a current state of financial markets and
insurance rates.
The subscriber-provider matching system 108 can receive the
automatically updated data directly from systems (not shown)
associated with producing the various data such as the market
security data 150, the billing data 126, the legal data 127, the
claims data 149, and/or the international provider data 151. Some
systems may be affiliated with the subscriber-provider matching
system 108, such as a claims management system generating the
claims data 149. The automatically loaded data can also be updated
in real time as market data changes through a day, week, month, or
quarter. For example, the data mining/collection engine 136 may
receive the real-time updated market security data 150, billing
data 126, legal data 127, claims data 149, and international
provider data 151, and the data management engine 142 of the
subscriber-provider matching system 108 may update the data lake
116 to reflect the current state of the data in the auto load
repository 112.
In addition, the manual load data repository 114 includes manually
entered information from the participants in the
subscriber-provider matching environment 100, such as broker
surveys 128, global risk management surveys (GRMSs) 152,
subscriber-provider matching system surveys 157, and claims surveys
154. The manually entered information is input via UIs at the
external devices 158 and is received by the data mining/collection
engine 136 of the subscriber-provider matching system 108. The
manually entered information can then be then processed by the data
management engine 142 and added to the data lake 116.
For example, broker surveys 128 include information received from
the intermediate participants 106 that can include feedback on
experiences associated with connecting providers 104 with the
subscribers 102. In some implementations, the broker surveys 128
can be received from the brokers periodically, such as twice a
year, or once a quarter. The broker surveys 128 can include
performance ratings of the providers 104 across various performance
metrics.
The GRMSs 152 provide information from the subscribers 102 and
participants regarding perceived risks and threats to economic
markets, financial instabilities, political threats, and other
risks for which the subscribers 102 may be likely to seek products
and/or services from the providers 104. For example, the GRMS 152
data may include relative magnitudes of a plurality of perceived
threats to the subscribers 102, such as damage to reputation,
economic slowdown, regulatory/legislative changes, increasing
competition, failures to innovate/meet customer needs, property
damage, cyber-attacks, or third-party liabilities. In addition, the
GRMSs 152 received from the subscribers 102 can include responses
associated with performance of the providers 104 which they do
business with across various performance metrics.
The participants of the subscriber-provider matching system 108, in
some implementations, are invited to submit survey data relevant to
experience using the subscriber-provider matching system 108. For
example, intermediate participants 106 and/or subscribers 102 may
be asked to submit survey data related to experience with the
ranking and recommendation of providers 104 as supported by the
ranking engine 138.
In addition, the manual load data repository 114 also includes
claims surveys 154 that provide claims service attributes of the
providers 104, such as data regarding how claims are processed and
paid out. The claims surveys 154 may be initiated by a subscriber
102 and/or provider 104 at the external devices 158 as a feedback
mechanism following processing of the claim and can include a level
of satisfaction with the claim processing, an amount of time for
the claim to be paid out, or type of event that prompted filing of
the claim. For example, claims specialists can rate claims
performance of insurance companies across various metrics. Other
claims service attributes can include willingness to pay, risk
engineering, legal support, or loss adjuster services.
Additionally, each claims service attribute can be weighted by a
predetermined percentage. Further, the providers 104 can be rated
on average number of days in which it takes for a claim to get paid
and a percentage of claims paid versus claims incurred. In some
implementations, the claims surveys 154 can be submitted by the
providers 104 and can include a rating associated with ease of
customer-carrier interaction, industry segment served, and trends
in types of claims processed by the providers 104. The claims
surveys 154 may be received at predetermined time intervals, such
as once a year, twice a year.
Customer input data 156 is also stored in the manual load
repository 114, which can include risk preferences of the
subscribers 102 as well as customer feedback data that represent a
level of satisfaction of the subscribers 102 with a claim that
settles or a policy that issues. The risk preferences of the
subscribers 102 can be input to the subscriber-provider matching
system 108 via one or more UI screens that are described further
herein. For example, the subscribers 102 can input risk profile
data, such as industry, product, region/country, segment, and type
of coverage (e.g., primary or excess) as well as preferences
associated with the risk profile. For example, the subscribers 102
can indicate a relative importance of each of the preferences at
the UI screens, such as cover, financial rating, claims, service,
expertise, innovation, market presence, or continuity.
In certain embodiments, the risk preferences of the subscribers 102
can be categorized into financial risk preferences and service risk
preferences. For example, the financial risk preferences can
include a price and total cost of risk, cover, financial rating,
and claims processing of the providers 104. The service risk
preferences can include expertise, innovation, market presence,
continuity, and overall service experience of the providers 104. In
addition, the data management engine 142 can determine average risk
preference values for one or more customer peer groups that can be
displayed to the subscribers 102 via the UI screens on the external
devices 158. For example, the peer groups can include categorical
groupings of the subscribers 102 by size, industry type, region,
segment, product, or all of the subscribers 102 who participate in
the subscriber-provider matching environment 100. The data
management engine 142 can determine the average risk preference
values for the one or more customer peer groups in real time as the
subscribers 102 input the risk preference data to the
subscriber-provider matching system 108.
The customer feedback data can include a level of satisfaction of
the subscribers 102 with a claim that settles, a policy that
issues, or an overall service experience. The customer feedback
data can be input to the subscriber-provider matching system 108
via UI screens at the client devices 158 or from surveys submitted
from the subscribers 102. Together with the billing data 126 and
market security data 150, the customer input data 156 provides an
indication of an ability or propensity to pay or financial
soundness of the providers 104. In some implementations, the
ranking engine 138 can modify weighting factors associated with one
or more metrics based on the customer feedback data as well as the
risk preference data.
In some implementations, the process execution data repository 110
stores data generated and/or used by the subscriber-provider
matching system 108 when matching the subscribers 102 with
providers 104 by ranking the providers 104 with respect to customer
102 needs/risks. For example, the process execution data repository
110 can include a data lake 116 that is a compilation of all of the
data files received by the data mining/collection engine 136. The
data management engine 142 collects the claims survey data 154,
GRMS data 152, broker survey data 128, customer input data 156,
billing data 126, legal data 127, claims data 149, international
provider data 151, and market security data 150 into at least one
data file having one or more entries and/or attributes. In
addition, the data management engine 142 validates and/or
normalizes the data received by the subscriber-provider matching
system 108 so that the entries of the data lake 116 are in a
predetermined format.
The process execution data repository 110 also includes data
structures generated during the execution of a subscriber-provider
matching process which include the sparse matrix 122 and the dense
matrix 118. For example, the data extraction engine 144 generates
the sparse matrix 122 which includes scores, values, and/or
weighting factors for each of the providers 104 that indicate
connections and interrelationships between the providers 104 and
subscribers 102. Additionally, the density logic engine 134
generates the dense matrix 118 by determining values for one or
more missing entries of the sparse matrix 122.
The process execution data repository 110 also includes empower
rating 124 data structures, which are values assigned to the
providers 104 that indicate an amount of compatibility between the
subscribers 102 and the providers 104. The ranking engine 138 ranks
the providers 104 based on a determined amount of compatibility
between the providers 104 and the subscribers 102. The amount of
compatibility between the providers 104 and the subscribers 102 can
be measured by an empower rating (ER) 124 for each of the providers
104 with respect to each subscriber 102. For example, for a given
subscriber 102, the ranking engine assigns a score from zero to
five indicating how well the providers 104 meet certain
performance, payment, and protection criteria of the subscribers
102. For example, the payment criteria can be an amount of money in
the ultimate payout, the speed at which the claim is paid out, and
the overall claims service provided by the providers 104.
The process execution data repository 110 also stores ranking
templates 120 that are accessed by the dashboard GUI engine 140 to
generate one or more UI screens to the external devices 158 to
interface with the participants in the subscriber-provider matching
environment 100. For example, the dashboard GUI engine 140 can
insert the ER 124 results determined by the ranking engine 138 into
the ranking templates 120 to allow the subscribers 102 and/or
providers 104 to provide inputs to the subscriber-provider matching
system 108 as well as view outputs from the system 108. In some
implementations, the subscribers 102 can view the ER 124 results in
a predetermined format that enables selection of a provider 104
that best meets the risk profile and preferences of the subscriber
102. For example, the ranking templates 120 can include a customer
risk profile selection UI screen template where the subscribers 102
can input a relative importance of one or more provider attributes
with respect to one or more types of risks that can be addressed by
services and/or products of the providers 104. The ranking
templates 120 can also include a provider rating screen template
that can be configured to identify one or more of the highest
ranking providers 104 associated with a given subscriber 102 with
respect to the identified risk profile and preferences. In some
implementations, the ERs for the highest-ranking providers 104 can
also be configured to be displayed within the provider rating
screen in a format of zero to five stars. In addition, the ranking
templates 120 can also include templates that are configured to
display how the providers 104 perform in various segments, regions,
and products. A provider rating comparison screen template can also
be configured to provide comparative performance results of one or
more of the providers 104.
Next, FIG. 2 illustrates a data flow of a subscriber-provider
matching process 200. The data flow of the subscriber-provider
matching process 200 can be organized into one or more functional
layers that can include a data source layer 202, a data lake layer
204, an algorithm layer 206, and a front end layer 208. The
processing circuitry of the subscriber-provider matching system 108
of FIG. 1, for example, may execute one or more processes of the
functional layers 202, 204, 206, and 208 to receive data from one
or more data sources that include risk preferences of the
subscribers 102 and attributes of the providers 104, organize the
data into a predetermined format, process the data to determine
connections between the risk preferences of the subscribers 102 and
the attributes of the providers 104, rank the providers 104 based
on a strength of the connections between the subscribers 102 and
the attributes of the providers 104, and output the ERs 124 for the
providers 104 to the external devices 158 of the subscribers 102
and/or providers 104 through one or more UI screens. The processes
performed by the subscriber-provider matching process 200 can be
executed in real-time in order to provide an immediate response to
a system input. In addition, the processes can also be performed
automatically in response to a process trigger that can include the
reception of data from a data repository, a participant, or another
processing engine.
At the data source layer 202, data is received from one or more
sources, such as sources connected to the subscriber-provider
matching system 108 of FIG. 1, via one or more network interfaces.
The subscriber-provider matching process 200, in some embodiments,
is able to simultaneously receive and process the data from the one
or more data sources so that the ER rankings for the providers 104
can be determined in real-time. In some implementations, the data
collection/mining engine 136 of FIG. 1 can receive and process any
number of items of data in parallel. In addition, the data can be
stored automatically in response to receiving one or more data
files from the data sources.
In addition, the data sources can be categorized as auto load data
sources or manual load data sources based on how and when the data
is received and updated. In one example, the data may be received
and updated by the data collection/mining engine 136 of the
subscriber-provider matching system 108 of FIG. 1. For example, the
auto load data sources can include billing data 210 and market
security data 212 that is updated as insurance billing data and
market security data change over time. The market security data 212
can include information associated with financial security of
providers, and the billing data 210 can include transactional
information regarding subscription billing. For example, the
billing data 210 can include details of a policy such as details of
the insured client and the insurance provider, alongside product,
geographical and financial details. The market security data 212
can include regulated insurance company alongside details of rating
agency ratings for that company, such as AM Best and S&P.
The manual load data sources can include sources which provide
manually entered information from the participants in the
subscriber-provider matching flow 200, such as broker surveys 218,
global risk management surveys (GRMSs) 216, and claims surveys 214.
The manually entered information, for example, may be input via UIs
at the external devices 158 and received by the data
mining/collection engine 136 of the subscriber-provider matching
system 108 of FIG. 1. In addition, the manually loaded data can be
input to the subscriber-provider matching process 200 whenever a
survey is completed by one of the participants, which may occur at
predetermined time intervals such as quarterly, yearly, or may
occur on a situational basis.
For example, the broker survey data 214 can include information
received from the intermediate participants 106 that can include
feedback on experiences associated with connecting providers 104
with the subscribers 102. In some implementations, the broker
survey data 214 can be received from the intermediate participants
106 periodically, such as twice a year or once a quarter. The
broker survey data 214 can include performance ratings of the
providers 104 across various performance metrics.
GRMS data 216 provides information from the subscribers 102 and
other participants regarding perceived risks and threats to
economic markets, financial instabilities, political threats, and
other risks for which the subscribers 102 may be likely to seek
products and/or services from the providers 104. For example, the
GRMS 216 data may include relative magnitudes of a plurality of
perceived threats to the subscribers 102, such as damage to
reputation, economic slowdown, regulatory/legislative changes,
increasing competition, failures to innovate/meet customer needs,
property damage, cyber-attacks, third-party liabilities. In
addition, the GRMS data 216 received from the subscribers 102 can
include responses associated with performance of the providers 104
which they do business with across various performance metrics.
In addition, the manual load data also includes claims surveys 218
that provide claims service attributes of the providers 104, such
as data regarding how claims are processed and paid out. The claims
surveys 218 may be initiated by a subscriber 102 at the external
devices 158 of FIG. 1, for example, as a feedback mechanism
following processing of the claim and can include a level of
satisfaction with the claim processing, an amount of time for the
claim to be paid out, type of event that prompted filing of the
claim. For example, claims specialists can rate claims performance
of providers 104 across various metrics. Other claims service
attributes can include willingness to pay, risk engineering, legal
support, and/or loss adjuster services. Additionally, each claims
service attribute can be weighted by a predetermined percentage.
Further, the providers 104 can be rated on average number of days
in which it takes for a claim to get paid and a percentage of
claims paid versus claims incurred. In some implementations, the
claims surveys 218 can be submitted by the providers 104 and can
include a rating associated with ease of subscriber-provider
interaction, industry segment served, and/or trends in types of
claims processed by the providers 104. In addition, the claims
surveys 218 may be received at predetermined time intervals, such
as once a year or twice a year.
Customer input data 230 is another example of a manual load data
source within the source layer 202, which can include risk
preferences of the subscribers 102 as well as customer feedback
data that represent a level of satisfaction of the subscribers 102
with a claim that settles or a policy that issues. The risk
preferences of the subscribers 102, for example, can be input to
the subscriber-provider matching system 108 of FIG. 1 via one or
more UI screens that are described further herein. For example, the
subscribers 102 can input risk profile data, such as industry,
product, region/country, segment, and type of coverage (e.g.,
primary or excess) as well as preferences associated with the risk
profile. For example, the subscribers 102 can indicate a relative
importance of each of the preferences at the UI screens, such as
cover, financial rating, claims, service, expertise, innovation,
market presence, or continuity. The risk preferences of the
subscribers 102 can be inputs to ranking algorithm 224 in the
algorithm layer 206, where the risk preferences are used to
determine customized weighting factors for one or more metrics
associated with determining the ERs 124 for the providers 104.
The customer input data 230 can include a level of satisfaction of
the subscribers 102 with a claim that settles, a policy that
issues, or an overall service experience. The customer input data
230 can be input to the subscriber-provider matching system 108 via
UI screens at the client devices 158 or from surveys submitted from
the subscribers 102. Together with the billing data 210, the
customer input data 230 provides an indication of an ability or
propensity to pay or financial soundness of the providers 104. In
some implementations, the ranking algorithm 224 can modify
weighting factors associated with one or more metrics based on the
customer input data 230 as well as the risk preference data. The
customer input data 230 are input to the data lake 215 along with
the other manual load data sources and auto load data sources and
are used to determine values for one or more metrics, such as
metrics collected in the sparse matrix 122 and dense matrix 118 of
FIG. 1.
Next, the data received from the one or more data sources in the
data source layer 202 is processed and organized into one or more
categorical matrices within the data lake layer 204. For example,
the data management engine 142 of FIG. 1 may process the data
received by the data mining/collection engine 136 and add the
received data to the data lake 215, which is compilation of all of
the data received by the data mining/collection engine 136. In
addition, the data management engine 142 of FIG. 1 may perform a
data validation/normalization process to configure the received
data into a predetermined format compatible with a format of the
data lake 215. For example, the data management engine 142 may
collect the claims survey data 218, GRMS data 216, broker survey
data 214, billing data 210, and market security data 212 into at
least one matrix having one or more entries and/or attributes. In
addition, the data management engine 142 may validate and/or
normalize the data from the source layer 202 so that the entries of
the data lake 215 are in a predetermined format.
The data lake layer 204 also includes an event-based trigger
detection process 217 that monitors the data lake 215 for data
loads. In some implementations, the event-based trigger detection
process 217 (such as a process performed by the trigger engine 132
of FIG. 1) continuously scans the entries of the data lake 215 to
detect updated data entries. When updated data is detected, the
event based trigger detection process 217 may forward the updated
data to the algorithm layer 206 so that the updated data can be
considered when the empower ratings 124 for the providers 104 are
determined. For example, the broker surveys 214 for one or more
intermediate participants 106 may be updated on a quarterly basis.
When a particular intermediate participant 106 submits the broker
survey 214 to the subscriber-provider matching process 200, the
event based trigger detection process 217 detects that the data
lake 215 entries for the particular intermediate participant 106
have been modified and loads the updated data to the data
extraction process 220 in the algorithm layer 206 of the data flow
for the subscriber-provider matching process 200. The event based
trigger detection process 217 may operate in real-time to update
the data extraction process 220 when updated data is received from
the data source layer 202. In addition, the event based trigger
detection process 217 may operate automatically when updated data
is detected in the data lake 215.
In addition, the event-based trigger detection process 217, in some
implementations, is configured to detect updates to the data lake
215 from the one or more data sources at multiple update
velocities. The update velocity of the data corresponds to a rate
or frequency at which the subscriber-provider matching process 200
receives data updates from the data sources, such as the billing
data 210, market survey data 212, broker survey data 214, GRMS
survey data 216, claims survey data 218, and customer input data
230. In addition, the velocities with which individual participants
provide data updates may also vary. For example, a first
intermediate participant 106 may provide quarterly broker survey
data 214 to the subscriber-provider matching process 200 in March,
June, September, and December of a given year while a second
intermediate participant 106 may provide bi-annual broker survey
data 214 to the subscriber-provider matching process flow 200 in
January and July of a given year. Also, the event-based trigger
detection process 217, in some embodiments, detects unscheduled
updates to the data lake 215. For example, if the second
intermediate participant 106 with the January and July scheduled
updates submits broker survey data 214 in October, the event based
trigger process 217 can detect the data update in real time and
determine that the update was unscheduled. The event-based trigger
detection process 217, in further embodiments, can detect multiple
scheduled and unscheduled updates from multiple data sources in
parallel and in real-time.
At the algorithm layer 206, the processing circuitry of the
subscriber-provider matching process flow 200 processes the data
from the data lake 215 to determine connections between the risk
preferences of the subscribers 102 and the attributes of the
providers 104, and then rank the providers 104 based on a strength
of the connections between the subscribers 102 and the attributes
of the providers 104. In some implementations, the data extraction
engine 144 or FIG. 1 performs the data extraction process 220 where
data is extracted from the files of the data lake 215 to generate
the sparse matrix 122, which includes data values for one or more
metrics associated with each of the providers 104. The data
extraction process 220 may operate in real-time to update the
sparse matrix 122 of FIG. 1 when updated data is received from the
event based trigger process 217. In addition, the data extraction
process 220 may operate automatically to process the updated data
files received from the event based trigger process 217.
In some implementations, the one or more metrics of the sparse
matrix 122 of FIG. 1 are associated with a particular data source.
For example, the data extraction process 220 can extract a
retention score for the providers from the billing data 210 and a
broker rate rating from the broker surveys 214. The resulting
sparse matrix 122 may have one or more missing data entries for one
or more metrics that represent incomplete data received from the
data sources. For example, one or more of the GRMS surveys 216,
broker surveys 214, or claims surveys 218 may be partially
completed. In addition, the collected survey data may not address
one or more of the providers 104, product types, regions, or
segments encompassed by the sparse matrix 122. Details regarding
the data extraction process 220 and sparse matrix 122 are discussed
further herein.
The algorithmic layer 206 also includes a density logic process 222
that processes the data from the sparse matrix 122 into a dense
matrix 118 (as illustrated in FIG. 1). In some implementations, the
density logic engine 134 of FIG. 1 performs the functions of the
density logic process 222. The density logic process 222 may
determine data values for the missing (null) data entries in the
sparse matrix 122. For example, the density logic process 222 can
determine the missing data entries by determining an amount of
correlation between the missing data entries and filled entries in
order to provide simulated values for the missing data entries. The
filled entries refer to data entries in the sparse matrix 122 that
have been filled with data from the data lake 215. The dense matrix
118 output from the density logic process 222 may include values
for all data entries. The density logic process 222 may operate in
real-time to update the dense matrix 118 when an updated sparse
matrix 122 becomes available from the data extraction process 220.
In addition, the density logic process 222 may operate
automatically to process the updated sparse matrix 122.
The dense matrix 118 output from the density logic process 222 is
an input to a ranking algorithm process 224, which determines the
empower ratings (ER) 124 for the providers 104 and ranks the
providers 104 based on the risk needs and/or preferences of the
subscribers 102. The ranking algorithm process 224, for example,
may be performed by the ranking engine 138 as described in relation
to FIG. 1. Using the dense matrix 118, the ranking algorithm
process 224 ranks the providers 104 based on a determined amount of
compatibility between the providers 104 and the subscribers 102.
The amount of compatibility between the providers 104 and the
subscribers 102 can be measured the ER 124 for each of the
providers 104 with respect to each subscriber 102. For example, for
a given subscriber 102, the ranking algorithm process 224 may
assign a score from zero to five indicating how well the providers
104 meet certain performance, payment, and protection criteria of
the subscribers 102. For example, the payment criteria can an
amount of money in the ultimate payout, the speed at which the
claim is paid out, and the overall claims service provided by the
providers 104. The ranking algorithm process 224 can determine the
ERs 124 for the providers 104 based on needs, risk preferences,
and/or priorities of the subscribers 102 that are input at the
external devices 158 via one or more user interface screens, as
illustrated in FIG. 1, as well as weighting factors associated with
each of the metrics of the dense matrix 118. The ranking algorithm
process 224 may adaptively and predictively update the weighting
factors for each of the metrics based on learned trends in the
market security data 212, billing data 210, and other data sources
as well as the risk preferences of the subscribers 102. The ranking
algorithm process 224 may operate in real-time to determine
rankings for the providers 104 in response to receiving needs or
risk preferences input from the subscribers 102 via customer input
UI screens. In addition, the ranking algorithm process 224 may
operate automatically in response to receiving a client risk
profile.
The subscriber-provider matching process flow 200 also includes the
front end layer 208, which includes one or more sub-processes
associated with outputting and/or displaying the ERs 124 of the
providers 104 for the benefit of the subscribers 102. The ERs 124,
for example, may be displayed for the subscribers 102 at one or
more external devices 158 via one or more UI screens, as shown in
FIG. 1. For example, the UI screens may be output (228) to the
external devices 158 of the participants in the subscriber-provider
matching environment 100 via the dashboard GUI engine 140 that
controls dissemination and reception of data from the subscribers
102, providers 104, and intermediate participants 106 through one
or more user interface (UI) screens that are output to the external
devices 158. For example, the subscribers 102 select and/or input
risk profile data and risk preferences at a customer risk profile
selection UI screen where the subscribers 102 can input a relative
importance of one or more provider attributes with respect to one
or more types of risks that can be addressed by services and/or
products of the providers 104. The dashboard GUI engine 140, for
example, may output a carrier rating screen that identifies one or
more of the highest ranking providers 104 associated with a given
subscriber 102 with respect to the identified risk profile and
preferences. In some implementations, the ERs 124 for the
highest-ranking providers are displayed on the provider 104 rating
screen in a format of zero to five stars. In addition, the
dashboard GUI engine 140 can output UI screens to the client
devices 158 of the providers 104 associated with how the providers
104 perform in various segments, regions, and products. A provider
rating comparison screen also provides comparative performance
results of one or more of the providers 104. Details regarding the
UI screens are discussed further herein.
The subscriber-provider process flow 200, in some implementations,
also includes the feature of generating test harness reports (226).
The processing circuitry of the subscriber-provider matching system
108 of FIG. 1, for example, can also output a test harness report
(226) to external devices 158 of one or more backend system
managers who monitor the execution of the processes by the
subscriber-provider matching system 108 to detect unexpected errors
in the execution of the subscriber-provider matching process flow
200. Details regarding the test harness report are discussed
further herein.
Next, FIG. 3 is a flowchart 300 illustrating an exemplary method
for generating the sparse matrix 122 representing data lake
information based on predetermined metrics, which is one
implementation of the data extraction process 220. The data
extraction process 220 may operate in real-time to update the
sparse matrix 122 when updated data is received from the event
based trigger process 217. In addition, the data extraction process
220 may operate automatically to process the updated data files
received from the event based trigger process 217.
At step 302, data is loaded from the data lake. The data extraction
engine 144 of FIG. 1, for example, may receive the data from the
data lake 116 via the data management engine 142. The data
management engine 142 may organize the manually loaded and auto
loaded data received by the subscriber-provider matching system 108
and also control data handling during execution of the processes
associated with determining customized ratings of the providers 104
for the subscribers 102 based on predetermined criteria. In some
implementations, the data management engine 142 processes the data
received by the data mining/collection engine 136 and loads the
received data to the data lake 116. In addition, the data
management engine 142 may perform a data validation/normalization
process to configure the received data into a predetermined format
compatible with a format of the data lake 116. The data management
engine 142 may continually update the data lake 116 as updated data
is received by the subscriber-provider matching system 108.
At step 304, the data lake files are processed to extract sparse
matrix data. For example, the data files from the data lake 116 of
FIG. 1 may be processed to extract data values to insert into the
sparse matrix 122. The data extraction engine 144 may process the
billing data 126, market security data 150, legal data 127, claims
data 149, international provider data 151, broker survey data 128,
GRMS data 152, subscriber-provider matching system survey data 157,
and claims survey data 154 to identify data values for each of the
metrics for each of the providers 104 of the sparse matrix 122. The
predetermined metrics used to construct the sparse matrix 122 may
be categorized into one or more categories that include price,
payment, protection, pricing, process, product, proficiency,
promotion, and performance metrics. For example, the predetermined
metrics for protection may include a financial rating, type of
coverage, and/or market segment. The financial rating may represent
an aggregated global/local composite rating agency score premium
weighted for each entity (provider). The data may be obtained from
a rating agency (e.g., S+P, Moody's, etc.). The data level for the
financial rating metric, for example, may be global based on each
entity. The predetermined metrics for payment may include
commitments and offerings, and/or speed with which claims are
processed and paid out to the subscribers 102. The predetermined
metrics for process may include accreditation information of the
providers 104, an innovation rating, and investment in systems. The
predetermined metrics for pricing can include appetite strength,
competitiveness, cross sale strength, and value. The predetermined
metrics for performance may include premium, cover, rate,
expertise, service, and capabilities of the providers 104. The
predetermined metrics may further include a continuity metric and a
premium volatility metric.
The commitment metrics may be based on signed claims escalation
agreements for the subscribers 102 and signed enhanced claims
commitments for the subscribers 102. The data source for the
commitments metrics may be the claims surveys data 154 received
from external devices 158 of the subscribers 102 and/or providers
104, as shown in FIG. 1. The offerings metrics may be based on
biannual GRMS data 152 which can include customer responses to
customer questions, or broker survey data 128 that includes
responses to claims questions, or claims professional survey
responses to claims question, and/or resolution of
provider-specific contentious claims for the subscribers 102. The
premium metrics may be based on a provider premium level reflecting
an entity braking power on behalf of clients, a provider premium
distribution with the entity reflecting local market standing, a
provider local market standing by region/segment/product
combination, a customer appeal based on provider premium trending
in relevant sector, a retention on an entity customer based on a
combination of region, segment, and/or product, and a quote to bind
ratio on the entity customer portfolio by the combination of
region, segment.
The cover metrics may be based on the entity GRMS client responses
to provider cover questions and on the entity intermediate
participant survey responses to provider cover question. The rate
metrics can be based on the entity GRMS client responses to carrier
pricing questions and on the entity intermediate participant survey
responses to provider pricing questions. The expertise metrics can
be based on the entity GRMS client responses to provider expertise
questions and on the entity intermediate participant survey
responses to carrier expertise questions. The service metrics can
be based on the entity GRMS client responses to provider service
questions and on the entity intermediate participant survey
responses to provider service questions. The capability metric may
be based on proven provider innovation, data, and analytics
standalone and with the entity.
At step 306, the sparse matrix 122 is generated. For example, the
data extraction engine 144 of FIG. 1 may generate the sparse matrix
122 from the data values of the data lake 116. The sparse matrix
122 may include, for each of the providers 104, values for each of
the metrics described herein. For example, a retention metric can
be calculated from the billing data 126 by dividing a sum of a
provider's renewed premium within the past twelve months by a sum
of premium renewable for that provider from the previous twelve
month period, for a given geography, product, or client segment.
The values may be normalized, averaged, and/or scaled. The sparse
matrix 122 may also include values for each of the metrics for all
possible combinations of product, country, segment, and region.
The resulting sparse matrix 122 may have one or more missing data
entries for one or more metrics that represent incomplete data
received from the data sources. For example, one or more of the
GRMS surveys 152, broker surveys 128, or claims surveys 154 (shown
in FIG. 1) may be partially completed. In addition, the collected
survey data may not address one or more of the providers 104,
insurance types, regions, or segments encompassed by the sparse
matrix 122.
The data may be updated on a monthly basis, quarterly basis, or
other suitable period. The weighting may also be affected by
velocity which takes into account the update rate of each of the
metrics. For example, the commitment metric may be updated
quarterly, the GRMS data 216 may updated biannually, and the broker
survey data 214 may be updated annually. In other examples, the
update rate of certain metrics may be much more frequent, such as
weekly, daily, or twice-daily updates. For example, risk
information associated with claims data 149, current events or
natural disasters may be fed into the subscriber-provider process
flow 200 on a very frequent basis (e.g., weekly, daily, every N
hours, etc.). Further, some information may be updated in
unanticipated and random bursts, such as legal data 127. The
weighting may also affected by data-level such as global,
region-product, region-segment, region-segment-product, and a
varying level.
FIG. 4 shows exemplary sparse matrix data generated using the
methodology shown in FIG. 3 (e.g., using the data lake 116). Table
400 may be a partial representation of the sparse matrix 122 of
FIG. 1 that includes a large amount of data. The sparse matrix 122
may include one or more categories 402 that can be used to classify
the data from the data lake 116. For example, the categories 402
can include carrier, country, product, segment, region, insurer,
etc. In some implementations, a total number of rows of the sparse
matrix 122 equals a total number of possible combinations of the
categories 402. For each combination of the categories 402, the
sparse matrix 122 includes one or more metrics 404 that describe
one or more attributes of the providers 104 and combinations of
categories 402. In addition, each metric 404 of the sparse matrix
122 can indicate a data source associated with each metric, which
can include any of the auto load sources or manual load sources
described previously. In one example, a first metric in table 400
represents provider premium distribution with the entity reflecting
local market standing. A second metric represents the financial
rating. A third metric represents the client appeal based on
provider premium trending in relevant sector. A fourth metric
represents the retention on the entity client based by
region/segment/product combination. Each of the metrics 404 may be
calculated for all possible combinations of product, country,
segment, and region. In addition, the sparse matrix 122 may have
missing data entries for one or more of the metrics 404 associated
with one or more carriers. For example, Carrier 1 has a missing
data entry for Metric 3, and Carrier 5 has missing data entries for
Metric 2, Metric 3, and Metric 4. In addition, in some embodiments,
a total number of columns of the sparse matrix is equal to a sum of
the number of categories 402 and the total number of metrics
404.
Next, FIG. 5 illustrates a flow chart of an exemplary process 500
for constructing a dense matrix. For example, the process 500 may
be used to construct the dense matrix 118 of FIGS. 1 and 2, using
the density logic process 222 and/or the density logic engine 134.
The process 500 determines data values for the missing (null) data
entries in a sparse matrix, such as sparse matrix 122. For example,
the density logic engine 134 can determine the missing data entries
by determining an amount of correlation between the missing data
entries and filled entries received from alternate data sources in
order to provide simulated values for the missing data entries. The
filled entries refer to data entries in the sparse matrix 122 that
have been filled with data from the data lake 116. The dense matrix
118 output from the density logic engine 134 includes values for
all data entries. In addition, the density logic engine 134 may
flag the data entries of the dense matrix 118 that have been fully
or partially inherited or inferred so that the provider ratings and
recommendations made to the subscribers 102 on data that has an
amount of inferred/inherited data elements can be identified to the
subscriber 102 accordingly. In one example, a recommendation is
identified as being based upon inferred/inherited data if the
amount of inferred/inherited data used in determining the rank of
the recommended provider is greater than a predetermined threshold.
The density logic process 222 may operate in real-time to update
the dense matrix when an updated sparse matrix 122 from the data
extraction process 220. In addition, the density logic process 222
may operate automatically to process the updated sparse matrix
122.
At step 505, the sparse matrix is received. The sparse matrix 122,
for example, may be received from the data extraction engine 144,
as described in relation to FIG. 1. The sparse matrix 122 can
include values for the metrics for each of the providers 104. At
step 510, a sparsity simulation process can be performed with
various simulation methods executed based on the inputs from the
sparse matrix 122. In some implementations, the dense matrix 118 is
constructed by determining simulated values for missing data
entries from the sparse matrix 122. When the data sources files
have missing or conflicting data that is included in the sparse
matrix 122, such as broker survey data 128, GRMS data 152, and
claims survey data 154, the density logic engine 134 of FIG. 1 can
determine mapped data values for the missing data by performing
data simulations with the data received from alternate data
sources. For example, the process execution data repository 110 can
include a mapping dictionary that includes predetermined mapping
rules used by the density logic engine 134 to determine simulated
values for the missing data in the sparse matrix 122. Details
regarding the simulation for sparsity are discussed further in
relation to FIGS. 6A and 6B.
At step 515, data values are normalized. For example, the density
logic engine 134 may normalize the data values for the metrics to
fit a 1-10 scale to better enable the sliders on the customer input
UI screen, as illustrated in FIG. 11, to operate with greater
sensitivity. The data values can be determined based on the results
from the simulation of the sparsity in step 510. Additionally, the
dense matrix 118, constructed from the input of the sparse matrix
122 and the simulation for sparsity at step 505, can be configured
into a predetermined format compatible with the process associated
with the ranking algorithm 224.
Next, FIGS. 6A and 6B illustrate a flowchart of an exemplary
algorithmic process 600 of simulating for sparsity. The process
600, for example, may be used in step 510 of the flowchart 500. The
sparsity simulation is described herein with respect to the GRMS
data 152 and the broker survey data 128 of FIG. 1, but can also be
applied to data in the sparse matrix 122 that is derived from any
other data source, such as the claims survey data 154 and/or any of
the auto load data.
At step 615, it can be determined if the GRMS data 152 and the
broker survey data 128 are accessible for a specific metric within
the sparse matrix 122. In some implementations, the density logic
engine 134 groups the data of the sparse matrix 122 into specific
carrier-product-sub-region-segment groupings. Other categorical
groupings can also be determined. For example, higher level
groupings can encompass larger amounts of data from fewer
categories, such as a carrier-segment grouping. If the GRMS data
152 and the broker survey data 128 are available for a particular
metric within a particular grouping that is being evaluated, then
raw data from the sparse matrix 122 can be used (620) to determine
the dense matrix 118 data values for the grouping. However, if
either the GRMS data 152 or the broker survey data 128 are not
accessible, then the process 600 moves to step 625 to determine
whether the GRMS data 152 and the broker survey data 128 include
responses for at least a minimum number of metrics that are
represented as data entries within the sparse matrix 122. At step
620, the raw data from the sparse matrix 122 can be applied to the
dense matrix 118, and no sparsity simulation may be necessary.
At step 625, it can be determined whether the GRMS data 152 and the
broker survey data 128 include responses for at least a minimum
number of metrics within a particular categorical grouping, such as
carrier-product-region-segment groupings when either the GRMS data
152 or the broker survey data 128 are not accessible. Other
examples of categorical groupings include carrier-product,
carrier-region, carrier-segment, and any other combination of
categories within the sparse matrix 122 and dense matrix 118. For
example, a minimum number of metrics may be set to a survey
response across 5 of 6 metrics. Therefore, a survey response across
4 of 6 metrics would not meet the minimum qualification. If the
GRMS data 152 and the broker survey data 128 include responses that
do meet the predetermined minimum number of metrics, then an
average method can be used at step 630. However, if the GRMS data
152 and the broker survey data 128 include responses that do not
meet the predetermined minimum number of metrics, then the process
can continue to step 635.
At step 630, an averaging method can simulate the one or more
missing metrics within the categorical groupings as an average of
the other scores from the survey responses of the available
metrics. The process can then continue to step 635.
At step 635, the density logic engine 134 determines whether the
sparse matrix 122 includes data from a partial GRMS 152 and/or a
partial broker survey 128. If the sparse matrix 122 includes data
representing either a partial GRMS 152 and/or a partial broker
survey 128, a multi-approach method can be used at step 640 to
determine the missing data values from the surveys. However, if the
sparse matrix 122 does not include partial GRMS data 152 or partial
broker survey data 128, then the process can continue to step
645.
At step 640, a multi-approach method is performed where one or more
simulation tests are performed, and a simulation score can be
calculated that is a measure of a confidence in the simulated
values, which is referred to as a correlation factor, and the
results of the simulation test with the highest correlation factor
can be selected as the simulation values that are incorporated into
the dense matrix 118, and the process continues to step 645.
Details regarding the multi-approach method are further described
in FIG. 7.
At step 645, the density logic engine 134 determines whether lower
level data exists for a higher-level grouping that has missing
data. For example, a particular country-provider grouping may be
not have associated GRMS data 152 or broker survey data 128 but
data cells within the sparse matrix 122 representing the country
and provider categories have associated GRMS data 152 or broker
survey data 128. If the lower-level data values are filled but the
higher level data groupings are null, then a premium weighted
average can be used at step 650 and/or a response weighted average
can be used in step 655. It should be appreciated that the premium
weighted average and the response weighted average can be used
independently or in combination. However, if there are no
lower-level data values then the process can continue to step
660.
At step 650, the premium weighted average is applied, which is one
way of consolidating low-level data, such as
carrier-segment-product-country categorical groupings, into higher
level data, such as for a carrier across all combinations of
categorical groupings. The premium weighted average may be
calculated by giving premiums with higher scores a higher weight
than scores with lower scores. For example, if the US includes half
of the premium and scores a 10 for a given metric and the UK is a
quarter of the premium and scores a 5, and France is a quarter of
the premium and scores a 5, then the premium is calculated as
follows: (10*0.5)+(5*0.25)+(5*0.25)=7.5
At step 655, the response weighted average is applied, which is
another way of consolidating the low-level data into higher-level
data. The response weighted average may be calculated by giving
combinations with more respondents a higher weight than scores with
a lower number of respondents. For example, if the US has 5
respondents and scores 10, UK has 5 respondents and scores 5, and
France has 10 respondents and scores 5, then the response weighted
average can be calculated as
[(10*5)+(5*5)+(5*10)]/(5+5+10)=6.25.
Turning to FIG. 6B, at step 660, it can be determined if there is
any data missing from the sparse matrix 122 that is associated with
the GRMS data 152 or broker survey data 128. If there is no GRMS
data 152 or broker survey data 128 for any metric for a particular
provider or categorized grouping, a regression method can be used
in step 665. However, if the GRMS data 152 or the broker survey
data 128 exist for the provider or categorized grouping, then the
process can continue to steps 670 and 675.
At step 665, the regression method can use raw and/or simulated
data to determine a relationship between retention, growth, market
share, and like. The result of the relationships determined by the
regression method can be used to estimate the broker survey 152 and
GRMS data 128 as well as patterns across the intermediate
participant survey questions based on a broad data-set. The process
can then continue to steps 670 and 675 where the actual and
simulated data of the dense matrix 118 (670) and method by which
the data was calculated for each of the values in the dense matrix
118 (675) are stored in the process execution data repository 110
independently or in combination. For example, for a combination
where there was neither broker survey data 152 nor GRMS data 128
for a particular provider grouping, the stored method for
determining the missing data values is "estimated by
regression."
At step 680, it can be determined if input data from the data
extraction engine 144 has been refreshed. For example, when the
Broker Survey, GRMS, etc., are updated such that there is a new
survey or the survey has changed, the input data can be refreshed.
If the input data has been refreshed, the process can return to
step 615 to receive the sparse matrix 122 from the data extraction
engine 144. However, if the input data has not been refreshed, then
the process is terminated.
Next, FIG. 7 illustrates a flowchart of an exemplary process 700
for evaluating simulation test results. The process 700, for
example, can be used when performing the multi-approach method of
step 640 of the process 600, described in relation to FIGS. 6A and
6B, to determine the simulation test with the highest correlation
factor according to one aspect of the present disclosure. In some
implementations, the multi-approach method of step 640 includes the
performance of one or more simulation tests. A simulation score can
be calculated that is a measure of a confidence in the simulated
data values, which is referred to as a correlation factor, and the
results of the simulation test with the highest correlation factor
can be selected as the simulation values that are incorporated into
the dense matrix 118.
At step 705, a plurality of simulation tests may be run in
parallel. Using small datasets, all calculations can be run to
determine the best test. The calculations can include various
statistical analyses, such as a Kruskal test, in order to calculate
correlation factors that are used as a metric for determining which
technique results in a best estimate of the simulation. In one
implementation, at a deepest data-layer, the plurality of
simulation tests can include taking the broker survey data 128
results associated with one or more particular categorized
groupings, in order to infer the GRMS data 152 having the same or
higher-level categorical groupings as the broker survey simulation
tests. In some embodiments, the simulation tests can be executed by
the density logic engine 134 of FIG. 1 in parallel.
At step 710, it can be determined if the test returned an
acceptable correlation factor. In some implementations, the
correlation factors have a range of 0 to 1 and relate to a
probability of occurrence of particular values within the dense
matrix 118. For example, correlation factors greater than 0.05 may
be determined to be acceptable, which corresponds to a greater than
95% confidence in the estimation technique. If the correlation
factor is not acceptable, no simulation will occur, and the process
is terminated. However, if the correlation factor is an appropriate
value, then the test with the highest correlation factor can be
selected at step 715 to be included in the dense matrix 118
calculations.
FIG. 8 is a diagram of an exemplary dense matrix 118. The dense
matrix 118 has dimensions (number of columns and rows) that
correspond to the dimensions of the sparse matrix 122. Table 800 is
a partial representation of the dense matrix 118 that includes a
large amount of data. The dense matrix 118 includes one or more
categories 802 that, for instance, can be used to classify the data
from the data lake 116. In some examples, the categories 802 can
include provider, country, product, segment, region, insurer, etc.
In some implementations, a total number of rows of the dense matrix
118 is equal to a total number of combinations of the categories
802. For each combination of the categories 802, for example, the
dense matrix 118 includes one or more metrics 804 that describe one
or more attributes of the providers 104 and combinations of
categories 802. In one example, a first metric in table 800
represents provider premium distribution with the entity reflecting
local market standing. A second metric represents the financial
rating. A third metric represents the client appeal based on
provider premium trending in relevant sector. A fourth metric
represents the retention on the entity client based by
region/segment/product combination. Each of the metrics 804 may be
calculated for all possible combinations of categories 802
(product, country, segment, and region). In addition, a total
number of columns of the dense matrix 118 may be equal to a sum of
the number of categories 802 and the number of metrics 804.
Data values in the Table 800 that are in parentheses indicate data
values that were missing in the sparse matrix 122 but have been
inferred or inherited (estimated or simulated) by the processes
described previously. In some implementations, the dense matrix 118
includes indication of all metric values inferred or inherited
rather than calculated.
FIG. 9A is a flowchart of a method 900 for determining rankings for
providers 104 based on needs and/or risk preferences of subscribers
102, which is one implementation of the ranking algorithm 224
described in relation to FIG. 2. The ranking algorithm 900 may
operate in real-time to determine rankings for the providers 104 in
response to receiving needs or risk preferences input from the
subscribers 102 via customer input UI screens, such as the external
devices 158 illustrated in FIG. 1. In addition, the ranking
algorithm 224 may operate automatically in response to receiving a
client risk profile. For example, a subscriber 102 may select
"United States" and "manufacturing" as preferences at a user input
interface screen. The ranking engine 138 can apply weighting
factors to the metrics for providers 104 that handle manufacturing
facilities based in the United States and then output ERs 124 and
rankings for the providers 104. This information can be used by the
ranking engine 138, for example, in determining a confidence
associated with recommendations presented to the subscribers 102,
as described in relation to FIG. 1 and elsewhere herein.
At step 902, a dense matrix is received. The ranking engine 138 of
FIG. 1, for example, may receive the dense matrix 118 as an input
from the density logic engine 134 and/or process execution data
repository 110.
At step 904, client preferences are received. The client
preferences, for example, may be submitted by subscribers via user
interface screens. For example, the subscriber-provider matching
system 108 may receive needs and/or risk preferences of the
subscribers 102 via one or more UI screens. For example, the
subscribers 102 can input and/or select a relative importance of
one or more provider attributes with respect to one or more types
of risks that can be addressed by services and/or products of the
providers 104. The metrics, in some examples, can include
industries, products, regions, segments, and type of coverage (e.g.
primary, excess). An exemplary user interface for receiving
customer needs and/or risk preferences is described further herein
with respect to FIG. 11. Each of the inputs by the subscribers 102
at the customer UI screens can be translated into a corresponding
customer input factor for each of the metrics of the dense matrix
118.
At step 906, weighting factors are determined for each of the
metrics of the dense matrix 118 that reflect a relative importance
of metrics with respect to determining provider ratings that
reflect risk preferences of the subscribers 102. Further, in some
embodiments, the weighting factors may reflect overall trends in
financial and insurance markets or trends significant to particular
characteristics associated with the requesting subscriber 102, the
product requested, and/or other subscription request factors (e.g.,
geographic region, industry, etc.). As such, multiple sets of
weighting factors may be determined, where each set of weighting
factors is applicable to a particular requesting subscriber's
characteristics and/or the subscription desired by the requesting
subscriber 102. In some implementations, the weighting factors are
stored in the process execution data repository 110, which can be
accessed by the ranking engine 138. The weighting factors may be
represented by one or more weight categories that can include
customer needs, data source, data-level, and velocity. For example,
the velocity corresponds to a rate at which the data sources for
the metrics are updated, such as monthly, quarterly, bi-annually,
annually, or multi-year updates. Velocity may further correspond to
rates of actual receipt of data received (e.g., on both the
scheduled and unscheduled basis, as described herein). Each set of
weighting factors may include multiple attributes. For example, the
weighting factor attributes may be represented individually by data
source. The source attributes may include, but are not limited to,
the billing data 210, market security data 212, broker survey data
214, GRMS data 216, claims survey data 218, and customer input data
230.
FIG. 9B is a diagram of exemplary metric weighting categories 926
used in the method 900 for determining rankings for the providers
104. Each of the metrics represented in the dense matrix 118 has an
associated weight category with a weight factor that is based in
part on customer risk preference inputs. For example, one or more
metrics can be weighted based on payment 910, which can include
adjustor performance, commitment, completeness, offering, payment
process efficiency, propensity to pay, and speed of payment.
Another weighting factor category is performance 912, which can
include bind performance, new business, NPS, retention, and
service. A pricing category 914 can include appetite strength,
competitiveness, cross sale strength, and value. A process category
916 can include accreditation, innovation, and investment in sales.
A product category 918 can include ability to cross sell, markets
led, and product mix. A proficiency category 920 can include
breadth and clarity of wording, industry expertise, and policy
issuance statistics. A promotion category 922 can include local
strength, marketing strength, and organizational fit. A protection
category 924 can include capital position, profitability, rating
agency feedback, and security agency ratings.
The ranking engine 138 adaptively and predictively updates the
weighting factors in each of the weighting factor categories 926
for each of the metrics based on learned trends in the market
security data 150, billing data 126, and other data sources as well
as the risk preferences of the subscribers 102. For example, the
ranking engine 138 may alter weighting factors of metrics based
upon the risk trends in the subscriber base as evidenced by the
received and optionally derived risk preferences (e.g., propensity
of selection by subscribers 102 of particular providers 104
associated with particular risk profiles). The ranking engine 138,
in some embodiments, separates subscribers 102 into peer groups
based upon characteristics of individual subscribers 102 (e.g.,
size, industry, maturity, etc.) for adaptation of weighting
factors. For example, the ranking engine 138 may identify peer
groups of subscribers 102 and generate a typical set of risk
preferences of the peer group for application to the weighting
factors, adapting the weighting factors to risk trends within the
peer group.
In some implementations, the ranking engine 128 adapts risk factors
based upon learned trends in incoming data, such as survey data.
For example, the subscribers 102 may provide customer feedback data
associated with the weighting factor of proficiency 920, which may
indicate that on average, the subscribers 102 (or one or more peer
groups thereof) tend to value industry expertise over breadth and
clarity of the wording of insurance policies and policy issuance
statistics. The ranking engine 138 can adaptively update the
weighting factors of the metrics in real-time to reflect trends in
the customer feedback data as well as current and predicted states
of financial and insurance markets.
Referring back to FIG. 9A, at step 908, empower ratings (ERs) 124
for each of the carriers are determined as a function of the needs
and/or risks preferences of the subscribers 102 determined at step
904 as well as one or more weighting factors associated with each
of the metrics 804 of the dense matrix 118. In some
implementations, the ranking engine 138 combines the weighting
factors for each metric with the subscriber risk preferences
received at step 904 to determine a score for each of the providers
104 with respect to the preferences of the subscriber 102. For
example, the ranking engine 138 can determine a combined weighting
factor for each of the metrics of the dense matrix 118 that
includes an average or weighted average of the weighting factors
(or identified set of weighting factors pertinent to the
subscriber's peer group and/or identified subscription
characteristics) and customer risk preferences for a particular
entry of the dense matrix 118. The ranking engine 138 then sums the
combined weighting factors associated with each grouping of
categories 802 to determine compatibility scores for the providers
104 based on country, product, segment, region, or insurer. In some
implementations, the compatibility scores for each of the metrics
804 of the dense matrix 118 can also be referred to as
compatibility metrics. In addition, the ranking engine 138
determines whether the compatibility scores associated with each of
the providers 104 have been calculated based on data entries of the
dense matrix 118 that have been fully or partially inherited or
inferred. If the amount of partially or fully inherited/inferred
data entries is greater than a predetermined threshold for a given
provider score, the ranking engine may 138 disregard the associated
provider rating or output the provider rating to the user interface
screen identified as a recommendation based in part upon "soft"
(derived, inferred) data points. The identification, in some
examples, can include an asterisk, highlight, color scheme, brief
comment, or star indicating that the rating is based on inherited
or inferred data.
The sum of the compatibility scores for each of the groupings, in
some implementations, is translated into the ER 124 by normalizing
the sum to a range of zero to five, which can be represented by a
five-star rating scale on the UI screens. The ER 124 can also be
determined for ranges other than the five-star scale, such as a
percentage scale, a zero to ten point scale, a letter grade scale
(e.g., A, B, C, D, F), or any other scale. In addition, ERs 124 can
be calculated with respect to each of the metric weighting
categories 926. For example, the ERs 124 can include a payment ER
124, a performance ER 124, a pricing ER 124, a process ER 124 a
product ER 124, a proficiency ER 124, a promotion ER 124, a
protection ER 124, or an overall ER 124 that combines the ERs 124
for all of the metric weighting categories 926. The ERs 124 for
each of the providers 104 can be translated into provider rankings
that can be displayed to the external devices 158 via a UI screen.
For example, the overall ER 124 may be presented in a first UI
screen, while a breakdown of ERs 124 into the weighting categories
can be presented to the user upon selection by the user, for
example through clicking on a particular recommended provider or
upon a control associated with a detailed provider comparison.
FIG. 10 is an exemplary diagram of a test harness report 1000. The
processing circuitry of the subscriber-provider matching system
108, for example, may output the test harness report 1000 to
external devices 158 of one or more backend system managers
monitoring the execution of the processes by the
subscriber-provider matching system 108 to detect unexpected errors
in the execution of the subscriber-provider matching process 200.
In some implementations, the test harness report 1000 can include
information associated with policies carried by the subscribers 102
such as type of product, effective month, expiration month, total
premium amount, revenue amount, commission amount, and fees. The
test harness report 1000 can also include other data points
extracted from the inputs and outputs of the processes of the
subscriber-provider matching system 108.
FIGS. 11-15 illustrate exemplary UI screens that are configured to
receive risk preference inputs from the subscribers 102 as well as
output the provider ratings to the subscribers 102 across various
performance categories. The UI screens also provide real-time
comparisons of one or more of the providers 104 across the various
performance categories for one or more industries. In addition, the
comparison and input tools of the UI screens offered to the
participants of the subscriber-provider matching system 108 allow
users who have little to no experience with selecting providers 104
to interact with the subscriber-provider matching system 108 in
real-time to input preferences and receive recommendations
regarding which of the providers 104 are most compatible with their
risk preferences.
FIG. 11 illustrates a screen shot 1100 of a user interface for
selecting and reviewing a user input that includes selecting one or
more risk preferences of a risk profile. In certain embodiments,
the risk preferences of the subscribers 102 can be categorized into
financial risk preferences and service risk preferences. For
example, the financial risk preferences can include a price and
total cost of risk, cover, financial rating, and claims processing
of the providers 104. The service risk preferences can include
expertise, innovation, market presence, continuity, and overall
service experience of the providers 104. In addition, average or
typical risk preference values for one or more customer peer groups
can be displayed to the subscribers 102 via the user interface. For
example, the peer groups can include categorical groupings of the
subscribers 102 by size, industry type, region, segment, product,
or all of the subscribers 102 who participate in the
subscriber-provider matching environment 100. The data management
engine 142 of FIG. 1, for example, can determine the typical risk
preference values 1134 (illustrated as triangles, as indicated by
1134a and 1134i) for the one or more subscriber peer groups in real
time as the subscribers 102 input the risk preference data to the
subscriber-provider matching system 108.
As illustrated in FIG. 11, a "risk profile" pane 1102 presents the
user with different user input metrics. The input metrics include
"Industry", "Product", "Region", "Segment", and "Primary/Excess".
The input metrics may differ depending upon the type of
subscription product (e.g., insurance, reinsurance, etc.) and/or
the type of subscriber (e.g., subscriber access level, stored
subscriber demographic information, etc.). A first navigation
control 1104, when selected, presents to the user a list of
possible choices for the "Industry" (e.g., construction). A second
navigation control 1106, when selected, presents the user a list of
possible products such as property, automobiles. A third navigation
control 1108, when selected, presents to the user a list of
possible region/country (e.g., United States, Italy, all, etc.).
For example, upon activation of the third navigation control 1108,
for example, the user may be presented with a drop-down menu,
search box, or other selection control for identifying a
region/country. A fourth navigation control 1110, when selected,
presents to the user a list of possible segments choices (e.g.,
multinational, large, medium, small, all, etc.). A fifth navigation
control 1112, when selected, presents to the user a list of
primary/excess choices.
A "preference for specific risk" pane 1114 presents the user with a
set of slider controls associated with a set of specific risks. A
first slider 1116 is provided to select a "price/total cost of
risk" risk preference. For example, the user may select a value
between 1 and 10 that represents the user's "price" risk
preference. The highest value on the slider may represent a higher
risk preference. A second slider 1118 is provided for selecting the
"cover" risk by the user. The second slider 1118 shows that the
user selected 6.4 for the "cover" risk. A third slider 1120 is
provided for selecting the "financial rating" risk preference by
the user. A fourth slider 1122 is provided for selecting "claims"
risk preference. A fifth slider 1124 is provided for selecting
"service" risk preference. A sixth slider 1126 is provided for
selecting the "expertise" risk preference. A seventh slider 1128 is
provided for selecting the "innovation" risk factor. An eighth
slider 1130 is provided for selecting a "market presence" risk
factor. A ninth slider 1132 is provided for selecting a
"continuity" risk factor.
As illustrated, each slider 1132 is overlaid with a triangular
indicator 1134 marking a value that represents the typical value of
this particular risk preference submitted by other subscribers 102
of the system 108. For example, indicator 1134a shows the
preference by other subscribers 102 for the "continuity" risk
factor. The typical risk preference profile illustrated through the
placement of the triangular indicators 1134 supply the user with an
understanding of the risk preferences asserted by other subscribers
102 of the system (e.g., peer subscribers or all subscribers). For
a new user to the system, the indicators 1134 supply an immediate
indication of potentially "reasonable" values for risk profile, as
set by a greater market.
Further, in some implementations, the slider values 1138 may be
set, upon initial presentation to the user, not at a default value
(e.g., 1 or 10), but at a start value for the user to customize. In
on example, the start values may be set to the same point as the
triangular indicators 1134--the typical risk preference values as
determined through combining risk preference profiles of a group of
subscribers. In another example, the start values may be set to an
estimated risk preference of the particular subscriber 102 based
upon past behavior of the subscriber 102, such as a risk profile
inferred from the weighting factors associated with the user's
incumbent provider or a risk profile inferred from the subscriber's
risk profile(s) related to other industries 1104, products 1106,
regions 1108, segments 1110, and/or primary excess 1112. If the
start values are based upon other risk profiles of the same
subscriber 102, in a particular example, the values may be
developed through risk profiles correlating most closely to the
present settings of the controls 1104 through 1112. For example, a
risk profile associated with the region Canada may be adopted as a
starting point for developing a risk profile associated with the
region United States. If multiple pre-existing risk profiles
correlate to the present user interface settings, the pre-existing
risk profiles may be combined to derive the start values presented
in the user interface 1100.
In some implementations, the positions of the sliders can
correspond to specific values associated with the preferences. For
example, the "preference for specific risk" pane 1114 may include a
slider for a speed of payment preference where lower slider values
correspond to a slower speed of payment and higher slider values
correspond to a faster speed of payment. A "run for specific needs"
control 1136, when selected, starts the process described herein to
generate the carrier rating.
FIG. 12 is a graphical user interface for displaying provider
ratings, rankings, and recommendations. The graphical user
interface, for example, may be generated when the "run for specific
needs" control 1136 of FIG. 11 is selected. The graphical user
interface shown in FIG. 12 presents to the user an identification
of provider ERs 124 and rankings for one or more providers 104
based on one or more categories as well as an overall rating and
ranking for each of the providers 104. In some implementations, the
categories include the weighting factor categories 926 as described
in relation to FIG. 9. For example, the ERs 124 can include a
payment ER 124, a performance ER 124, a pricing ER 124, a process
ER 124 a product ER 124, a proficiency ER 124, a promotion ER 124,
a protection ER 124, or an overall ER 124 that combines the ERs 124
for all of the metric weighting categories 926. The ERs 124 can for
each of the providers 104 can be translated into provider rankings
that can be displayed, for example, to the external devices 158 of
FIG. 1 via a UI screen.
A "carrier ratings" pane 1200 displays the provider ratings as
generated using the methodologies described herein. The "carrier
ratings" pane 1200 includes for a top predetermined number of
providers 104 (e.g., top 10 providers 104), a rank 1202, a carrier
name 1204, a first rating 1206, a second rating 1208, an overall
rating 1210, and a star rating 1212. The first rating 1206 and
second rating 1208 may include any of the weighting factor
categories 926 described previously herein. The overall rating 1210
may be a function of the first rating 1206 and the second rating
1208. For example, the first rating 1206 and the second rating 1208
may be added, averaged, or weighted then added to obtain the
overall rating 1210. Then, the star rating 1212 may be generated
using a predetermined scale. For example, when the overall rating
is equal to four, the star rating shows four completely filled
stars. In addition, the providers 104 and ratings displayed and
sorted within the carrier ratings pane 1200 can be based on other
criteria, such as region, S&P rating, segment, or product.
The carrier ratings 1202, in other embodiments, may include an
indication of recommendations made based upon inferred or inherited
data, as described herein. For example, a particular row 1214 may
include a graphic indicator, such as a highlighting, color fill,
asterisk, or brief comment indicating that the particular
recommendation was identified based in part on inferred or
inherited data. The graphic indicator, in some embodiments, is
applied to those rows 1214 representing recommendations based upon
a threshold number or percentage of derived or inherited values
used in the raking calculations, or upon a threshold portion of
derived or inherited values as weighted by the weighting factors
applied during the ranking process.
In some implementations, in addition to displaying the first rating
1206 and the second rating 1208, the user can select one of the
carrier names 1204 by touching a touchscreen or clicking a mouse on
a location of the carrier name 1204 on a screen of the external
device 158 displaying the user interface screen to view amplifying
information associated with how the ratings were determined. If the
user selects Carrier 2 on the carrier ratings pane 1200, additional
user interface screens can be displayed that shows details of how
the overall rating 1210 of 4.0 was determined as well as how the
first rating 1206 and second rating 1208 were determined. For
example, if the first rating 1206 is associated with the weighting
factor category of payment 910, an additional user interface screen
can display metrics, statistics, or other types of data associated
with a provider's speed of payment, propensity to pay, payment
process efficiency, offering, completeness, commitment, ability to
pay, and adjustor performance. For example, the data associated
with a provider's tendency to pay can include a percentage of
incurred claims paid within a predetermined time a speed of claim
settlements. In addition, the additional user interface screens can
also include the metrics, data, and statistics for the selected
provider as well as other providers. For example, the additional
user interface screens can include an average percentage of
incurred claims paid and speed of claim settlements for five, ten,
or fifteen highest-ranking providers 104 as well as average values
for all providers 104.
The additional user interface screens can also output the provider
ratings and associated metrics, statistics and data in other
formats. For example, the additional user interface screens can
display a number or percentage of providers 104 that meet certain
customer risk profile and preference criteria. In addition, the
user interface screens can present the provider ratings and values
for the weighting metric categories 926 with respect to particular
geographical regions or time periods such as one year, five years,
or ten years. In another example, additional user interface screens
may present a comparison between ratings and/or metrics associated
with an incumbent provider presently supplying a subscription
product to the subscriber 102 in comparison to the recommended
providers 104, should the incumbent provider be missing from the
presented providers 104 (e.g., the incumbent does not match the
risk profile submitted by the subscriber 102 via the user interface
1100 of FIG. 11).
FIG. 13 is a graphical user interface for displaying ratings by
categorical groupings that can include a specific segment, region,
and product needs according to one example. A "global rating" pane
1302 presents to the carrier a global status rankings (e.g, top
10), a first rating, and a second rating. The first and second
ratings may include any of the weighting factor categories 926
described previously in relation to FIG. 9. A second pane 1304
presents the entity with a rating for specific segment, region, and
product needs. As shown in FIG. 13, the ratings may be displayed in
a tabular form. In one example, the regions may include North
America, Europe, Asia Pacific, and Latin America. The segment and
product needs may include, but are not limited to, aviation,
casualty, construction, crisis management, workers compensation,
employee benefits, energy, environmental, financial lines, global
professions, health and benefits, marine, products liability,
professional indemnity, property, and property casualty package. In
addition, the second pane 1304 may show a star rating that
represents the overall rating for all customer segments.
FIG. 14 is a graphical user interface for presenting a risk
questionnaire to a user according to one example. The graphical
user interface in FIG. 14 also includes a comparison of the risk
preferences as indicated in responses to the risk questionnaire
amongst one or more categories within a particular industry. The
questionnaires may be developed to guide a novice user through the
process of supplying the subscriber-provider matching system 108
with answers indicative of risk category weightings to apply in
recommending providers 104 to the subscribers 102. The question may
vary, in some examples, based upon audience (e.g., subscriber 102
vs. intermediary participant, level of experience the user has with
the subscriber-provider system, subscriber characteristics, etc.),
geographic region (e.g., grammar differences between British
English and American English, etc.), and/or subscription product
type desired. In some embodiments, the questionnaire may be an
optional step in obtaining provider recommendations. For example,
the user may have the option of defaulting to industry preferences
or peer group preferences rather than stepping through the
questionnaires presented through the graphical user interface of
FIG. 14.
As illustrated in FIG. 14, "risk questionnaire" pane 1400 includes
three navigation controls based on three weighting categories for
determining the ERs 124 of the providers 104: a first category
control 1402, a second category control 1404, and a third category
control 1406. The first category control 1402, second category
control 1404, or third category control 1406 may correspond, for
example, to any of the weighting factor categories 926 described
previously in relation to FIG. 9. Upon activation of the first
category control 1402, for example, the user may be presented with
questions related to one of one of the first weighting factor
categories 926. The user may then input a value for each protection
question. For example, the user may select a number using the
presented scale. FIG. 14 shows a scale from 1 to 10 for each of the
protection questions although other scales may be used (e.g., 1 to
5, A to E, etc.).
Upon activation of the second category control 1404 and the third
category control 1406, the user is presented with questions
associated with other weighting factor categories 926. The weight
of each of the metrics described previously herein, for example,
may be generated as a function of the user's response to the
questions. For example, the subscriber's answers to the questions
presented through the user interface 1400 may be applied to sets of
weighting factors to customize the weighting factors for the
requesting subscriber 102. In one implementation, each of the
titles of the questions may be controls. Upon activation of a
control, the user is presented with additional information about
the question.
A radar plot 1408 displays the user preference for each of the
weighting factor categories 926 compared with the industry
preference. The radar plot 1408 may be automatically updated based
on the user's responses to the risk questionnaire. For example, the
subscriber-provider matching system 108 can process subscriber 102
responses to the risk questionnaire in real-time such that the
radar plot 1408 is modified in real-time as the subscriber 102
modifies responses to the questions. The industry preference may
represent an average calculated based on other subscribers'
responses to the questions, such as the user's peer group of
subscribers 102 or all subscribers 102 of the system 108.
Although illustrated as a survey presenting a set of questions and
associated scale of available responses, in other embodiments, the
risk questionnaire of FIG. 14 may be presented to the user in an
interactive survey form, for example, asking a series of related
questions in separate screen images, where a user's response to a
given question may alter the series of following questions
accordingly. Other presentations are possible.
FIG. 15 is a graphical user interface for displaying provider
ratings based on the risk profile and the risk questionnaire
according to one example. The graphical user interface shown in
FIG. 15 also provides a comparison of two or more providers 104
selected by the user with respect to one or more categories. The
provider rankings are generated using the methodology shown and
described in FIG. 9A. In one example, the rankings may be presented
in a tabular form as shown in FIG. 15. Table 1500 include a "Rank"
field 1502, a "carrier" field 1504, a first weighting factor
category rating field 1506, a second weighting factor rating field
1508, a third weighting factor category rating field 1510, and a
star rating field 1512. The weighting factor category weighting
fields 1506, 1508, and 1510 may be any of the weighting factor
categories 926 described previously herein. In addition, for each
of the providers 104, the user interface presents the user with a
control box 1514 to select providers 104 that the user requests to
compare. A "carrier rating comparison" radar plot 1516 shows a
comparison of the selected carrier using control boxes 1514. In the
example shown in FIG. 15, four carriers are selected for
comparison. In addition, the user's incumbent carrier may be
highlighted as shown in table 1500.
The subscriber-provider matching system 108 can process the user's
inputs in real-time such that the radar plot 1516 is modified in
real-time as the user modifies inputs to the control boxes 1514.
One of skill in the art will understand from the foregoing
description that some or all of the foregoing processes may be
executed automatically and/or in real-time in order to achieve
real-time rendering of the radar plot 1516 as the user modifies
inputs to the control boxes.
In addition, through a first navigational control 1518, the user
can print the provider ratings. Through a second navigational
control 1520, the user can share (e.g., email, fax, etc.) the
carrier ratings. In addition, through a third control (not shown),
the user can control the number of top providers 104 to be
displayed. For example, in FIG. 15, the top five providers 104 are
displayed although more or less may be displayed.
The subscriber-provider matching system 108 can also output other
graphical user interface screens than those described previously
with respect to FIGS. 11-15. In one implementation, the dashboard
GUI engine 140 can output a carrier dashboard user interface screen
to the external devices 158 of the providers 104 that provides
information associated with potential customers based on responses
of the subscribers 102 to the risk questionnaire and risk
preference inputs. For example, the subscriber-provider matching
system 108 can automatically output customer information securely
to one or more top ranking providers 104 determined by the method
900 for ranking the providers 104 via the carrier dashboard user
interface screen, email, or any other type of secure notification.
In addition, the customer information can be output to the
providers 104 in real-time as the ranking engine 138 determines the
ERs 124 for the providers 104 in response to receiving customer
risk preferences.
FIGS. 16A and 16B illustrate various aspects of an exemplary
architecture implementing a platform 1600 for automated
subscriber-provider matching. The high-level architecture includes
both hardware and software applications, as well as various data
communications channels for communicating data between the various
hardware and software components. The platform 1600 may be roughly
divided into front-end components 1602 and back-end components
1604. The front-end components 1602 are primarily disposed within a
client network 1610 including one or more clients 1612. The clients
1612 may be located, by way of example rather than limitation, in
separate geographic locations from each other, including different
areas of the same city, different cities, different states, or even
different countries. The front-end components 1602 may include a
number of workstations 1628. The workstations 1628, for example,
can be local computers located in the various locations 1612
throughout the network 1610 and executing various applications for
ranking the providers 104 with respect to needs and/or risk
preferences of the subscribers 102.
Web-enabled devices 1614 (e.g., personal computers, tablets,
cellular phones, smart phones, web-enabled televisions, etc.) may
be communicatively connected to locations 1612 and the system 1640
through a digital network 1630 or a wireless router 1631, as
described below.
Referring now to FIG. 16A, the front-end components 1602, in some
embodiments, include a number of facility servers 1626 disposed at
the number of locations 1612 instead of, or in addition to, a
number of workstations 1628. Each of the locations 1612 may include
one or more facility servers 1626 that may facilitate
communications between the web-enabled devices 1614 and the
back-end components 1604 via a digital network 1630, described
below, and between the terminals 1628, 1628A of the locations 1612
via the digital network 1630, and may store information for a
number of customers/employees/accounts/etc. associated with each
facility. Of course, a local digital network 1684 may also
operatively connect each of the workstations 1628 to the facility
server 1626. Unless otherwise indicated, any discussion of the
workstations 1628 also refers to the facility servers 1626, and
vice versa. Moreover, environments other than the locations 1612,
such as the kiosks, call centers, and Internet interface terminals
may employ the workstations 1628, the web-enabled devices 1614, and
the servers 1626. As used herein, the term "location" refers to any
of these points of contact (e.g., call centers, kiosks, Internet
interface terminals, etc.) in addition to the locations 1612, etc.
described above.
The front-end components 1602 communicate with the back-end
components 1604 via the digital network 1630. One or more of the
front-end components 1602 may be excluded from communication with
the back-end components 1604 by configuration or by limiting access
due to security concerns. For example, the web enabled devices 1614
may be excluded from direct access to the back-end components 1604.
In some embodiments, the locations 1612 may communicate with the
back-end components via the digital network 1630. In other
embodiments, the locations 1612 and web-enabled devices 1614 may
communicate with the back-end components 1604 via the same digital
network 1630, but digital access rights, IP masking, and other
network configurations may deny access of the web-enabled devices
1614. The web-enabled devices may also connect to the network 1630
via the encrypted, wireless router 1631.
The digital network 1630 may be a proprietary network, a secure
public Internet, a virtual private network or some other type of
network, such as dedicated access lines, plain ordinary telephone
lines, satellite links, combinations of these, etc. Where the
digital network 1630 includes the Internet, data communication may
take place over the digital network 1630 via an Internet
communication protocol. In addition to one or more web servers 1690
(described below), the back-end components 1604 may include a
central processing system 1640 within a central processing
facility. Of course, the locations 1612 may be communicatively
connected to different back-end components 1604 having one or more
functions or capabilities that are similar to the central
processing system 1640. The central processing system 1640 may
include processing circuitry (e.g., one or more computer
processors) 1662 adapted and configured to execute various software
applications and components of the platform 1600, in addition to
other software applications, such as a medication management
system.
The central processing system 1640, in some embodiments, further
includes a database 1646 (which may include one or more databases).
The database 1646 can be adapted to store data related to the
operation of the platform 1600. The central processing system 1640
may access data stored in the database 1646 when executing various
functions and tasks associated with the operation of the platform
1600.
Although the platform 1600 is shown to include a central processing
system 1640 in communication with three locations 1612, and various
web-enabled devices 1614 it should be understood that different
numbers of processing systems, locations, and devices may be
utilized. For example, the digital network 1630 (or other digital
networks, not shown) may interconnect the platform 1600 to a number
of included central processing systems 1640, hundreds of locations
1612, and thousands of web-enabled devices 1614. According to the
disclosed example, this configuration may provide several
advantages, such as, for example, enabling near real-time uploads
and downloads of information as well as periodic uploads and
downloads of information. This provides for a primary backup of all
the information generated in the wireless data transfer process.
Alternatively, some of the locations 1612 may store data locally on
the facility server 1626 and/or the workstations 1628.
FIG. 16A also depicts one possible embodiment of the central
processing system 1640. The central processing system 1640 may have
a controller 1655 operatively connected to the database 1646 via a
link 1656 connected to an input/output (I/O) circuit 1666. It
should be noted that, while not shown, additional databases may be
linked to the controller 1655 in a known manner.
The controller 1655 includes a program memory 1660, the processing
circuitry 1662 (may be called a microcontroller or a
microprocessor), a random-access memory (RAM) 1664, and the
input/output (I/O) circuit 1666, all of which are interconnected
via an address/data bus 1665. It should be appreciated that
although only one microprocessor 1662 is shown, the controller 1655
may include multiple microprocessors 1662. Similarly, the memory of
the controller 1655 may include multiple RAMs 1664 and multiple
program memories 1660. Although the I/O circuit 1666 is shown as a
single block, it should be appreciated that the I/O circuit 1666
may include a number of different types of I/O circuits. The RAM(s)
1664 and the program memories 1660 may be implemented as
semiconductor memories, magnetically readable memories, and/or
optically readable memories, for example. A link 1635 may
operatively connect the controller 1655 to the digital network 1630
through the I/O circuit 1666.
FIG. 16B depicts one possible embodiment of the front-end
components 1602 located in one or more of the locations 1612 from
FIG. 16A. Although the following description addresses the design
of the locations 1612, it should be understood that the design of
one or more of the locations 1612 may be different from the design
of others of the locations 1612. Also, each of the locations 1612
may have various different structures and methods of operation. It
should also be understood that while the embodiment shown in FIG.
16B illustrates some of the components and data connections that
may be present in a location 1612, it does not illustrate all of
the data connections that may be present in a location 1612. For
exemplary purposes, one design of a location is described below,
but it should be understood that numerous other designs may be
utilized.
Each of the locations 1612, as illustrated, has one or more
portable computing devices 1633 (e.g., notebook computers, tablet
computers, smart phones, personal data assistants, etc.) and/or a
facility server 1626. The digital network 1630 and wireless router
1631 operatively connect the facility server 1626 to the number of
portable computing devices 1633 and/or to other web-enabled devices
1614 and workstations 1628. The digital network 1630 may be a wide
area network (WAN), a local area network (LAN), or any other type
of digital network readily known to those persons skilled in the
art. The digital network 1630 may operatively connect the facility
server 1626, the portable computing devices 1633, the workstations
1628, and/or the other web-enabled devices 1614 to the central
processing system 1640.
Each portable computing device 1633, workstation 1628, client
device terminal 1628a, or facility server 1626 includes a
controller 1670, as depicted in FIG. 16B in relation to the server
1626. Similar to the controller 1655 from FIG. 16A, the controller
1670 includes a program memory 1672, processing circuitry (e.g.,
one or more microcontrollers or microprocessors) 1674, a
random-access memory (RAM) 1676, and an input/output (I/O) circuit
1680, all of which are interconnected via an address/data bus 1678.
In some embodiments, the controller 1670 may also include, or
otherwise be communicatively connected to, a database 1682. The
database 1682 (and/or the database 1646 of FIG. 16A) includes data
such as client records, broker, records, reinsurer information
records, quote template data, and other rules and miscellaneous
information. As discussed with reference to the controller 1655, it
should be appreciated that although FIG. 16B depicts only one
microprocessor 1674, the controller 1670 may include multiple
microprocessors 1674. Similarly, the memory of the controller 1670
may include multiple RAMs 1676 and multiple program memories 1672.
Although the FIG. 16B depicts the I/O circuit 1680 as a single
block, the I/O circuit 1680 may include a number of different types
of I/O circuits. The controller 1670 may implement the RAM(s) 1676
and the program memories 1672 as semiconductor memories,
magnetically readable memories, and/or optically readable memories,
for example.
Either or both of the program memories 1660 (FIG. 16A) and 1672 may
also contain machine-readable instructions (i.e., software) 1671,
for execution within the processing circuitry 1662 (FIG. 16A) and
1674, respectively. The software 1671 may perform the various tasks
associated with operation of the location or locations, and may be
a single module 1671 or a number of modules 1671a, 1671b. While the
software 1671 is depicted in FIGS. 16A and 16B as including two
modules, 1671a and 1671b, the software 1671 may include any number
of modules accomplishing tasks related to location operation.
In addition to the controller 1670, the portable computing devices
1633, the workstations 1628 and the other web-enabled devices 1614
may further include a display and a keyboard as well as a variety
of other input/output devices (not shown) such as a scanner,
printer, mouse, touch screen, track pad, track ball, isopoint,
voice recognition system, digital camera, bar code scanner, RFID
reader, etc. A customer 102 or carrier 104 may sign on and occupy
each portable computing device 1633, workstation 1628 or client
device terminal 1628a to assist the employee in performing his or
her duties. Employees may sign onto the portable computing device
1633, workstation 1628 or the client device terminal 1628a using
any available technique, such as entering a user name and password.
If an employee signs on to the system using a portable computing
device 1633, the network 1684 communicates this information to the
facility server 1626, so that the controller 1670 may identify
which employees are signed onto the platform 1600 and which
portable computing device 1633, workstation 1628 or client device
terminal 1628a the employee is signed onto.
Various software applications resident in the front-end components
1602 and the back-end components 1604 implement functions related
to location operation, and provide various user interface means to
allow users (e.g., brokers) to access the platform 1600. One or
more of the front-end components 1602 and/or the back-end
components 1604 may include a user-interface application 1611 for
allowing a user to input and view data associated with the platform
1600, and to interact with the platform described herein. In one
embodiment, the user interface application 1611 is a web browser
client, and the facility server 1626 or the central processing
system 1640 implements a server application 1613 for providing data
to the user interface application 1611. However, the user interface
application 1611 may be any type of interface, including a
proprietary interface, and may communicate with the facility server
1626 or the central processing system 1640 using any type of
protocol including, but not limited to, file transfer protocol
(FTP), telnet, hypertext-transfer protocol (HTTP), etc. Moreover,
some embodiments may include the user interface application 1611
running on one of the web-enabled devices 1614, while other
embodiments may include the application 1611 running on the
portable computing device 1633 in a location 1612. The central
processing system 1640 and/or the facility server 1626 may
implement any known protocol compatible with the user-interface
application 1611 running on the portable computing devices 1633,
the workstations 1628 and the web-enabled devices 1614 and adapted
to the purpose of receiving and providing the necessary information
during the data transfer process.
For purposes of implementing the platform 1600, the user interacts
with location systems (e.g., the central processing system 1640)
via a number of web pages. FIG. 16C depicts a web server 1690
connected via the network 1630 to a number of portable computing
devices 1633 and other web-enabled devices 1694 through which a
user 1692 may initiate and interact with the platform 1600. The web
enabled devices may include, by way of example, a smart-phone
1694a, a web-enabled cell phone 1694b, a tablet computer 1633, a
personal digital assistant (PDA) 1694c, a laptop computer 1694d, a
desktop computer 1694e, a portable media player (not shown), etc.
Of course, any web-enabled device appropriately configured may
interact with the platform 1600. The web-enabled devices 1633 and
1694 need not necessarily communicate with the network 1630 via a
wired connection. In some instances, the web enabled devices 1633
and 1694 may communicate with the network 1630 via wireless signals
1696 and, in some instances, may communicate with the network 1630
via an intervening wireless or wired device 1631, which may be a
wireless router, a wireless repeater, a base transceiver station of
a mobile telephony provider, etc. Each of the web-enabled devices
1633 and 1694 may interact with the web server 1690 to receive web
pages, such as the web page 1698 depicted in FIG. 16C, for display
on a display associated with the web-enabled device 1633 and 1694.
It will be appreciated that although only one web server 1690 is
depicted in FIG. 16C, multiple web servers 1690 may be provided for
the purpose of distributing server load, serving different web
pages, implementing different portions of the location web
interface, etc.
Turning now to FIG. 16D, the web server 1690, like the facility
server 1626, includes a controller 1606. Similar to the controllers
1655 and 1670, the controller 1606 includes a program memory 1608,
processing circuitry (e.g., one or more microcontrollers or
microprocessors) 1616, a random-access memory (RAM) 1618, and an
input/output (I/O) circuit 1620, all of which are interconnected
via an address/data bus 1622. In some embodiments, the controller
1606 may also include, or otherwise be communicatively connected
to, a database 1624 or other data storage mechanism (e.g., one or
more hard disk drives, optical storage drives, solid state storage
devices, etc.). The database 1624 may include data such as customer
web profiles, product data, web page templates and/or web pages,
and other data necessary to interact with the user 1692 through the
network 1630. As discussed with reference to the controllers 1655
and 1670, it should be appreciated that although FIG. 16D depicts
only one microprocessor 1616, the controller 1606 may include
multiple microprocessors 1616. Similarly, the memory of the
controller 1606 may include multiple RAMs 1618 and multiple program
memories 1608. Although the FIG. 16D depicts the I/O circuit 1620
as a single block, the I/O circuit 1620 may include a number of
different types of I/O circuits. The controller 1606 may implement
the RAM(s) 1618 and the program memories 1608 as semiconductor
memories, magnetically readable memories, and/or optically readable
memories, for example.
In addition to being connected through the network 1630 to the user
devices 1633 and 1694, as depicted in FIG. 16C, FIG. 16D
illustrates that the web server 1690 may also be connected through
the network 1630 to the central processing system 1640 and/or one
or more facility servers 1626. As described below, connection to
the central processing system 1640 and/or to the one or more
facility servers 1626 facilitates the platform 1600.
The program memory 1608 and/or the RAM 1618 may store various
applications for execution by the processing circuitry 1616. For
example, an application 1632 may provide a user interface to the
server, which user interface may, for example, allow a network
administrator to configure, troubleshoot, or test various aspects
of the server's operation, or otherwise to access information
thereon. A server application 1634 operates to populate and
transmit web pages to the web-enabled devices 1694, receive
information from the user 1692 transmitted back to the server 1690,
and forward appropriate data to the central processing system 1640
and the facility servers 1626, as described below. Like the
software 1671, the server application 1634 may be a single module
1634 or a number of modules 1634a, 1634b. While the server
application 1634 is depicted in FIG. 16D as including two modules,
1634a and 1634b, the server application 1634 may include any number
of modules accomplishing tasks related to implantation of the web
server 1690. By way of example, the module 1634a may populate and
transmit the web pages and/or may receive and evaluate inputs from
the user 1692 to facilitate in the wireless transfer of data from a
first tablet to a second tablet, while the module 1634b may
communicate with one or more of the back end components to provide
the requested data.
Typically, a user may launch or instantiate a user interface
application (e.g., a web browser or other client application) from
a web-enabled device, such as the web-enabled devices 1633 and
1694, to access the web server 1690 cooperating with the system
1640 to implement the platform 1600.
One or more processors can be utilized to implement any functions
and/or algorithms described herein, unless explicitly stated
otherwise. Additionally, any functions and/or algorithms described
herein, unless explicitly stated otherwise, can be performed upon
virtual processing circuitry (e.g., one or more virtual processors,
for example on one or more physical computing systems such as a
computer farm or a cloud drive).
Reference has been made to flowchart illustrations and block
diagrams of methods, systems and computer program products
according to implementations of this disclosure. Aspects thereof
are implemented by computer program instructions. These computer
program instructions may be provided to processing circuitry of a
general purpose computer, special purpose computer, or other
programmable data processing apparatus to produce a machine, such
that the instructions, which execute via the processing circuitry
of the computer or other programmable data processing apparatus,
create means for implementing the functions/acts specified in the
flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a
computer-readable medium that can direct a computer or other
programmable data processing apparatus to function in a particular
manner, such that the instructions stored in the computer-readable
medium produce an article of manufacture including instruction
means which implement the function/act specified in the flowchart
and/or block diagram block or blocks.
A number of implementations have been described. Nevertheless, it
will be understood that various modifications may be made without
departing from the spirit and scope of this disclosure. For
example, preferable results may be achieved if the steps of the
disclosed techniques were performed in a different sequence, if
components in the disclosed systems were combined in a different
manner, or if the components were replaced or supplemented by other
components. The functions, processes and algorithms described
herein may be performed in hardware or software executed by
hardware, including computer processing circuitry (e.g., processors
and/or programmable circuits) configured to execute program code
and/or computer instructions to execute the functions, processes
and algorithms described herein. Additionally, some implementations
may be performed on modules or hardware not identical to those
described. Accordingly, other implementations are within the scope
that may be claimed.
* * * * *