Financial alert system based on image of user spending behavior

A user mobile device includes a network interface, an input/output (“I/O”) device configured to exchange data with a user, the I/O device including a display device configured to present a graphical user interface to the user, an imaging device configured to generate image data; and a processing circuit. The processing circuit comprising a memory and a processor. The memory stores instructions that cause the processor to receive, by at least one of the network interface, I/O device, and imaging device, data indicative of spending behavior of the user, generate a user spending alert based on the received data, the user spending alert including a user photograph, and present, via the display device, the user spending alert to the user.

BACKGROUND

A wealth of information regarding an individual can be ascertained from photographs possessed by the individual. For example, some individuals tend to capture photographs of things that matter the most to them (e.g., family, friends, material possessions). Thus, individual preferences and other idiosyncrasies underlie the photographs associated with an individual. Such information may be leveraged to assist individuals in various ways.

SUMMARY

One embodiment relates to a user computing device. The user computing devices includes a network interface, an input/output (“I/O”) device, an imaging device, and a processing circuit. The network interface is configured to communicate data over a network with a financial institution computing system associated with a financial institution. The I/O device is configured to exchange data with a user. The I/O device includes a display device configured to present a graphical user interface to the user. The imaging device is configured to generate image data. The processing circuit includes a memory and a processor. The memory is configured to store instructions that, when executed by the processor, cause the user computing device to receive, by at least one of the network interface, I/O device, and the imaging device, data indicative of a spending behavior of the user; generate a user spending alert based on the received data, the user spending alert including a photograph of the user; and present, via the display device, the user spending alert to the user.

Another embodiment relates to a computer-implemented method. The method includes receiving, by a mobile device associated with a user, data indicative of spending behavior of the user. The method also includes generating, by the mobile device, a user spending alert based on the received data, the user spending alert including a user photograph. The method also includes presenting, by a display device of the mobile device, the user spending alert to the user.

Another embodiment relates to a non-transitory computer readable media having computer-executable instructions embodied therein that, when executed by a processor of a user computing device associated with a user, causes the user computing device to perform operations to provide an alert to the user. The operations include receiving data indicative of a spending behavior of the user. The operations also include generating a user spending alert based on the received data, the user spending alert including a user photograph. The operations also include presenting the user spending alert to the user.

DETAILED DESCRIPTION

Before turning to the figures, which illustrate example embodiments, it should be understood that this application is not limited to the details or methodology set forth in the following description or illustrated in the figures. It should also be understood that the phraseology and terminology employed herein is for the purpose of description only and should not be regarded as limiting. For example, the embodiments of systems and methods discussed herein may be relevant to any of a variety of circumstances where providing an alert to a user may be useful.

Referring generally to the figures, systems and methods for providing photograph-based financial alerts to a user are shown according to example embodiments. A user computing device associated with the user receives data indicative of a user spending behavior. In various embodiments, the data indicative of a user spending behavior may include user transaction data received from a financial institution, an image captured by the user, and user location data. In some embodiments, upon receiving the data indicative of the user spending behavior, the user computing device analyzes the data to determine if the received data correlates with a user spending trigger. User spending triggers may include datasets (e.g., location datasets, user emotional states, user biometric datasets, and user transaction information) that have been determined to bear an association with negative user transactions (e.g., user overspending) or emotional states (e.g., happy, sad, excited). In some embodiments, upon determining that the received data correlates with a user spending trigger, the user computing device generates and presents a spending alert including a photograph of the user. In some embodiments, the photograph bears a relationship to a user financial goal or obligation. As a result, the user is effectively reminded to avoid harmful spending.

