METHOD, APPARATUS AND SYSTEM FOR RETRIEVING FINANCIAL DATA
A method for retrieving financial data for a budget is described. The method includes receiving, by a computer, a request for at least one monetary value representative of a sum of money to allocate for a particular outcome. The request is parsed, by a computer, to determine at least one expense item required to achieve the particular outcome. Ancillary information is retrieved relating to said at least one expense item, the ancillary information comprising a cost value representative of said at least one expense item. The retrieved ancillary information is processed to output said at least one monetary value.
Latest THE ROYAL BANK OF SCOTLAND PLC Patents:
The present disclosure relates to a method and system for retrieving and processing financial data. In particular, but not exclusively, the present disclosure relates to a method, apparatus and system for providing information relating to a financial goal. The method and system may form part of a networked software application.
BACKGROUNDA number of software applications are available to help a user manage financial data. The user may be an individual looking to manage their personal finances or a member of a commercial entity looking to manage the finances of the entity. For example, in the latter case, the user may be a director or financial officer of a company or corporation. The software application may allow for the importing of financial, time-series data and the display of subsequently calculated financial metrics. The software application may comprise a standalone software product or may be implemented as a networked service, for example a service accessed over the Internet using a suitable browser.
While these software applications go some way to helping a user manage financial data, and thus help a user manage their personal finances or the finances of a commercial entity, they still require input from the user. This requires the user to have a certain amount of financial knowledge. What is needed is a way to manage financial data that requires less input and financial knowledge from the user.
SUMMARYIn accordance with a first example, there is provided a method for retrieving financial data for a budget, comprising: receiving, by a computer, a request for at least one monetary value representative of a sum of money to allocate for a particular outcome; parsing, by a computer, the request to determine at least one expense item required to achieve the particular outcome; retrieving, by a computer, ancillary information relating to said at least one expense item, the ancillary information comprising a cost value representative of said at least one expense item; and processing, by a computer, the retrieved ancillary information to output said at least one monetary value.
In accordance with a second example, there is provided an apparatus for retrieving financial data for a budget, comprising a request processor arranged to receive a request for at least one monetary value representative of a sum of money to allocate for a particular outcome, parse the request to determine at least one expense item required to achieve the particular outcome, prepare one or more queries for said at least one expense item, receive, in response to said one or more queries, ancillary information, the ancillary information comprising a cost value representative of said at least one expense item and process the retrieved ancillary information to output said at least one monetary value.
In accordance with a third example, there is provided a system for retrieving financial data for a budget, comprising:
a computing device arranged to generate a request for at least one monetary value representative of a sum of money to allocate for a particular outcome;
an information server arranged to receive the request and generate one or more queries for one or more respective expense items required to achieve the particular outcome; and
one or more reference servers arranged to receive said one or more queries and return data comprising cost values representative of said one or more expense items.
There may be provided a computer program product comprising a non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a computerised device to cause the computerised device to perform as described above.
Further features and advantages of the disclosure will become apparent from the following description of preferred embodiments of the disclosure, given by way of example only, which is made with reference to the accompanying drawings.
Certain software applications allow the setting of a financial task or a purchase category. For example, a software application may import monthly statements from a bank account. The user and/or the software application may categorise individual transactions in the monthly statements. If the transaction data is stored in a database this categorisation may include storing a value in a category field and/or assigning a markup language label or “tag” to the transaction data. The software application may categorise individual transactions using a lookup list or table that maps string expressions located in transaction data, or particular billing entities, to a category. In this case, the software application is then able to display a cumulative total of all transaction amounts for a particular category for a particular time period. For example, the category “utilities” may be applied to transactions containing the words “electricity”, “gas” or “water”, and then the total spend on “utilities” for a month may be displayed.
Certain software applications allow a user to set a budget total for a particular task or purchase category. For example, a user may set a budget total of $150 dollars for the payment of bills categorised as “utilities”. The software application may have functionality to allow a user to graphically or otherwise compare an actual cumulative total for a category with the budget total for the same category. A graphical warning may be displayed when a user exceeds a budget total.
An information server 130 is also coupled to network 110. The information server 130 is arranged to supply information to be rendered on a display of computing device 120. For example, the information server 130 may comprise a Hypertext Transfer Protocol (HTTP) server arranged to supply Hypertext Markup Language (HTML) web pages to a client web browser implemented on the computing device 120. Alternatively, the information server 130 may comprise an application server that interacts with a software application stored in the memory of, and operating upon a processor of, the computing device 120. The information server 130 comprises a request processor 132 that is arranged to receive requests from the computing device 120. In certain implementations, the request processor 132 may also perform authentication and/or authorisation of a user of the computing device 120; in other implementations this may be performed by an external server (not shown). The information server 130 also comprises a database interface 134. The database interface 134 is arranged to retrieve information from an information database 136. This information may comprise information that is rendered into an HTML document that is sent to the computing device 120 for display. As well as, or instead of, this function, the information database 136 may comprise information that is used by the request processor 132 to build a dynamic HTML document incorporating data from additional data providers. For ease of explanation, information database 136 is shown as a single database in
In
Each data provider may be arranged to provide a different set of financial data. For example, the first data provider 160 may belong to a credit-card account supplier, the second data provider 170 may belong to a current account supplier and the third data provider 180 may belong to a savings account supplier. The user of the computing device 120 may have an account with one or more of these suppliers. Hence, each of the data sources may store account information for the user. Alternatively, the data providers may represent geographically distinct suppliers, for example, one for a bank in a first region and a second for the same bank in a second region. This information may be aggregated by one or more of the information server 130 and an application on the computing device 120 in order to produce an interface such as that shown in
As an example, a user may access a website or networked application on the computing device 120. In this case, the computing device 120 communicates with the information server 130 to display a log-in screen. The user enters in one or more authorisation details, such as a username and password or passcode, which are validated by either the request processor 132 or an external authorisation server. Following a successful authorisation, details for the user are retrieved from the information database 136 under command of database interface 134. These details comprise further authorisation data for each of the first data provider 160, the second data provider 170 and the third data provider 180. The details may comprise a Uniform Resource Identifier (URI) for a service supplied by each data provider that allows access to account data stored on each of the data sources. The details may also comprise a log-in macro that specifies a series of commands to authenticate the user with the aforementioned services. For example, the details may include a series of HTML commands that act to authenticate the user. The details are processed and sent to an appropriate data provider by the request processor 132. In one embodiment, each data provider returns account information that is processed by the request processor 132 before being stored in the information database 136 by the database interface 134. This stored account information is then used to assemble an HTML document that is sent to the computing device 120 over the network 110. In certain embodiments, the request processor 132 may supply a document to the computing device 120 with links to information provided by each of the data providers, i.e. such that the document displayed on the computing device 120 uses information received directly from the data providers. An application on the computing device 120 may then dynamically assemble the supplied account information to provide an interface on a display of the computing device 120. In certain embodiments, information may be temporarily stored, i.e. cached, at the information server 130. In certain embodiments, the information server 130 may send data to an application running on the computing device 120, said application then rendering the data for display on the computing device 120. The exact implementation will depend on security requirements and the nature of the networked devices and services.
For one or more of the categories displayed in the first level budget table 216 a graphical indicator may be provided.
Returning to the example of
The subsequent steps involved in setting up a new savings goal 321 are shown in
The example of
Following the method of
When using a budgeting application such as one relating to spending targets and/or savings goals similar to those shown in
In accordance with examples described herein, methods and systems are provided to retrieve data in order to set an accurate budget level. For example, as indicated by the starred (“*”) controls in
In the present example, the request is received at the request processor 132. The request processor 132 processes the request so as to generate a query relating to the request at step 620. The query comprises a request for information relating to one or more expense items that are associated with the category or financial goal, i.e. comprise items that the user is likely to have appear as transaction items if an outcome embodied by the category or financial goal is achieved. In one case, a request for a budget value may be converted into a request for one expense item, for example a request in the category “Holiday” may result in information relating to a single expense item “holiday cost”, representing, say, the cost of a package holiday. In other cases a request for a budget value may be converted into a request for two or more expense items, such as the example of
There are two possible query types that may be used: a local query and a remote query. A local query is sent to the database interface 134. The database interface 134 then uses the information received from the request processor 132 to query one or more data sources local to the information server 130. This data source may be the information database 136 or may be one or more other local databases. In a first case, the data source may store a number of cost values relating to a variety of expense items. In one example, an average holiday cost value may be stored. In this case, a record in a local database may comprise at least: an identifier for “Holiday”, an identifier for expense item “holiday cost” and a value for the expense item. Hence, at least a portion of a local query for the category “Holiday” may comprise a query for a budget value for “holiday cost”. The query may be at the level of expense item or category or financial goal identifier.
A remote query is similar to a local query but it uses a remote data source coupled to the network 110. In this case the request processor 132 may consult a lookup table on receipt of a budget value or target saving goal request to determine one or more expense items and thus the most appropriate data source or service to supply at least a portion of the budget value or target saving goal. For example, a savings goal of “buy a home” 334 may have expense items of: “legal fees”, “property taxes”, “agent fees”, and “house cost”. Each associated expense items may have associated URLs that specify one or more of the first reference interface 512 and the second reference interface 522. The request processor 132 processes the received request into a suitable form to be forwarded to one or more of the two interfaces. The appropriate one of the two interfaces then receives this second request and uses the information carried therein to retrieve an appropriate cost values for the expense items from the first reference data 514 and/or the second reference data 524.
In certain embodiments the local or remote query may comprise a plurality of queries. For example, two or more of, amongst others not shown, the information database 136, the first reference data 514 and the second reference data 524 may be queried. This may be the case where the budget value or target saving goal comprises a compound value or goal consisting of budget values or cost values for a plurality of expense items. In this case, the information server 130 stores a mapping between a category or a financial goal and two or more expense items that form part of said category or financial aim or goal (e.g. a mapping between a savings goal of “buy a home” 334 and expense items of: “legal fees”, “property taxes”, “agent fees”, and “house cost”). Hence, four queries may be compiled to retrieve cost values for these four expense items, which may then be combined into a single cost value for the category “House”.
As shown with the example of
Responses from one or more queries are returned to the request processor 132 at step 630. The request processor 132 processes information returned by the one or more queries at step 640. This processing may comprise extracting information in a returned message and formatting any numerical value. This may be required if two or more queries are of different types, for example if they access different network services. For example, values for expense items “cost of car” and “insurance” may be formatted for respective display within controls 418 and 420. At step 650 one or more budget values or saving goal target values are collated to be sent to the computing device 120. This may involve combining or summing numerical values from one or more remote and/or local queries or combining cost values into one or more response messages. It may also comprise adjusting one or more budget or saving goal target values to conform to a required time period, for example converting yearly values into monthly values by dividing by twelve. These temporal calculations may alternatively be performed by the computing device 120. The collating step may also comprise including other field values that were returned with the one or more queries in a response to be sent to the computing device 120, such as a text description, a hyperlink to the information source, any caveat information etc. At step 660, a response message, prepared as an output to step 650, is sent to the computing device 120 over the network 110. The computing device 120 is arranged to receive the response message and process the ancillary information therein. This ancillary information relating to a category or financial goal is then displayed to a user. For example, this may be in the form of displayed values in controls 418 and 420, which may be editable by a user, or in the form of a summed budget value such as those displayed in the “Budget” column of the first level budget table 216 in
Following the method of
In an example, after selecting a goal in step 730, a graphical indication of progress for a particular aim or goal is displayed to the user. This is illustrated in
In one example, a user may be provided with a user interface to help them implement a savings plan, e.g. to help them plan exactly how to save a target amount for a time period. This is shown in
In certain implementations, instead or as well as the manual adjustments described above, a data-backed algorithm is used to produce an optimal spread of cost-cutting across one or more spending categories. A weighted average of other users' manual adjustments may be used to automatically set a spending target for one or more categories. As an example, data detailing manual adjustments, recorded with a user's permission by the application on computing device 120, may be sent to information server. This data may be anonymised and averaged over multiple users so as to determine appropriate adjustment weights for each category. For example, if users regularly adjust a “Cash ATM (Automated Teller Machine) Withdrawal” category by three times the amount they adjust a “Mortgage Payments” category; this ratio may be used to automatically reduce spending in the “Cash ATM Withdrawal” category by three times the amount of a reduction in the “Mortgage Payments” category for a new user.
The sixth user interface 1010 of
Turning to
Following step 750, a “next steps” user interface is displayed to the user of the computing device 120. This interface offers a user options for tasks following the completion of a savings goal. In the example of
An exemplary implementation to retrieve and display the second level budget values displayed in
For example, for an insurance second level budget value the URI may comprise a URL specifying a function call or API on a server belonging to an insurance company and an “age” parameter value. The server may then run a function to retrieve an average age appropriate insurance cost for the user that is returned as a marked-up data document (e.g. an eXtended Markup Lanaguage—XML-response). For example, an insurance company or a price comparison service may provide an API to return an insurance quote. It may be that a macro simulating a user interacting with an insurance company server or a price comparison service is required to retrieve the insurance quote value. For tax, any previously-stored make and/or model information may be used to determine a road tax amount, for example using state or federal government databases. For parking permit costs, the first query may include a residency state or region (e.g. California) so that a URL appropriate for that state or region is returned. The URL may comprise an HTML document for a state parking agency that is returned to the request processor 132. The request processor 132 may be arranged to extract a monetary value from the HTML document for the second level budget value using natural language processing or data mark-up. For example, the monetary value may be encapsulated in a “price” tag such as “<PRICE>$25</PRICE>” or a table field such as:
<TR><TH>Product<TH>Price
<TR><TD>Parking Permit<TD>$25.
Each response message is returned to the request processor 132, which processes the responses to extract four second level budget values and collate these values such that they are associated with text descriptions of transaction items returned from the first query. In the case that an XML document is returned with second level budget values and text descriptions, the XML document is processed by the application operating on the computing device 120 so as to display the second level budget values and text descriptions in second level budget table 1116.
As another example, a user may be aiming to buy a house. Two associated expense items with this goal may be a mortgage and home insurance policy. User information may be used to retrieve accurate quotes for these two expense items from financial institutions. For example, a user may enter a salary, a desired number of bedrooms and a postcode of a desired house into the computing device 120. In this example, the information is submitted to the information server 130. The information server 130 uses the postcode and number of bedrooms to look up an average house price, for example using an API to query a land registry or real estate database. A returned average house price is then used by the information server 130 to construct a second query, together with the salary information, to be sent to a mortgage provider or mortgage rate aggregation website. A monthly amount is then returned to the information server 130. The information server 130 also then generates a third query for a monthly insurance premium quote based on the postcode and the number of bedrooms. The budget values returned by the second and third queries are then returned to the computing device 120 so that a monthly budget amount for a new house may be displayed to the user.
The budget values in the second level budget table 1116 may comprise values returned from a plurality of different local and/or remote queries as described above. They may be returned in a single response message or returned over two or more response messages. In the latter case the request processor 132 waits until all response messages have been received before collating the information at step 660.
The budget values in the second level budget table 1116 may be summed to provide a total budget value of “$300” for the monthly amount estimated to run a motor vehicle. The actual spending patterns of a user may be monitored, in a similar way to that described in association with
In certain examples, the seventh user interface 1110 of
A number of variations will now be described. As a first variation, alert messages associated with a budget or savings goal may be displayed to a user.
In certain implementations, alert messages are based on an intelligent analysis of a user's or entity's financial data. For example, an algorithm operating on one or more of computing device 120 and information server 130 monitors transaction data from one or more of the first data provider 160, the second data provider 170 and the third data provider 180. A trigger for an alert is set based on, amongst others, one or more of individual transaction amount, cumulative transaction total in a predefined time period (e.g. in a day, week or month), time since a deposit (e.g. since the deposit of a salary or source of funds), historical spending data and percentage thresholds.
For example, a user may wish to reduce their spending on a category of clothes and shoes. In this case, the information server 130 may automatically categorise transactions from particular retail companies as relating to this category. The user sets a spending target for a month using the application on computing device 120, say $200. The information server 130 then regularly accesses transaction data from one or more of the first data provider 160, the second data provider 170 and the third data provider 180. For example, the first data provider 160 may supply transaction information for a current account and the second data provider 170 may supply transaction information for a credit card account. A trigger is set based on one or more of the variables set out above. The information server 130 may trigger message alerts if the user is prone to going over budget, for example information server 130 may compare historic transactions for a plurality of months with a spending budget and if a monthly total for the category regularly exceeds a target spending budget alert messages are activated. The information server 130 is also arranged to analyse the dates of transactions within a particular category for a particular time period to configure the timing of alert messages. Statistical measures relating to the date within a month that a spending budget is exceeded may be used to set an initiation date within a month from which point alert messages may be sent. For example, over a plurality of monthly sample periods, an average number of days from the deposit of funds that a spending budget is exceeded (e.g. 15 days) or a minimum number of days from the deposit of funds that a spending budget is exceeded (e.g. 5 days) may be used to set the initiation date (e.g. alert messages may be transmitted after 15 or 5 days). For example, after 5 days from a funding deposit the information server 130 may send an alert message to the user saying “You have spent $50 of your budget of $200. You have $150 left for the next 25 days”.
A trigger for the sending of messages may be based on a percentage spent from a spending budget for a category, such as 50%. This may or may not be combined with the time trigger previously discussed. For example, regardless of a time, whenever 50% of a spending budget is exceeded an alert message is sent to the user. An alert message may inform a user of the amount left in the spending budget and the time left within a particular spending period. For example, if the user spends $150 on clothes from a particular retail company 2 days after a salary deposit, the information server 130 will detect that this transaction is more than 50% of the spending budget of $200 and send an alert message to the computing device 120 saying “You've already spent 75% of your monthly clothes budget. If you want to stick to your budget you only have £50 left to spend on clothes over the next 28 days”.
As a second variation, a user may enter a search string to initiate a request for a budget value. For example,
In the second variation the search string may comprise at least a portion of the request that is sent to the request processor 132. The request processor 132 may process the search string so as to generate a query string for one or more of a local and remote query to retrieve a budget value. For example, one of first reference server 510 and second reference server 520 of
In a third variation, the system for obtaining and processing financial data 100 may conserve resources by using the results of previously submitted requests for budget values. For example, the search string in text box 1314 may be compared with a database of previously submitted search strings to determine if a probabilistic match is available. This may be a database local to the computing device 120 or information database 136.
In a fourth variation, a user-entered search string may be converted into a query using natural language processing (NLP) and/or keyword analysis.
In a fifth variation, the user may be given an option to choose a particular set of one or more budget references 500; for example, a preferred supplier of services or a particular budget reference based on the user's spending requirements. In the latter case, a user may be given the option to pick one of “lowest cost estimate”, “highest cost estimate” and “average cost estimate”, or this selection may be based on a user's spending history. A cost level may be set to a higher cost estimate if a user's spending history for the particular category or financial aim or goal is higher than a returned budget value or alternatively, if a spend consistently overshoots a budget value target the computing device 120 may provide a link, such as a hyperlink, to a lower cost provider of one or more expense items making up the category. For example, if a user is consistently spending more on office supplies that is set by a budget value a search may be performed for a lower budget estimate and the provider or budget reference that provides such an estimate may be presented to a user as an alternative provider of office suppliers.
In a sixth variation, the user may be given a “buy item now” budget value that is equivalent to the cost of buying one or more expense items using credit, such as a credit card or store card, i.e. that includes a credit interest amount such as 29% over a fixed time period (e.g. 24 months). The user may also be given a “save for item” budget value for the same fixed time period that shows the amount that needs to be saved (e.g. each month) to afford to buy one or more expense items after the fixed time period has expired. Alternatively, the budget value for a “save for item” case may be set as equivalent to the credit or “buy item now” but the time period in which funds must be allotted may be reduced (e.g. as interest is not being paid). For example, a user may need to budget for 24 months to “buy item now” but only wait 18 months to save up for the one or more items.
In a seventh variation, the computing device 120 may comprise a local data store that is arranged to store budget values for one or more categories or financial aims or goals.
In an eighth variation, location data may be incorporated into the budgeting process.
In a particular implementation, one or more of the computing device 120 and the information server 130 actively alert users of fraud using geospatial data and a map interface. In this case, the information server 130 uses historic transaction data to determine common locations for transactions. These common locations could be represented as a geospatial area. If a transaction occurred outside of this geospatial area, or a particular distance outside of this geospatial area, the information server 130 flags the transaction as anomalous and sends an alert message to the computing device 120 of the user. In another implementation, a Global Navigation Satellite System signal, such as a Global Positioning System (GPS) signal, may be used to locate a user over a time period. For example, computing device 120, or a mobile telephone belonging to the user, may comprise a GPS receiver and may log location data. Location data associated with a user may then be compared to geospatial metadata associated with one or more transaction items to determine if said transaction items should be flagged as anomalous. For example, if there is a mismatch between the geospatial metadata and the user location data, such as a difference in location above a particular threshold to account for positioning errors, this can be used to trigger an anomalous status and an alert message. The alert message may resemble the alert messages of
Geospatial data associated with transaction items may be used to select relevant ancillary information for fulfilling a budget value request. For example, if a category or sub-category of transaction items is limited to a particular geographical area (e.g. if 80% of transactions in a particular category or sub-category are within a 20-mile radius) then this particular geographical area can be used as a constraint when submitting queries to retrieve expense item data. For example, the average monthly cost of transaction items marked as parking tickets may vary from area to area. When budgeting for motor vehicle running costs the average monthly spend may depend on a particular geographical area, which is submitted with a query based on the location of previous parking ticket transaction items. Similarly, when saving for a house a user may enter a desired postal code or area. Anonymised and/or averaged transaction items located in the desired postal code or area may then be used to provide estimated budget values for expense items such as building work, gardening work, electricians etc.
In a ninth variation, a number of options for viewing transactions mapped with geospatial data are provided. In a first option, transactions marked on a map may be filtered by one or more of the computing device 120 and information server 130. A filter may be applied to restrict the viewable transactions. The filter may be set based on, amongst others, one or more of time/date (e.g. last month), transaction amount (e.g. exclude transaction amounts under £10) and category (e.g. to enable a user to view where they spend the most money on clothes or entertainment). In a second option, a user interface upon the computing device 120 offers users the ability to manually add flags and notes to particular transactions viewed on a map. This enables transaction data to be enriched using user contributions. These contributions may be sent to information server 130 and/or one or more of the data providers. This user interface offers users the ability to colour-code flags added to particular transaction locations; for example, they may use a purple flag to show transactions made by the user on behalf of a third party such as a friend, so at a glance they can easily identify all those transactions.
In a tenth variation, a budget adjustment such as that shown in
In an eleventh variation, one or more of the computing device 120 and the information server 130 may be arranged to monitor ancillary information for a time period following the setting of a budget level or target saving goal. For example, if a user is saving for a retail purchase item (such as expensive electronics), the information server 130 may be arranged to regularly search one or more external data sources for current sales prices to identify a reduction in price for a target expense item. The one or more external data sources may comprise the first and/or second reference servers 510, 520 that were used to originally retrieve the ancillary information or another external data source. Referring to the example of the second variation, assume a user has set a savings goal for a particular model of new TV. At the time of setting up the savings goal, ancillary information was retrieved that estimated the monetary value for the aim or outcome of the particular model of new TV to be $400. If the user is partway to the savings goal of $400, say has saved $300, the information server 130 uses the partway savings total to perform a daily search of one or more external data sources. The information server 130 may perform the search as a scheduled activity. If the searches of the information server 130 return a new reduced price that is below the partway saving total this is indicated to the user, e.g. in the form of an alert message similar to
The embodiments described herein provide a system and a method that enables automatic retrieval of representative cost information when budgeting for a particular project or expenses. This improves a user's ability to budget for spending or saving. For example, if budget values accurately represent a future spend or savings amount a user can better manage and apportion their income and/or commercial entity's revenue.
According to certain examples described herein there is a method for retrieving financial data for a budget, comprising: receiving, by a computer, a request for at least one monetary value representative of a sum of money to allocate for a particular outcome; parsing, by a computer, the request to determine at least one expense item required to achieve the particular outcome; retrieving, by a computer, ancillary information relating to said at least one expense item, the ancillary information comprising a cost value representative of said at least one expense item; and processing, by a computer, the retrieved ancillary information to output said at least one monetary value.
The step of parsing the request may comprise identifying the particular outcome from the request to return an outcome identifier and using at least the outcome identifier to retrieve a group of expense items associated with the particular outcome from a database. In certain cases, the request identifies an entity and the step of using at least the outcome identifier to retrieve a group of expense items comprises using at least the outcome identifier and information relating to the entity to retrieve a subset of expense items associated with the particular outcome from the database.
In one example, the step of retrieving ancillary information comprises generating a query for each expense item and executing each query against one or more data sources. The step of generating a query for each expense item may comprise retrieving a resource identifier associated with each expense item, the resource identifier being associated with an address of a data source.
In one example, the method comprises selecting, using a graphical user interface, a category representative of the particular outcome, the category being used to generate the request for a monetary value.
In one example, the method comprises receiving, using a graphical user interface, a search string from a user so as to generate the request for a monetary value. In this case, the method may further involve determining whether an outcome identified in the search string has a relationship with an outcome present in a previously submitted request for a monetary value and, if there is a relationship, using at least a portion of previously retrieved ancillary information relating to the previously submitted request to output a monetary value for the outcome identified in the search string. Additionally, there may be steps of presenting, on a graphical user interface, a user with at least one outcome that featured in a previously submitted request, the at least one outcome having a probabilistic match with the search string and, on selection of the at least one outcome, using at least a portion of previously retrieved ancillary information relating to the previously submitted request to output a monetary value for the outcome identified in the search string. If a user does not select the at least one outcome that featured in a previously submitted request, the receiving, parsing, retrieving and processing steps may be performed using the search string as a portion of the request for a monetary value.
The method may comprise outputting the cost values, i.e. low-level budget values, of one or more expense items. This step may in turn involve selecting a subset of the output cost values to generate a total monetary value representative of a sum of money to allocate for a particular outcome.
In one example, the step of processing the retrieved ancillary information comprises processing an electronic document to extract one or more cost values. This may involve performing a statistical calculation on a plurality of cost values extracted from the electronic document to generate a single cost value estimate.
In one example, the step of retrieving comprises retrieving ancillary information from one or more remote servers over one or more communication networks.
According to certain examples described herein there is an apparatus for retrieving financial data for a budget, comprising a request processor arranged to receive a request for at least one monetary value representative of a sum of money to allocate for a particular outcome, parse the request to determine at least one expense item required to achieve the particular outcome, prepare one or more queries for said at least one expense item, receive, in response to said one or more queries, ancillary information, the ancillary information comprising a cost value representative of said at least one expense item and process the retrieved ancillary information to output said at least one monetary value.
The apparatus may comprise an information database coupled to the request processor for retrieving a set of one or more expense items based on an outcome identified in the request.
According to certain examples described herein there is a system for retrieving financial data for a budget, comprising a computing device arranged to generate a request for at least one monetary value representative of a sum of money to allocate for a particular outcome, an information server arranged to receive the request and generate one or more queries for one or more respective expense items required to achieve the particular outcome and one or more reference servers arranged to receive said one or more queries and return data comprising cost values representative of said one or more expense items.
In certain examples, at least one of the computing device and the information server is arranged to receive said data returned from the one or more reference servers and generate a total monetary value representative of a sum of money to allocate for the particular outcome.
The above embodiments are to be understood as illustrative examples of the disclosure. In particular, exemplary functions have been necessarily simplified for ease of explanation. Further embodiments of the disclosure are envisaged. For example, in certain embodiments the functionality of the information server 130 may be included locally within the computing device 120. In this case, one or more queries for ancillary information relating to a budget may be prepared and sent by the computing device 120 and query results may be returned directly to said same device. The terms “budget value”, “spending target” and “target savings goal” are used to refer to a numerical data value representative of a process of allotting financial resources towards an aim or goal outcome. In certain embodiments budget references 200 may form part of the information server 130, part of a private network comprising the information server 130 or data sources accessible by one or more of request processor 132 or database interface 134 of the information server 130. In certain embodiments, the ancillary information is retrieved automatically from third party data sources. In other embodiments, the ancillary information may be curated manually and stored locally in the information database 136. In certain embodiments, the user may select and un-select second level budget values that contribute to a budget total. For example, a particular user may not need a parking permit and so they may un-select the “Permit” second level budget value so the total budget value is reduced from “$300” to “$250”. It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. The variations described above may also be used in any combination. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the disclosure, which is defined in the accompanying claims.
Claims
1. A method for retrieving financial data for a budget, comprising:
- receiving, by a computer, a request for at least one monetary value representative of a sum of money to allocate for a particular outcome;
- parsing, by a computer, the request to determine at least one expense item required to achieve the particular outcome;
- retrieving, by a computer, ancillary information relating to said at least one expense item, the ancillary information comprising a cost value representative of said at least one expense item; and
- processing, by a computer, the retrieved ancillary information to output said at least one monetary value.
2. A method according to claim 1, wherein the step of parsing the request comprises:
- identifying the particular outcome from the request to return an outcome identifier; and
- using at least the outcome identifier to retrieve a group of expense items associated with the particular outcome from a database.
3. A method according to claim 2, wherein the request identifies an entity and the step of using at least the outcome identifier to retrieve a group of expense items comprises using at least the outcome identifier and information relating to the entity to retrieve a subset of expense items associated with the particular outcome from the database.
4. A method according to claim 1, wherein the step of retrieving ancillary information comprises:
- generating a query for each expense item; and
- executing each query against one or more data sources.
5. A method according to claim 4, wherein the step of generating a query for each expense item comprises retrieving a resource identifier associated with each expense item, the resource identifier being associated with an address of a data source.
6. A method according to claim 1, comprising:
- selecting, using a graphical user interface, a category representative of the particular outcome, the category being used to generate the request for a monetary value.
7. A method according to claim 1, comprising:
- receiving, using a graphical user interface, a search string from a user so as to generate the request for a monetary value.
8. A method according to claim 7, comprising:
- determining whether an outcome identified in the search string has a relationship with an outcome present in a previously submitted request for a monetary value; and
- if there is a relationship, using at least a portion of previously retrieved ancillary information relating to the previously submitted request to output a monetary value for the outcome identified in the search string.
9. A method according to claim 7, comprising:
- presenting, on a graphical user interface, a user with at least one outcome that featured in a previously submitted request, the at least one outcome having a probabilistic match with the search string; and
- on selection of the at least one outcome, using at least a portion of previously retrieved ancillary information relating to the previously submitted request to output a monetary value for the outcome identified in the search string.
10. A method according to claim 9, wherein if a user does not select the at least one outcome that featured in a previously submitted request, the receiving, parsing, retrieving and processing steps are performed using the search string as a portion of the request for a monetary value.
11. A method according to claim 1, comprising:
- outputting the cost values of one or more expense items.
12. A method according to claim 11, comprising:
- selecting a subset of the output cost values to generate a total monetary value representative of a sum of money to allocate for a particular outcome.
13. A method according to claim 1, wherein the step of processing the retrieved ancillary information comprises processing an electronic document to extract one or more cost values.
14. A method according to claim 13, comprising:
- performing a statistical calculation on a plurality of cost values extracted from the electronic document to generate a single cost value estimate.
15. A method according to claim 1, wherein the step of retrieving comprises retrieving ancillary information from one or more remote servers over one or more communication networks.
16. A method according to claim 1, comprising:
- monitoring at least one data source for a change in the ancillary information; and
- displaying a message if a change in the ancillary information is determined.
17. A method according to claim 1, comprising:
- determining a current amount allocated to the particular outcome at a time before an amount greater than the at least one monetary value has been allocated to the particular outcome;
- retrieving updated ancillary information relating to said at least one expense item;
- determining if a new cost value representative of said at least one expense item is less than the current amount; and if so,
- displaying a message alerting a user, the message indicating that the particular outcome can be achieved.
18. Apparatus for retrieving financial data for a budget, comprising:
- a request processor arranged to: receive a request for at least one monetary value representative of a sum of money to allocate for a particular outcome; parse the request to determine at least one expense item required to achieve the particular outcome; prepare one or more queries for said at least one expense item; receive, in response to said one or more queries, ancillary information, the ancillary information comprising a cost value representative of said at least one expense item; and process the retrieved ancillary information to output said at least one monetary value.
19. Apparatus according to claim 18, comprising:
- an information database coupled to the request processor for retrieving a set of one or more expense items based on an outcome identified in the request.
20. A system for retrieving financial data for a budget, comprising:
- a computing device arranged to generate a request for at least one monetary value representative of a sum of money to allocate for a particular outcome;
- an information server arranged to receive the request and generate one or more queries for one or more respective expense items required to achieve the particular outcome; and
- one or more reference servers arranged to receive said one or more queries and return data comprising cost values representative of said one or more expense items.
21. A system according to claim 20, wherein at least one of the computing device and the information server is arranged to receive said data returned from the one or more reference servers and generate a total monetary value representative of a sum of money to allocate for the particular outcome.
Type: Application
Filed: Apr 18, 2012
Publication Date: Oct 24, 2013
Applicant: THE ROYAL BANK OF SCOTLAND PLC (Edinburgh)
Inventor: Kathryn J. White (London)
Application Number: 13/449,840
International Classification: G06Q 40/00 (20120101);