The embodiments and implementations of the systems and methods disclosed herein improve current spending alert systems by providing users with dynamic, individually-tailored spending alerts. This is done through leveraging user photograph data in at least two different ways. First, user photograph data is used to identify user preferences correlated with user transaction data to generate a financial profile for the user. The financial profile may identify a user budget as well as include a set of user spending triggers. Secondly, user photograph data is used to generate user spending alerts that are presented to the user when it is determined, through the systems and methods disclosed herein, that the user may engage in a negative transaction (e.g., transactions departing from the budget of the user's financial profile). Thus, the systems and methods disclosed herein utilize user photograph data both in formulating triggers for user alerts and in the alerts themselves. As will become more apparent based on the following description, this multi-faceted leveraging of user photograph data facilitates the provisioning of well-timed, personalized spending alerts and product offers.

The embodiments discussed herein may be relevant to any of a variety of circumstances where providing an alert to a user may be useful. For example, in one embodiment, user photograph data may be leveraged in accordance with the systems and methods disclosed herein in offering a product to the user. To illustrate, an advertisement including a user photograph identified as positive via the methods described below may be presented to the user. The inclusion of such an image personalizes the advertisement, thus making the user more likely to view the advertisement. As such, the systems and methods disclosed herein may be utilized to improve many current systems.

Referring now toFIG. 1, a block diagram of an image analysis system100is shown according to an example embodiment. As described in further detail herein, the image analysis system100facilitates the delivery of personalized alerts and advertisements to a user110. In this regard, the image analysis system100retrieves or otherwise accesses photograph data associated with the user110to determine user preferences and identify the timings of positive user emotional states and negative user emotional states. Based on such preferences and timings, the image analysis system100identifies products to recommend to the user110and/or various circumstances that may be associated with negative emotional states of the user110. Upon detection that the user110is potentially in one of the identified circumstances, an alert is provided to the user110.

The user110includes any type of entity capable of being monitored and engaging in a transaction. In some arrangements, the user110is an individual holding an account at a financial institution140. In some arrangements, the financial institution140offers an alert program to the user110. The financial institution140may include commercial or private banks, credit unions, investment brokerages, or the like.

The image analysis system100includes a user computing device112associated with the user110and a financial institution computing system142associated with the financial institution140, whereby these components are communicably coupled to each other over a network150. The network150provides communicable and operative coupling between the user computing device112, the financial institution computing system142, and other components described herein to provide and facilitate the exchange of communications (e.g., data, instructions, messages, values, commands). The network150is a data exchange medium, which may include wireless networks (e.g., cellular networks, Bluetooth®, WiFi, Zigbee®), wired networks (e.g., Ethernet, DSL, cable, fiber-based), or a combination thereof. In some arrangements, the network150includes the Internet. In some embodiments, the network150may further include a proprietary banking network to provide secure or substantially secure communications.

The user computing device112is a computing device associated with the user110. The user computing device112includes any type of computing device that may be used to receive information from the financial institution computing system142. In some arrangements, the user110uses the user computing device112to communicate with various third party computing systems (not shown). Third party computing systems may, for example, provide a social media platform enabling the user to communicate with various other users, a search engine enabling the user to locate and access information, and the like. In this regard, the user computing device112may include any wearable or non-wearable device. Wearable devices refer to any type of device that an individual wears including, but not limited to, a watch (e.g., smart watch), glasses (e.g., eye glasses, sunglasses, smart glasses), bracelet (e.g., a smart bracelet), etc. User computing device112may also include any type of mobile device including, but not limited to, a phone (e.g., a smart phone), tablet, personal digital assistant, and/or computing devices (e.g., desktop computer, laptop computer, personal digital assistant).

In the example embodiment shown, the user computing device112includes a network interface114enabling the user computing device112to exchange information over the network150, a user input/output (“I/O”) device116, a banking client application118, a third party client application128, and stored photograph data130. The user I/O device116includes hardware and associated logics configured to enable the user computing device112to exchange information with the user110. An input device or component of the user I/O device116allows the user110to provide information to the user computing device112, and may include, for example, a mechanical keyboard, a touchscreen, a microphone, a camera, a fingerprint scanner, any user input device engageable with the user computing device112via a USB, serial cable, Ethernet cable, and so on. An output device or component of the user I/O device116allows the user110to receive information from the user computing device112, and may include, for example, a digital display, a speaker, illuminating icons, LEDs, and so on.

The banking client application118is structured to provide displays to the user computing device112that enable the user110to manage financial accounts. Accordingly, the banking client application118is communicably coupled to the financial institution computing system142(e.g., the account management circuit146) and is structured to permit management of user financial accounts and transactions. The displays provided by the banking client application118may be indicative of current account balances, pending transactions, profile information (e.g., contact information), and the like. Additionally, the banking client application118is also configured to present an alert to the user using the systems and methods disclosed herein.

In some embodiments, the banking client application118is a separate software application implemented on the user computing device112. The banking client application118may be downloaded by the user computing device112prior to its usage, hard coded into the memory of the user computing device112, or be a web-based interface application such that the user computing device112may provide a web browser to the application, which may be executed remotely from the user computing device112. In the latter instance, the user110may have to log onto or access the web-based interface before usage of the applications. Further, and in this regard, the banking client application118may be supported by a separate computing system including one or more servers, processors, network interface circuits, etc. that transmit applications for use to the user computing device112(e.g., the financial institution computing system142). In certain embodiments, the banking client application118includes an API and/or a software development kit (SDK) that facilitates the integration of other applications (e.g., the third party client application128) with the banking client application118.

In some embodiments, the banking client application118includes program logics that cause the user computing device112to perform the systems and methods disclosed herein. In this regard, the banking client application118is shown to include an image analysis circuit120, profile generating circuit122, a trigger monitoring circuit124, and alert circuit126. It should be understood that, in some embodiments, the banking client application118includes more, less, or different circuits. For example, the activities of one circuit may be combined with those of another circuit. In some embodiments, the methods and functionalities described below may be performed at the financial institution computing system142rather than at the user computing device112. Thus, the embodiment shown is for example purposes only.

The image analysis circuit120is configured to retrieve user photograph data and assess user photos to learn various user characteristics and preferences. In this regard, the image analysis circuit120may be configured to retrieve stored photograph data130on the user computing device112. Stored photograph data130may include any form of information regarding user photos stored on the user computing device112. For example, stored photograph data130may have been captured by a camera included in the user I/O device116and stored in association with photograph metadata (e.g., a photograph timing, location, file name, location, caption) in the memory of the user computing device112. Additionally, the image analysis circuit120may also be configured to retrieve user photograph data stored in association with other applications on user computing device112, such as the third party client application128.

The third party client application128is an application provided by a third party entity (e.g., an entity other than the financial institution140). For example, the third party client application128may be a social media application, a photograph management and storage application, or any other type of application. In some embodiments, the user computing device112includes a number of different third party client applications128. A user110may store photos in relation to a third party client application128. For example, in the case of a social media application, user photograph information may be stored at a remote computing system. Such user photograph information may include the actual image data associated with the user photos, photograph captions, comments on the photos, and photograph timing information. To access these photos, the user110may have to log into a web-based or application portal. In some embodiments, the image analysis circuit120of the banking client application118includes various application programming interfaces (APIs) that facilitate the banking client application118accessing such user photograph information stored at the external computing system (or at the user computing device112) in association with third party client applications128.

Upon retrieving the user photograph information, the image analysis circuit120is configured to assess the user photograph data to determine various user preferences and characteristics. Certain user characteristics may be gathered directly from image data contained in the retrieved photograph information. For example, the image analysis circuit120may perform a process to identify individuals (or pets) other than the user110that are in the photos of the user110. In this regard, the image analysis circuit120may identify a first photograph that includes both the user110and at least one other individual. Next, the image analysis circuit120may search additional user photographs for the other individual. If a particular individual appears in multiple user photos, the image analysis circuit120may assess the photograph metadata to ascertain the identity of the other individuals (e.g., the other individual may be named in a caption or “tagged” in the photo). Alternatively, additional user characteristics may be learned through assessment of the photograph metadata. For example, the captions or other image metadata may reveal that the other individual in the photos is a child of the user110.

The image analysis circuit120may also identify other patterns in the user photos. For example, the image analysis circuit120may perform a color shading analysis on each user photograph to estimate the identity of various objects contained in the user photos. For example, if a shading analysis of the user photos reveals multiple instances of the user110holding a particular object (e.g., a musical instrument, sporting equipment, gaming counsel, etc.), the image analysis circuit120may identify the object based on the grouping of pixel shading contained in the image data (e.g., the image analysis circuit120may include a plurality of object signatures to which the user photograph data may be compared).

Additionally, the image analysis circuit120is also configured to determine the emotional state of the user110in the various user photos. For example, the image analysis circuit120may identify photos containing the face of user110and perform an assessment of the relative positioning and size of various user facial features (e.g., lips, eyes, eyebrows, and chin) to estimate the emotional state of the user. In one embodiment, in a registration process for the alert program offered by the financial institution140the user110may provide a baseline user image. The baseline user image may be an image of the face of user110sas the user110smiles. The relative positioning of the mouth of user110in one of the retrieved user photos may be compared to that in the baseline image to approximate the emotional state of user110. Photos in which the relative positioning or size of the mouth of user110differs from that in the baseline image may be classified as user negative emotion photos and photos in which the relative positioning or size of the mouth of user110mouth is similar to that in the baseline user image may be classified as positive user photos. Upon classifying each user photograph contained in the retrieved user photograph data as either a positive or a negative user photo, the image analysis circuit120may identify the timing of each such identified photograph. As such, the timing of user positive emotional states and user negative emotional states may be determined.

Alternatively or additionally, the image analysis circuit120may assess the image metadata to ascertain the emotional state of user110. For example, the image analysis circuit120may identify a user reaction to the photograph (e.g., a “like”) or perform a textual analysis of a user comment on the photograph to approximate the emotional state of user110relating to each one of the photos.

Additional user preferences or characteristics may be gained through assessment of the photograph metadata. For example, the image analysis circuit120may perform an assessment of the location data associated with each user photograph to determine user location preferences. The most common location associated with the user photos may be identified as a user “home” or baseline location. If the location information stored in association with a number of other user photos differs from the user baseline location by more than a predetermined amount, this is an indication that the user110frequently travels. In such a case, the image analysis circuit120may identify traveling as a user preference.

Additionally, the image analysis circuit120may identify a set of user-preferred locations where the user photos are most commonly taken. User-preferred locations may be associated with a particular location (e.g., set of GPS coordinates) or location criteria (e.g., a distance away from a reference point, such as the baseline location of user110or from another reference point like a particular merchant).

In some embodiments, the image analysis circuit120performs an additional assessment of the photograph metadata. For example, user emotional associations may be gathered from the photograph metadata. In this regard, the image analysis circuit120may scan the photograph metadata for various indications of the emotional state of user110. User emotional indicators may include various proxies for a contemporaneous user emotional state such as certain words or phrases (e.g., the phrase “I'm disappointed” and other similar phrases may be negative user emotional indicators). Other emotional indicators may be associated with other aspects of the photograph data. For example, certain times (e.g., past 2:00 AM) may be a negative user emotional indicator. Additionally, the photograph metadata may be further assessed for additional user preferences. Comments, captions, or photograph names associated with the photos may be worded such that they reveal user preferences. Items included in positive statements may be identified as user preferences, for example.

The profile generating circuit122is configured to utilize the information gained from the user photograph data to build a user profile. The user profile may contain the various user preferences or characteristics of the user learned by the image analysis circuit120. In various embodiments, such preferences may be utilized to customize the displays presented to the user by the banking client application118. For example, the displays presented to the user110by the banking client application118may include a portion used by the financial institution140to inform the user110regarding various products offered by the financial institution140. The specific products presented in such a portion may be individually tailored to the user110based on the user preferences. For example, if the analysis performed by the image analysis circuit120reveals that the user110likes to travel, a travel rewards credit card may be advertised to the user110. In another example, if the user photograph data reveals that the user110has a child, a college savings program advertisement may be presented to the user.

In some embodiments, the user profile is configured to effect the manner of operation of the banking client application118. For example, via the methods described herein, the banking client application118may generate and present various alerts to the user110to prevent the user110from engaging in certain spending behavior. The user profile generated by the profile generating circuit122may be used to determine the timing of such alerts. In this regard, the profile generating circuit122may generate a set of user alert triggers. User alert triggers may include datasets (e.g., location datasets, user emotional states, user biometric datasets, and user transaction information) that have been determined to bear an association with negative user transactions (e.g., user overspending) or emotional states. To generate such triggers, the profile generating circuit122may integrate the information regarding the user110gathered from the user photograph data with user financial data stored at the financial institution computing system142.

In this regard, the profile generating circuit122may be configured to request information from the financial institution computing system142over the network160. For example, the profile generating circuit122may formulate an information request containing a unique user identifier for transmittal to the financial institution computing system142over the network160via the network interface114. The unique user identifier may have been assigned to the user110when the user110installed the banking client application118on the user computing device112. In response to receipt of such a request, the financial institution computing system142(e.g., via the account management circuit146described below) may retrieve user financial data (e.g., a user transaction history and user account balance information) from the accounts database148and transmit the user financial data to the user computing device112over the network160.

Upon receipt of the user financial data by the user computing device112, the profile generating circuit122may generate a set of user financial guidelines based on the user transaction data. For example, based on the information gathered from the user photograph data (e.g., family information and user interests or preferences) and the user financial information, the profile generating circuit122may generate a budget for the user110. The budget may allocate the funds or income of user110(e.g., determined based on a direct deposit into an account held by the user110at the financial institution140) towards living expenses (e.g., adjusted based on the user family information gained through analysis of the user photograph data) and other user interests (e.g., travel, hobbies, etc.). In some embodiments, the allocations provide suggested amounts that the user110should spend on a particular category or interest. In some embodiments, the user financial guidelines are generated at the financial institution computing system142(e.g., via the account management circuit146) and transmitted to the user computing device112.

In addition to allocating user funds, the financial guidelines may generate a set of transaction parameters that define transactions that should be avoided by the user110given the budget of user110. Such parameters may include location datasets (e.g., associated with merchants selling products at prices outside of the budget of user110) and incremental spending amounts (e.g., an amount spent by the user110within a predefined period of time). In some embodiments, the financial guidelines also include various other user financial goals. For example, the profile generating circuit122may suggest an amount that the user110should set aside for the college tuition of a child of user110.

Having generated the user financial guidelines, the profile generating circuit122may generate a set of user alert triggers based on the user transaction data and user photograph data. Regarding the user transaction data, the profile generating circuit122may identify time periods when the user110did not follow the financial guidelines discussed above. For example, if the user110spent more than an allocated amount over the course of a given week, the profile generating circuit122may identify a transaction or set of transactions that caused the user110to deviate from the guidelines. To perform this identification, the profile generating circuit122may determine baseline user spending patterns (e.g., a set of most common merchants shopped at by the user110, or a statistical distribution of the timing of various user transactions), and identify transactions that deviate from the user's baseline spending patterns. For example, if a user110engages in an irregular transaction (e.g., a large purchase such as furniture or an appliance), the profile generating circuit122may identify various aspects of the transaction (e.g., the timing, the merchant name, the merchant location, etc.) and set those aspects as user alert triggers.

In some embodiments, the profile generation circuit122generates user overspending triggers based on general information regarding the user (e.g., a user income level, biographical user data, and user interests determined via the analysis of the user photograph data discussed above). For example, the profile generation circuit122may select a subset of general triggers for the user110based on the income and location of user110. The general triggers may include parameters descriptive of general spending activity that is avoided by financially healthy individuals having comparable information (e.g., income level, location, family status, etc.) to the user110. Such general triggers may include location datasets (e.g., locations associated with merchants avoided by the financially healthy individuals), spending patterns (e.g., temporal spacing between transactions above a specified amount), and other financial habits (e.g., investing patterns, the patterns in which funds are placed into a savings account, etc.).

Regarding the user photograph data, the profile generating circuit122may be configured to correlate the timing of user emotional states (as determined by the image analysis circuit120) with the timing of transactions of the user110. Characteristics of user transactions that are consistently timed relative to negative user emotional states may be set as user alert triggers. For example, if the user photograph data indicates that the user110is consistently in a negative emotional state at a certain time after (e.g., the next day) after the user110engages in particular type of transaction (e.g., at a restaurant or entertainment venue), the profile generating circuit122may set characteristics of those transactions as user alert triggers.

Alternatively or additionally, having determined that a particular user photograph is associated with negative user spending behavior, the profile generating circuit122may set data associated with that photograph as a user alert trigger. For example, the location where the photograph was taken may be set as a user alert trigger. In another example, a portion of the photograph that includes the image of another individual that is with the user110may be set as a user alert trigger. This way, via the methods described below, if the user110takes a photograph with that other individual with whom they tend to overspend, an alert is provided to the user110to prevent the user110from engaging in such overspending.

In some embodiments, additional types of user data may be set as user alert triggers. For example, activity or biometric data regarding the user110captured by the user computing device112or an external device (e.g., a user activity tracker measuring user steps and heartrate) may be received by the profile generating circuit122, correlated with user transactions and/or emotional states, and established as a user alert trigger. For example, if analysis of patterns in user activity data reveals that a user tends to overspend during time periods where the user's heartrate is within a certain range, or when the user takes above a certain number of steps in a predetermined period, such datasets may be established as user alert triggers.

In some embodiments, the profile generating circuit122is configured to match the generated user alert triggers to various user financial goals. As described below, this matching facilitates effective alerts being presented to the user110in response to particular triggers being detected. In some embodiments, the matching is based at least in part on the transaction data used to generate the user alert triggers. For example, the matching may be based on the amount of the transactions of user110. User alert triggers associated with transactions or sets of transactions that differ from user financial guidelines by a limited amount, for example, may be paired with short term user financial guidelines (e.g., weekly spending budgets); while user alert triggers associated with transactions that differ from user spending events by a larger amount may be paired with more long-term user financial goals (e.g., investment goals and savings account goals).

The trigger monitoring circuit124is configured to monitor the user110for occurrence of the user alert triggers established by the profile generating circuit122. In this regard, the trigger monitoring circuit124is configured to assess data from various sources to determine if the data is indicative of any of the user alert triggers. The data analyzed by the trigger monitoring circuit124may include user transaction data received from the financial institution computing system142, user photograph data, user location data, data gathered from the third party client application128(e.g., user social media posts and photos, events on a user calendar, a user search history), and other user data (e.g., user activity data). Regarding user photograph data, the trigger monitoring circuit124may include an API that links with a camera on the user computing device112such that, each time the user captures a photograph with the camera, the photograph data is made accessible to the trigger monitoring circuit124. Upon accessing the photograph data, the trigger monitoring circuit124may perform an assessment of the image data in the photograph for user alert triggers. For example the trigger monitoring circuit124may determine the emotional state of the user110, or ascertain if the photograph contains any other individuals that were previously identified by the profile generating circuit122as user alert triggers.

In some embodiments, the trigger monitoring circuit124also periodically receives user location data generated by a GPS device on the user computing device112. To determine if the location data is indicative of a user alert trigger, the trigger monitoring circuit124determines if the most recent location measurement is within a threshold of location data previously established as a user alert trigger. Additionally, the trigger monitoring circuit124analyzes user transaction data periodically received from the financial institution computing system142for user alert triggers. For example, the profile generating circuit122may identify certain user transactions (e.g., at a particular type of merchant) as triggers for later user spending. Accordingly, the trigger monitoring circuit124may assess the most recent transactions of user110for the occurrence of any user alert triggers.

Regarding third party application data, the trigger monitoring circuit124is configured to periodically retrieve user data stored in association with the third party client application128(e.g., either on the user computing device112or from an external third party computing system) and analyze the retrieved data to determine if any indications of user alert triggers are present. In an example, the third party client application128is a calendar application enabling the user110to input information regarding upcoming appointments or other events. Upon retrieving data regarding upcoming events of the user110stored in association with the third party client application128, the trigger monitoring circuit124is configured to perform a textual analysis of the description of the user events (e.g., attendee information, location information, timing information, and the like) to determine if any user alert triggers are present. For example, if an event is at a merchant at which the user110previously overspent, a user alert trigger is present. Similar analysis may be performed with respect to data gathered from other third party applications (e.g., social media applications and user web browsing histories).

It should be noted that, while in the example shown the trigger monitoring circuit is on the user computing device112, other embodiments are envisioned. For example, once the profile generating circuit122on the user computing device112generates a set of user alert triggers, the triggers may be transmitted to the financial institution computing system142and stored in association with the user110at the accounts database148. In such an embodiment, the alert circuit126may be placed at the financial institution computing system142which may monitor user transaction data for the occurrence of certain user alert triggers (e.g., transactions at merchants that are correlated with negative user emotional states). Upon detection of such a trigger, the financial institution computing system142may transmit a notification to the user computing device112identifying the detected trigger. In response, the banking client application118may present an alert to the user110via the methods described below.

The alert circuit126is configured to retrieve or generate user alerts for presentation to the user110in response to the trigger monitoring circuit124receiving an indication of the occurrence of a user alert trigger. The user alerts may contain a user photo. In some embodiments, the previously captured user photograph includes a user photograph where the user110is in a negative emotional state. The particular photograph may be selected based on the detected alert trigger. For example, in an embodiment, the user alert trigger may be associated with a particular user photograph (e.g., the profile generating circuit122paired user photograph to the alert trigger based on data associated with the photograph or a transaction having a timing that was correlated with the photo), that photograph may be retrieved and presented to the user110. This way, the user is pre-emptively reminded of the negative emotional state caused by the spending activity, and potentially prevented from re-performing such actions.

In some embodiments, the user alerts contain photos where the user110is in a positive emotional state (e.g., as identified by the image analysis circuit120). The particular photograph contained by the alert may be randomly selected by the alert circuit126. For example, the alert circuit126may select a subset of stored photograph data130that was previously identified by the image analysis circuit120as positive user photograph data. The identified data may be re-formatted for presentation to the user110and stored in association with the banking client application118on the memory of the user computing device112. This way, upon detection a user alert trigger, the subset of photograph data may be retrieved and included in an alert presented to the user110. In some embodiments, such positive user photos are presented to the user110in response to the trigger monitoring circuit124receiving an indication that the user is in a negative emotional state (e.g., based on a recently captured photo, a recent transaction, or a recent user social media post).

In some embodiments, the user photos contained in the user spending alerts are selected to bear a relationship to a user financial goal or other financial guidelines included in the profile of user110. In this regard, upon the profile generating circuit122generating a user profile, the alert circuit126may be configured to match previously captured user photograph data to particular user alert triggers. Such matching may be based on the particular financial goal that the user alert triggers were previously paired with by the profile generating circuit122. For example, if a particular user alert trigger was paired with an investment goal for a college tuition investing plan, the alert circuit126may assess the user photograph data to identify any user photos that contain an image of a child of user110, and store the identified photos in association with the alert trigger. This way, upon detection of the alert trigger by the trigger monitoring circuit124, the user110is reminded of an important long-term financial goal that may be impacted by potential spending behavior.

In some embodiments, the user spending alerts contain information regarding the financial status of the user110. For example, an alert may include an account balance of the user110or an amount that the user110has spent over a period (e.g., a month). In some embodiments, the particular information included on the user spending alert is selected based on the user alert trigger detected to have occurred. For example, upon the detection of a user alert trigger previously associated with a particular long term user financial goal, the alert circuit126may request information regarding an investment account of the user110at the financial institution140. In response, the financial institution computing system142may retrieve information regarding the user investment account, and transmit that information back to the user computing device112for incorporation into the user alert. For alert triggers associated with short term user financial goals, specific subsets of user transaction data received from the financial institution computing system142may be selected for presentation to the user. For example, the alert circuit126may identify a recurring expense (e.g., a rent payment or a utility bill) of the user110from a set of user transaction data received from the financial institution computing system142, and include the recurring expense in a spending alert. This way, the user110is reminded of expenses that they must make prior to engaging in other types of overspending.

In some embodiments, the alert circuit126presents previously-captured photos of the user110in response to the detection of certain user transactions. For example, upon the detection of an out-of-the ordinary negative user transaction (e.g., car repairs, home repairs, medical expenses, funeral expenses, etc.), the alert circuit126may select a positive user photograph for presentation to the user110. As such, the banking client application118reminds the user110of positive times.

Still referring toFIG. 1, the financial institution computing system142is a computing system associated with the financial institution140. In the example embodiment shown, the financial institution computing system142includes a financial institution network interface144enabling the financial institution computing system142to exchange data over the network150, an account management circuit146and an accounts database148. The accounts database148is structured to retrievably store information pertaining accounts held by a number of customers at the financial institution. The accounts database148may include non-transient data storage mediums (e.g., local disc or flash-based hard drives, local network servers) or remote data storage facilities (e.g., cloud servers). The accounts database148may include personal customer information (e.g., names, addresses, phone numbers), identification information (e.g., driver's license numbers, standard biometric data), and customer financial information (e.g., token information, account numbers, account balances, available credit, credit history, transaction histories).

The account management circuit146is configured to manage the financial accounts of various customers, including maintaining and handling transaction processing for various customer accounts. In some embodiments, the banking client application118is provided by the account management circuit146. In this regard, the account management circuit210is configured to transmit various instructions, data, and values utilized by the banking client application118on the user computing device112to present the various displays to the user110described herein. In some embodiments, the account management circuit146performs various operations described herein as being performed by the user computing device112via the banking client application118.

Referring now toFIG. 2, a flow chart of a method200of generating a financial profile for a user110based on user photograph data is shown, according to an example embodiment. The method200may be performed by components ofFIG. 1such that references may be made to one or more components ofFIG. 1to aid the description of the method200.

At step202, a user input providing access to user photograph data is received. The user110may provide such an input to the image analysis circuit120of the banking client application118on the user computing device112. In one embodiment, the banking client application118presents the user110with an interface that enables the user110to indicate a preference to register for a photograph alert program provided by the financial institution140. In response to the user110indicating such a preference, the banking client application118may cause the user computing device112to transmit a notification signal to the financial institution computing system142over the network150. In turn, the financial institution computing system142may transmit an updated banking client application118(e.g., including the image analysis circuit120, profile generating circuit122, trigger monitoring circuit124, and alert circuit126) to user computing device112. In some embodiments, the banking client application118shown inFIG. 1is already installed on the user computing device112, and the user110provides an input to provide the banking client application118permission to access user photograph data.

In some embodiments, the input specifies multiple locations from which user photograph data may be retrieved. For example, the user110may indicate that there is user photograph data stored at a remote server (e.g., cloud photograph storage or a social media platform), and provide the banking client application118permission to access the user photograph data stored at the remote server. In some embodiments, the input enables the banking client application118to access user photograph data stored in association with third party client applications128on the user computing device112.

At step204, user photograph data is retrieved. In some embodiments, the image analysis circuit120of the banking client application118retrieves user photograph data from various locations. For example, in some arrangements, the user computing device112includes stored photograph data130that is in the memory of the user computing device112. In such arrangements, upon receiving permission at step202, the image analysis circuit120retrieves the stored photograph data130, which may include sets of image data and photograph metadata (e.g., titles, captions, time stamps, location coordinates).

In some embodiments, the image analysis circuit120accesses user photograph data stored externally from the user computing device112. For example, the image analysis circuit120may include various APIs through which remotely stored user photograph data may be requested and received from external computing systems (e.g., external computing systems providing or otherwise associated with third party client applications128) over the network150. After user photograph data is retrieved, a set of user photograph data includes a set of user photos and associated photograph metadata.

At step206, user preferences and characteristics are determined based on the retrieved user photograph data. In some embodiments, the image analysis circuit120performs an assessment of the images associated with the retrieved user photograph data as well as photograph metadata to generate a user profile. For example, the image analysis circuit120may identify other individuals that are commonly in the photos of user110. Photograph metadata (e.g., titles and captions associated with the images) may then be assessed to ascertain the identity and status (e.g., family member or friend) of the other individuals. Additionally, the images may be analyzed to reveal other user preferences. For example, objects present in the images may be identified to reveal various user preferences (e.g., hobbies and interests).

Photograph metadata may also reveal various user preferences. For example, location and timing data associated with each image may reveal user-preferred locations. Patterns in the location data may also reveal other user preferences (e.g., where the user110works and lives, whether the user110likes to travel). In another example, photograph titles or captions may reveal various other characteristics about the user (e.g., the user110has a pet or child).

At step208, the user photos are categorized based on the emotional state of the user110in the photos. In some embodiments, the image analysis circuit120determines the emotional state of the user110in photos containing the user110by assessing portions of the image data that contains the user110′ face. For example, the image analysis circuit120may compare the user photos to a photograph of the user110in which the user110is in a baseline emotional state (e.g., happy). The relative positioning of various user facial features in the user photos may be compared to the baseline image to estimate the emotional state of user110.

In some embodiments, the image analysis circuit120assesses photograph metadata to estimate the emotional state of the user110at the time that each user photograph was taken. For example, the image analysis circuit120may assess photograph captions or titles to determine whether any indicators of user positive emotional states (e.g., positive words, exclamations) or indicators of user negative emotional states (e.g., negative words) are present. In another example, user actions taken with respect to the photos may be used as an indication of the emotional state of user110. For example, some photograph data that the user110posted on social media may contain information regarding user reactions to the photograph (e.g., a user110may “like” a photograph or “tag” themselves in a photograph). As such, the image analysis circuit120may assess such information to ascertain the emotional state of the user110. A user “liking” a photograph may indicate a positive user emotional state, while a user “un-tagging” themselves from a photograph may indicative a negative user emotional state.

In some embodiments, the image analysis circuit120verifies an estimate of the emotional state of user110using various aspects of the photograph data. For example, the image analysis circuit120may generate a first estimate based on the image data (e.g., the relative positioning of user facial features) and a second estimate based on photograph metadata. If the first estimate matches the second estimate, the emotional state of user110at the time of the photograph is verified.

As a result of the categorization of the user photograph data, the banking client application118is aware of various patterns in user emotional states. In other words, the banking client application118has determined times when the user110is in a positive emotional state and times when the user110is in a negative emotional state.

At step210, user transaction data is retrieved. In various embodiments, the profile generating circuit122requests the user transaction data from the financial institution computing system142over the network150. The financial institution computing system142(e.g., via the account management circuit146) may retrieve user transaction data (e.g., including user account balance information, information describing the timing, merchants, and amounts, of various user transactions) from the accounts database148, and transmit the user transaction information over the network150to the user computing device112.

At step212, the user transaction data is correlated with the categorized user photograph data to identify a positive set of user transactions and a negative set of user transactions. In various embodiments, each transaction in the positive set of user transactions is timed such that it bears a relationship to a set of user photograph data that was determined to be indicative of a positive user emotional state (e.g., within a predetermined timing threshold of the photograph data). Accordingly, the profile generating circuit122may compare the timing of various user photos to the timing of various user transactions to identify the positive and negative sets of user transactions. In an example, a first transaction occurring prior to a first user photograph in which the user110is in a positive emotional state may be identified as a positive user photo. A second transaction occurring prior to a second user photograph in which the user110is in a negative emotional state may be identified as a negative user photo.

At step214, a set of financial guidelines is generated for the user110based on the user transaction data and the user photograph data. The profile generating circuit122may generate such guidelines based in part on the user transaction data received from the financial institution computing system142. For example, various characteristics of the financial situation of user110may be ascertained based on the transaction data received from the financial institution computing system142. For example, the income of user110may be estimated based on account balance information (e.g., a direct deposit). User family information (e.g., spouse and children information) may also be received from the financial institution computing system142(e.g., such information may also be stored in the accounts database148). Based on the user110's financial situation and the user preferences (e.g., interests and hobbies) identified from the user photograph data, the profile generating circuit122may generate a user budget that allocates the income of user110to various user interests (e.g., family and living expenses, hobbies, travel, investments, etc.). The user budget may include a suggested amount that the user110should spend each month on a particular category.

In some embodiments, the user financial guidelines include other user financial goals (e.g., financial goals other than spending less than the allocations provided by the budget discussed above). For example, the user financial guidelines may include amounts that the user should set aside in savings or invest. In some embodiments, the financial guidelines may suggest an investment product to the user110(e.g., a retirement account, a college tuition savings account) and provide suggested amounts that the user110should set aside in such products over a predetermined period. In some embodiments, the investment products suggested to the user110may be identified based on the information gained from the user110via analysis of the user photograph data. For example, if analysis of the user photograph data reveals that the user110has a young child, a college tuition investment account may be included in the financial guidelines.

At216, a set of user alert triggers is generated. In some arrangements, the profile generating circuit122generates some user alert triggers based on the transaction data received from the financial institution computing system142at210. For example, the profile generating circuit122may identify a set of user transactions that caused the user110to depart from the user budget discussed above. In this regard, the profile generating circuit122may identify a time period when the user110spent more than an allocated amount on a particular category (e.g., a particular week where the user110spent more than an allocated amount on living expenses). Next, the profile generating circuit122may identify a transaction or set of transaction that cased the deviation (e.g., a transaction having an amount that is greater than what is normally spent by a user110at a particular merchant or a transaction at a merchant not commonly shopped at by the user110). Various characteristics of the identified transaction (e.g., location coordinates associated with the merchant, the amount, the timing), may then be set as user alert triggers.

In some embodiments, if a user photograph was identified to have been captured near the time of the identified transaction (e.g., a photograph in the positive or negative sets of user photos), various characteristics of the user photograph (e.g., the identity of other individuals in the user photo, the location of the user photo) may also be set as user alert triggers. This way, a more comprehensive set of user alert triggers is generated. As a result, the banking client application118more effectively alerts the user110when the potential to engage in a negative transaction arises.

In some embodiments, other user alert triggers are generated based on the user photos categorized as being indicative of a negative user emotional state of the user110at208. For example, location coordinates associated with the negative photos, the identity of other individuals in the negative photos, and the timing of the user negative photos may be set as user alert triggers. This way, the banking client application118may provide a positive alert to the user110when it is detected that the user110may be in a negative emotional state.

At218, user alerts are configured. In some embodiments, the profile generating circuit122performs a multi-step process to configure the user alerts. First, the profile generating circuit122may pair certain user alert triggers to certain user financial guidelines generated at step214. In some embodiments, such pairing is based on a user transaction that was used to generate the user alert trigger. As discussed above, the profile generating circuit122may generate user alert triggers by identifying characteristics of certain user transactions that caused the user110to depart from the financial guidelines of user110. For example, the user110may have engaged in a transaction for an amount at a merchant that is greater than what the user110normally spends at the merchant, so the profile generating circuit122may have set certain characteristics (e.g., location) of the transaction as alert triggers. In some embodiments, the financial guideline to which such alert triggers are paired is based on the amount of the transaction. In an example, if the amount of the transaction is above a first threshold but below a second threshold, the alert triggers are paired with at least one short term user financial guideline (e.g., a weekly spending amount on user living expenses). However, if the amount of the transaction is above both the first and second thresholds, the alert triggers may be paired with at least one long term user financial guideline (e.g., a suggested investment amount). This way, triggers associated with larger potential user spending amounts are associated with long term user goals. This may be appropriate, because large deviations from user spending guidelines may have long term consequences for the user110.

Next, the profile generating circuit122may also pair certain user photos with user financial guidelines. In some embodiments, negative user photos are paired with short term user financial goals. For example, the profile generating circuit122may select a negative user photograph that was taken after (e.g., but within a certain timing threshold of) a previous user overspending event. To illustrate, a negative user photograph taken within a day of a previous user overspending event may be paired with a user spending trigger associated with merchants at which the user110tends to overspend. This way, the user110is reminded of how the previous episode of overspending affected them.

In some embodiments, user photos are paired with longer term financial goals of the user (e.g., investment goals) based on the contents of the user photos. For example, a suggested amount that the user110should place into a college tuition investment account may be associated with a user photograph containing a child of user110. In another example, a mortgage payoff goal may be paired with a user photograph containing an image of the home of user110.

In some embodiments, a single user photograph is paired with every user financial goal. For example, a photograph of the user110and the family of user110may be paired with each user financial goal. In some embodiments, the user110may select a group of photos to be included in the user alerts. For example, the banking client application118may present the user110with an interface that enables the user110to select a photograph to be included in the alert based on the type of alert trigger detected.

In some embodiments, once the user photos are paired with the user financial goals, they are formatted (e.g., compressed) to be included in alerts presented to the user via the methods described herein and stored in association with the paired financial goal or alert trigger such that they are accessible to the banking client application118. As such, upon detection of the associated alert trigger, an alert trigger including the paired user photograph may be generated and presented to the user110.

Referring now toFIG. 3, a flow chart of a method300of providing a photographic alert to a user110is shown, according to an example embodiment. The method300may be performed by components ofFIG. 1such that references may be made to one or more components ofFIG. 1to aid the description of the method300.

At step302, data indicative of user spending is received. In various embodiments, the user computing device132receives data regarding activity of the user110from a variety of different sources. In various embodiments, the trigger monitoring circuit124may receive information from various items on the user computing device112. For example, the trigger monitoring circuit124may interface with a GPS device on the user computing device112to periodically receive information pertaining to the location of the user. Alternatively or additionally, the trigger monitoring circuit124may interface with a camera or other imaging device included in the user I/O device116to receive user photograph data as photos are captured with the camera. In some embodiments, the trigger monitoring circuit124receives data from an accelerometer other sensor on the user computing device112. For example, the trigger monitoring circuit124may receive data from a pedometer application on the user computing device112that processes measurements by the accelerometer to generate an indication of the steps of user110.

In some embodiments, the trigger monitoring circuit124receives data generated via various other applications on the user computing device112. For example, the trigger monitoring circuit124may access user social media data input and received by the user110via a third party client application128on the user computing device112. The user social media data may include user photograph data (e.g., captured by the user or other individual), user profile information (e.g., information regarding user social media connections, user preferences), and information regarding posts of the user110. In another example, the trigger monitoring circuit124receives information from a calendar application on the user computing device112including the timing, location, and descriptions of various user events.

In some embodiments, the trigger monitoring circuit124also receives user financial information from the financial institution computing system142. For example, in some embodiments, the financial institution computing system142transmits user financial data (e.g. user account balance information, user transaction data) to the user computing device112upon receiving a request from the user110. In some embodiments, the financial institution computing system142periodically (e.g., hourly) transmits such information to user computing device112. In some embodiments, the trigger monitoring circuit124receives information from various other devices associated with the user110. For example, in some embodiments, the trigger monitoring circuit124receives data from an activity tracker that tracks various aspects of the activity level of the user110(e.g., steps, heartrate).

At step304, it is determined if the received data is indicative of a user alert trigger (e.g., a user alert trigger generated via the method200discussed above). As discussed herein, user alert triggers may include data descriptive of various aspects of user transactions (e.g., location coordinates associated with a particular merchant, a particular merchant category, a transaction amount at a particular merchant). Additionally, user photograph data associated with various user photos may also be set as user alert triggers. For example, the identity of other individuals included in user photos, the location associated with various user photos, and an activity or action taken by the user110or other individual in a photograph may all be established as user alert triggers. In some embodiments, user alert triggers include general alert triggers that are generally indicative of heightened levels of spending such as certain locations where individuals tend to overspend (e.g., restaurants or amusement parks) and certain patterns of transactions (e.g., transactions at a certain frequency).

Accordingly, the trigger monitoring circuit124is configured to compare the information received at302to the user alert triggers. As such, if the trigger monitoring circuit124receives user location data obtained via a GPS device, the trigger monitoring circuit124compares the user location data to the various sets of location data in the user alert triggers (e.g., location data associated with merchants at which the user110overspends, location data associated with a negative user photo). If the user location data indicates that the location of the user110is within a threshold of that of a user alert trigger, the user alert trigger is detected to have occurred and the method advances to the step306described below.

In the case that the trigger monitoring circuit124receives user photograph data, the trigger monitoring circuit124may assess image data associated with the photograph to determine if any alert triggers are present in the photo. For example, the trigger monitoring circuit124may identify the emotional state of the user110in the photograph (in some embodiments, user emotional states may be set as user alert triggers). Additionally, the trigger monitoring circuit124may determine if any individuals other than the user110are present in the photograph and, if so, compare the portions of the image to previously taken images of individuals established as user spending triggers. In some embodiments, the trigger monitoring circuit124also identifies an activity being performed by the user110in the photograph based on certain objects (e.g., held by the user110, in the scenery around the user, etc.) and determines if the activity has been established as a user alert trigger.

Additionally, data from third party applications118on the user computing device112may also be assessed for user alert triggers. For example, data received from a calendar application on the user computing device112may be assessed to determine if any upcoming user events are at a location or with individuals that have been established as user alert triggers. User social media posts may also be assessed for user emotional states, events with other individuals, and indications of user activities that may be user alert triggers. In various embodiments, if none of the data received at302is indicative of any of the user alert triggers, the method300reverts back to step302and the user computing device112continues to monitor the user data.

At step306, if the received data is determined to be indicative of a user alert trigger, a user alert is generated. In various embodiments, the user alert includes at least one of a reminder of a user financial goal or obligation and a user photo. In some embodiments, the user alert includes only a user photo. The user photograph may include one of the user photos categorized at step208of the method200discussed above. As discussed above, upon the categorization of user photos, the photos may be formatted for presentation to the user in user alerts and stored in association with the banking client application118on the user computing device112.

Accordingly, upon detection of a user alert trigger, the alert circuit126may cause a processor of the user computing device112to retrieve one of the categorized photos for presentation to the user110via an alert. In some situations, the alert circuit126retrieves either a positive user photograph (e.g., a photograph categorized as being associated with a positive emotional state during the step208) at random in response to the detection of certain user alert triggers. For example, if the detected user alert trigger relates to the emotional state of the user110(e.g., the user110has taken a photograph in which the user110is in a negative emotional state), a positive user photograph may be retrieved an presented to the user110via a user alert in an effort to cheer the user up. In some embodiments, the alert circuit126may also retrieve a positive user photograph in response to detecting user transactions in certain categories. For example, in response to the user110engaging in a transaction at a merchant in one of a subset of categories (e.g., mechanics, healthcare), a positive photograph may be presented to the user110to cheer the user110up after unavoidable spending.

In some embodiments, the alert circuit126retrieves a negative photograph (e.g., a photograph categorized as being associated with a negative emotional state during the step208) in an effort to prevent certain forms of user spending. For example, upon detection of a user alert trigger that is an indicator of user overspending (e.g., the user110being at a certain location, or the user110being with another individual), the alert circuit126may retrieve a negative user photograph determined to have been captured after a previous episode of user overspending (e.g., a negative user photograph correlated with a user overspending transaction at the step212of the method200discussed above). As a result, the user110is reminded of how overspending makes them feel, and may be prevented from overspending again.

In some embodiments, the alert circuit126is configured to generate a user alert that contains both a user financial goal (e.g., a user budget, an investment goal, etc.) as well as a user photo. In some embodiments, the particular user financial goal to be presented to the user in the alert is dependent on the detected alert trigger. In such embodiments, the alert circuit126may generate an alert that contains a user financial goal that is paired with the detected alert trigger at step218of the method200discussed above. The alert may contain a description of the user financial goal (e.g., a budget, a target investment amount, a mortgage payoff amount, etc.) as well as a level of user spending. Additionally, the alert circuit126may retrieve the user photograph that was paired with the user financial goal at the step218discussed above. As a result the user110is presented with a description of a financial goal as well as a user photograph to remind the user110of the importance of the financial goal.

In various embodiments, the alert circuit126is configured to vary the alerts presented to the user110. Accordingly, the particular financial goal and/or user photograph to be included in the alert presented to the user110may be selected based at least in part on the photos and financial goals presented in previous user alerts. For example, upon detection of a user alert trigger associated with a short term user financial goal, the alert circuit126may access a data log that includes a history describing the alerts previously presented to the user. If the data log indicates that the last short term user alert presented to the user110includes a first short term financial goal (e.g., a weekly living expenses budget), the alert circuit may generate an alert that presents a second short term financial goal (e.g., a monthly rental payment) to the user110. A similar process may be utilized to ensure that the user alerts do not repetitively present the same user photos to the user.

At step308, the alert is presented to the user110. In an embodiment, the alert is presented to the user110as a graphical user interface on a display device of the user computing device112. In some embodiments, a push notification is generated, transmitted to various other user devices over the network150, and presented to the user110via various other applications associated with the financial institution140on the other user devices. This way, even if the user110does not have the user computing device112with them, the user110is presented with the alert.

Referring now toFIG. 4, an alert interface400is shown, according to an example embodiment. In various embodiments, the interface400may be presented to the user110responsive to a user alert trigger being detected by the methods described herein. In the example shown, the interface400is presented to the user110on a display device of the user I/O device116of the user computing device112.

The alert interface400includes a reminder402of a user financial goal, user target levels404, and a user photograph406. The reminder402includes a description of a user financial goal. In various embodiments, the particular user financial goal described may vary depending on the detected user alert trigger. In the example shown, user financial goal described by the reminder402is a long term user financial goal (a college savings account balance). As such, the particular user alert trigger that was detected (e.g., via the method300discussed above) to bring about the presentation of the alert interface400may have been previously paired with the long term financial goal (e.g., at step218of the method200discussed above).

The user target levels404includes a first user target level related to the user financial goal (e.g., a target account balance) and a second user target level providing a suggested spending level to the user. The alert circuit126may calculate the suggested spending level based on user account balance information (e.g., received from the financial institution computing system142) and the financial guidelines generated during the method200discussed above. As such, not only is the user110reminded of a financial goal that will be adversely impacted by user overspending, the user110is also provided guidance as to how much is to be spent.

The user photograph406may be a previous photograph of the user110. In some embodiments, the user photograph406may bear a relationship to the financial goal described by the reminder402. In the example shown, the user photograph406may include a picture of a child of the user110. This way, the photograph reinforces the reminder402. In some embodiments, the user photograph406is a photograph classified as a negative user photograph (e.g., a photograph determined to be indicative of a negative user emotional state at the step208discussed above). In some embodiments, the timing of the negative user photograph bears a relationship to a previous episode of negative user spending (e.g., where the user110departed from a budget). As a result, the user110is reminded of how previous overspending events make them feel.

It should be understood that no claim element herein is to be construed under the provisions of 35 U. S. C. § 112(f), unless the element is expressly recited using the phrase “means for.”