US20180007169A1 - Personalized real estate event feed - Google Patents

Personalized real estate event feed Download PDF

Info

Publication number
US20180007169A1
US20180007169A1 US15/616,721 US201715616721A US2018007169A1 US 20180007169 A1 US20180007169 A1 US 20180007169A1 US 201715616721 A US201715616721 A US 201715616721A US 2018007169 A1 US2018007169 A1 US 2018007169A1
Authority
US
United States
Prior art keywords
user
information
feed
event
events
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/616,721
Inventor
Michael Smedberg
Jennifer Chao
Robert Gay
Jason Wain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Redfin Corp
Original Assignee
Redfin Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Redfin Corp filed Critical Redfin Corp
Priority to US15/616,721 priority Critical patent/US20180007169A1/en
Assigned to REDFIN CORPORATION reassignment REDFIN CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WAIN, JASON, CHAO, JENNIFER, GAY, ROBERT, SMEDBERG, MICHAEL
Publication of US20180007169A1 publication Critical patent/US20180007169A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • H04L67/42
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • G06F17/2235
    • G06F17/2247
    • G06F17/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1095Meeting or appointment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0257User requested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/16Real estate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04W4/028
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Definitions

  • Real estate transactions often involve a buyer, a seller, one or more agents (e.g., a listing agent for the seller and buyer's agent for the buyer), and numerous service providers (e.g., escrow professionals, appraisers, home inspectors, lenders, and so forth).
  • agents e.g., a listing agent for the seller and buyer's agent for the buyer
  • service providers e.g., escrow professionals, appraisers, home inspectors, lenders, and so forth.
  • the seller lists a property using a listing server, often through a listing agent, while buyers go through a search process to identify potential properties to buy.
  • the seller may either accept the offer, counteroffer at a different price or other terms, or reject the offer.
  • the transaction is typically considered pending and on the way to closing pending inspections, resolving various contingencies, securing funds from a lender,
  • Feeds are streams of information that are consumable by feed readers.
  • One popular type of feed technology is really simple syndication (RSS).
  • RSS allows visitors of websites and other sources of information to consume the information from the information source by subscribing to a feed provided by the information source (or sometimes by a third party, like feedproxy).
  • a website includes various formatting, from where items are placed on the page (e.g., columns, whether banner ads appear at the top or bottom, and so on), to how particular page elements are formatted (e.g., font style, font size, background imagery, and so forth), to how elements react to interaction (e.g., hover events, clicking on an item, and the like).
  • Feeds provided by sites get around this problem by providing the information of the site, such as articles or blog posts, in a stream of text that is uniform across various sites, although feeds may still include audiovisual information such as embedded images, videos, and so on. Feeds are typically the same for all users that receive the feed. For example, two users receiving a feed of blog posts from a web log will typically receive the same set of posts.
  • FIG. 1 is a block diagram that illustrates components of the personalized feed system, in one embodiment.
  • FIG. 2 is a flow diagram that illustrates processing of the personalized feed system to receive and correlate feed events for a user, in one embodiment.
  • FIG. 3 is a flow diagram that illustrates processing of the personalized feed system to display a personalized user feed, in one embodiment.
  • FIG. 4 is a display diagram that illustrates a personalized user feed rendered by the personalized feed system, in one embodiment.
  • Embodiments of the invention may be operational with numerous general purpose or special purpose computing system environments or configurations.
  • Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer and/or by computer-readable media on which such instructions or modules can be stored.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including memory storage devices.
  • Embodiments of the invention may include or be implemented in a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may comprise computer storage media and communication media.
  • Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer.
  • Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
  • the combination of software or computer-executable instructions with a computer-readable medium results in the creation of a machine or apparatus.
  • the execution of software or computer-executable instructions by a processing device results in the creation of a machine or apparatus, which may be distinguishable from the processing device, itself, according to an embodiment.
  • a computer-readable medium is transformed by storing software or computer-executable instructions thereon.
  • a processing device is transformed in the course of executing software or computer-executable instructions.
  • a first set of data input to a processing device during, or otherwise in association with, the execution of software or computer-executable instructions by the processing device is transformed into a second set of data as a consequence of such execution.
  • This second data set may subsequently be stored, displayed, or otherwise communicated.
  • Such transformation may also be a consequence of, or otherwise involve, the physical alteration of, for example, the states of registers and/or counters associated with a processing device during execution of software or computer-executable instructions by the processing device.
  • a process that is performed “automatically” may mean that the process is performed as a result of machine-executed instructions and does not, other than the establishment of user preferences, require manual effort.
  • a personalized feed system is described herein that provides feeds that are tailored to the preferences of each user of a real estate website or application.
  • the system provides a feed with regular (e.g., nightly or weekly) listing updates that include new listings of interest to a particular buyer.
  • the buyer may have previously signed up with the website to receive a stored profile, and the profile may include information such as what geographical regions the buyer is interested in, what types of homes the buyer is looking for, and so on.
  • the personalized feed system uses this information to provide a feed specific to the buyer that notifies the buyer of listings that are of particular relevance to that buyer, based on the buyer's expressed preferences or other implicitly determined information about the buyer.
  • real estate parties can subscribe to an RSS or other feed for a saved real estate search, to be notified when new items are available that meet the criteria of the search. A buyer may use this to find newly listed homes, while a seller may use this to find new competing listings.
  • the personalized feed system also creates a personal feed specific to each user of the real estate website. All real estate events that are relevant to the user are summarized in a single time-oriented feed (i.e., newest events may be displayed first, with older events “falling off” the list as they become stale or dated). Buyers receive information about new and/or modified listings, sales, outstanding offers, and the like, while sellers receive information about sales, new and/or modified listings, open offers, and so on. Once a buyer or seller is in the offer process, the feed displays information about progress of the transaction.
  • Information in the feed can be read-only (e.g., a new listing), while other information can be read-write (e.g., “sign loan docs” where a user can indicate that the user signed the documents requested).
  • the personalized feed system provides a variety of types of real estate transaction information to users in a more compact way that the users can consume in a feed-reading application of their choice or from the web.
  • Feeds created by the system can include information about heterogeneous real estate events (e.g., some that are MLS related, others that are deal related, others that are about public data), time oriented display or delivery of events, a comprehensive view of events related to a home search or sale, information that is personal, public, and/or proprietary data, and/or events that are interactive (e.g., check off a checkbox).
  • heterogeneous real estate events e.g., some that are MLS related, others that are deal related, others that are about public data
  • time oriented display or delivery of events e.g., a comprehensive view of events related to a home search or sale
  • information that is personal, public, and/or proprietary data e.g., check off a checkbox
  • a queue of feed items is stored for each user. As relevant events are discovered, a reference to the event is stored into the queue. Periodically run jobs discover and/or record items of interest for each user.
  • the system may include a table of listing updates, which contains a row for every change to every listing (including events like, for example, “went on market”, “price changed”, and “went off market”). Each row in the listing updates table has a unique identifier (e.g., a primary key). Rows in the listing updates table are not associated with individual users, but rather they are facts about each listing.
  • a user may subscribe to a particular set of listing updates, which generates a query that can be run against the listing updates table to identify new events of interest to that user. For each identified event of interest, the system places a reference in a list of feed items specific to that user.
  • the same database might also contain a table of deals, which contains one row for each home offer handled by a real estate website. Each deal may be of interest to multiple users, such as a buyer, seller, listing agent, and/or buying agent who are all parties to a particular transaction.
  • the system identifies deal events of interest to each user and places a reference to each event of interest in each user's individual, personalized feed.
  • the same database may contain another table of feed items called feed_items. Each row in the table associates a user with a change or event.
  • the feed_items table might contain columns like user_id, datetime_added, item_id, and/or item_type.
  • the item_type column indicates the type of the item described by the row.
  • an item_type of “listing” (or an associated numeric identifier) might refer to rows in the listing updates table, while an item_type of “deals” might refer to an item in the deals table (such as the need to perform an inspection).
  • a particular user might have a row in feed_items that refers to a particular listing update, and/or another row that refers to a particular deal, as well as other events from other categories of information tracked by the real estate site.
  • the system queries the feed_items table for recent items that are relevant to the current user. Results can be ordered by datetime_added descending, or based on other criteria. For each item, the system decodes the item_type, looks up the relevant item_id, and places the data in feed format or renders the item for display.
  • the feed format or display may include icons, color-coding, or some other visual indicator of items of particular interest (e.g., looming deadlines).
  • FIG. 1 is a block diagram that illustrates components of the personalized feed system, in one embodiment.
  • the system 100 includes a user profile component 110 , one or more event sources 120 , a real estate data store 130 , an event detection component 140 , a user-event correlation component 150 , a feed management component 160 , a feed rendering component 170 , and a feed interactivity component 180 . Each of these components is described in further detail herein.
  • the user profile component 110 stores user profile information for one or more users of the system 100 .
  • the profile information may include information such as authentication information (e.g., a user identifier and password), contact information (e.g., an email address, phone number, postal address, and so forth), preference information (e.g., what areas a buyer is looking in for purchases, types of properties of interest, and so forth), transactions the user is a party to, and so forth.
  • Users may also have a type tracked by the system, such as buyer, seller, service provider, agent, and the like. Any user may operate in several categories at the same time, and may be associated with events related to each. For example, a person may be selling a house in one area while buying a house in another.
  • the system may create separate feeds or classifications of events in a feed that allow a user to see events related to only one particular scope at some times and all events at others, upon request.
  • the one or more event sources 120 include various sources of real estate related information. These may include data streams from a multiple listing service (MLS), a county information data stream (e.g., sales data, assessor information, tax payments, and the like), transaction information, broker/agent information, and so forth.
  • MLS multiple listing service
  • county information data stream e.g., sales data, assessor information, tax payments, and the like
  • transaction information broker/agent information, and so forth.
  • the real estate website may use these sources of data for everyday operation of the website, such as to provide real estate searches, property information, value estimates, or other purposes.
  • the personalized feed system described herein uses these event sources to identify and record events of interest for each user of the real estate website.
  • the real estate data store 130 is a data storage facility that stores information from the event sources, user profile information, and/or user-to-event association information.
  • the data storage facility may include one or more files, file systems, hard drives, databases, cloud based storage services, or other facilities for storing data persistently over time.
  • the real estate data store 130 may be implemented as a relational database with various tables related to users, properties, transactions, events, and so forth.
  • the system 100 may use queries or other data access methods to periodically identify information stored in the data store 130 that may be of interest to each user, and to update a set of feed items associated with each user.
  • the system may determine groups of users with similar characteristics (e.g., each looking for a similar home in the same area), and perform a unified query to identify events for the group. Although some actions for multiple users may be performed together, the system 100 provides a high level of personalization such that each user may have a different set of events in the user's personalized feed by the time event detection along all axes for a user is complete.
  • the event detection component 140 detects events from the event sources 120 and/or stores the events in the real estate data store 130 .
  • the event detection component 140 may detect events from an MLS, such as price increases, changes in status of a listing (e.g., from “for sale” to “under contract” to “pending” to “sold”), new photos available, changes in agent remarks about a listing, notes from a buyer or seller's own agent to the buyer or seller, and/or so forth.
  • the component 140 may also detect events from other sources, such as a change in assessment or tax value from a county data stream, a rise in the level of interest indicated by page views on a real estate site, new transaction information available from a broker's transaction data stream, or any other event deemed relevant by an implementer of the system 100 .
  • the component 140 then stores these events in the real estate data store 130 , either with complete information or with a sufficient amount of reference information to retrieve further information about the event later.
  • the component 140 may store type or source information that indicates where the event came from and/or what type of event it is that is useful later for identifying and/or culling events relevant to a particular user's feed.
  • the user-event correlation component 150 periodically analyzes the real estate data store 130 to identify events relevant to particular users and/or to associate those events with the particular users. For example if a particular user is party to a transaction (e.g., a purchase and sale transaction), then the component 150 associates any new events related to the transaction with the user.
  • the user may be a buyer, seller, agent, service provider, or other user related to the transaction.
  • the component 150 may work in conjunction with configuration stored in a user's profile that specifies types of events that a particular user is interested in receiving in his or her feed.
  • a service provider or agent may receive a large number of events, and may want to configure his or her profile so that not all events are place in his or her feed, while a buyer or seller that is rarely involved in transactions may want to receive every event relevant to that user.
  • the user-event correlation component 150 may search (e.g., via a query) various sub-stores of the data store 130 , such as tables for listings, transactions, and so forth, to identify events relevant to particular users.
  • the component 150 may regularly run a process for each user that identifies events of relevance to that user, or may group users where the data to be identified for each user is similar (e.g., same types of listings in a given area).
  • the result is a set of events associated with each user that the user did not have to expend effort to go out and find, and that are waiting for the user to view in a feed-based format when the user next visits the site or uses an appropriate feed reading program.
  • the feed management component 160 manages a personalized feed for each user of the system 100 .
  • the feed for each user includes events of particular relevance to that user, and may include broad public data, such as available listings, as well as private data available to a real estate web site, such as events in a transaction to which the user is a party.
  • the feed management component 160 takes the events identified by the user-event correlation component 150 , and places those events in the format of a feed, such as an RSS feed or historical web log.
  • the real estate data store 130 may include a table that correlates user identifiers with event types and/or references.
  • the job of the feed management component 160 is then to access each of the event references associated with a particular user, retrieve the referred to information, and format the information in feed format. This may include making formatting of the content in an event reference uniform, retrieving data items from other tables of the real estate data store 130 or external data streams, and so forth.
  • the component 160 may provide a uniform resource locator (URL) or other endpoint that each user can use to access his or her latest feed items at any time (e.g., http://www.redfin.com/user/myfeed/).
  • the component 160 may also track which feed items a user has seen before, such that a user can view only unread or new items to reduce clutter, or can save items (e.g., “starring” those items) to keep them available for viewing.
  • the feed rendering component 170 renders the personalized feed for a given user upon request by the user.
  • Rendering may include displaying a web page with the feed items for the user, or displaying the feed items in a feed reader or similar software program separate from an implementer of the system's website.
  • Feeds for readers are often delivered in extensible markup language (XML) format, though other formats can be used.
  • XML extensible markup language
  • a real estate website implementing the system may provide a URL at which a feed reader can receive an XML version of the feed for display in the reader program.
  • the user may authenticate by providing authentication information (e.g., a username and password), so that the website can access that user's profile and/or personalized feed items.
  • the user's authentication information or equivalent credentials may also be stored in a cookie by the user's web browser or feed reading program so that subsequent visits to the site do not request logon information interactively from the user.
  • the feed interactivity component 180 handles user interaction with interactive feed items in the user's personalized feed.
  • Feed items may be actionable, such as requesting that a user sign a document, check a checkbox, or perform some other action related to an event in the user's personalized feed.
  • a buyer's agent may ask the buyer whether the buyer would like a termite inspection during closing, and the buyer can respond directly from his or her feed by selecting yes or no. This allows a user to very quickly see all of the events that request user input in a flowing feed-based format, respond to them all, and then continue with other activities.
  • this can be a particularly efficient way to handle and respond to requests.
  • the feed interactivity component 180 receives the user interaction and may create additional events related to the response in other users' feeds. For example, if a buyer responds to his or her agent that a termite inspection is requested during closing, then the component 180 may place a response entry in the agent's feed that indicates the buyer's answer.
  • FIG. 2 is a flow diagram that illustrates processing of the personalized feed system to receive and correlate feed events for a user, in one embodiment.
  • the system receives user information that specifies one or more event types of real estate information of interest to a user.
  • the system may access a stored user profile for a user to identify configuration information that may specify one or more real estate searches for properties, one or more transactions to which the user is a party, and other real estate events (e.g., open houses).
  • the configuration information may identify events of interest that may be placed in a personalized feed associated with the user as well as events not of interest or that the user does not want to receive in his or her feed.
  • the system may perform these steps for a large group of users of a real estate website or other application.
  • the system may update feeds for users serially, for many users at the same time in parallel, according to a schedule of when the system is less busy, or according to any other schedule that a particular implementer of the system chooses to meet the goals described herein.
  • the system selects an event source from which the system receives a data stream of real estate information.
  • the system may receive real estate data from a variety of data sources, such as multiple listing services, county tax data sources, transaction data sources, broker data sources, geographic information sources, neighborhood information sources, and so forth.
  • the system may periodically retrieve information from these data sources as part of a separate process to keep up to date real estate information on a real estate search website or other application.
  • the system then also leverages this information to provide personalized feeds for users of the website or application.
  • the system connects to the selected event source.
  • the event source may provide a website of its own, a web service application-programming interface (API), a file transfer protocol (FTP) site, a remote database connection, or data sharing protocol to which the system can connect to receive new data.
  • the system connects according to the protocol of the particular source, and retrieves new data from that source.
  • the system may do this for each of a series of sources to update a local data store of aggregate real estate information (e.g., information from multiple sources about a set of properties).
  • the system receives event information from the connected event source.
  • the system may receive information in one format, such as bulk information about each of the tax parcels in a county, and then may separate this information into individual events (e.g., property A's tax assessed value increased).
  • the system may then store these events in an events table or other data structure of a data store, such as a relational database.
  • the system may also store the bulk data and later extract events by querying one or more records associated with the bulk data. For example, the system may compare two sets of bulk data from different times to form a “diff” view of items that differ, and then turn these differences into events.
  • a failure to change may also be an event, such as an unsold property with a listing price that has not dropped in more than 60 days.
  • the system can create events for any data occurrence of interest to a particular implementation of the system.
  • the system identifies events for the user, based on the received user information and/or the received event information.
  • An event of interest to a user may include any listing changes (or lack of changes) for listings that satisfy a real estate search query saved by the user in the user's profile, events related to a transaction to which the user is a party, events based on behavior of other users (e.g., properties going under contract have risen in an area), and so forth.
  • the system identifies events by matching all of the available event data streams to preference and/or other configuration information known about the user.
  • the system stores correlation information that associates the user with events identified for that user.
  • the correlation information may include the actual event data, such as a text or other description of the event, or reference information from which the system can later retrieve or generate the full event information. For example, if a listing changed in price, the system may store a reference to a listing data store with an indication that the price change is the event being referenced. Later, when the feed is rendered the system can then access any referenced event from their respective event sources, and create a complete event record for display to the user.
  • the stored user-event correlation information may also include other data, such as whether a user has seen or “read” a particular correlated item, whether a response is expected or requested from the user, and so on.
  • decision block 270 if there are more event sources then the system loops to block 220 to select the next event source from which to retrieve event information.
  • the system may pull data from multiple event sources in parallel and process information from each at the same time or in an overlapping manner. Doing so may increase the efficiency of the system or increase the ability of the system to perform background work at times when the system is less busy with interactive user sessions (e.g., late at night).
  • FIG. 3 is a flow diagram that illustrates processing of the personalized feed system to display a personalized user feed, in one embodiment.
  • the system receives user information that identifies a particular user requesting to display the user's personalized user feed of real estate events that have occurred in a particular period.
  • the user may authenticate with the system either by providing interactive logon information or by uploading cryptographic information stored in a cookie on the user's computing device (e.g., a computer or smartphone).
  • the feed may include events that have occurred since the user last logged on, events that the user has flagged to stay in the feed, events that are pending a user response or other interaction, and so forth.
  • the system retrieves one or more latest feed items that represent events that have occurred in the time period specified.
  • the system may automatically display to the user those events that have occurred in a predefined period (e.g., since the user last logged on, events in the last 7 days, and so on), or may allow the user to select a period of interest (e.g., the last 30 days).
  • the system retrieves the feed items from a data store of events correlated with the particular user, such as by the process described with reference to FIG. 2 .
  • the feed items may be stored in a table of a relational database or other data store from which the items can be queried to identify those items relevant for displaying to the user.
  • the system renders a feed that mixes feed items from multiple data sources in a uniform format for display in a feed format that is different from the native format of the underlying information. For example, a change in listing price that was originally displayed in a multiple listing service listing page may be rendered as a short text description that specifies the address, previous listing price, and/or new listing price of a property.
  • the system may provide this information in XML or another format that complies with a well-known feed standard such as RSS, atom, or other feed formats.
  • feed items may include audiovisual information such as pictures and/or video
  • a feed item often excludes information that may have been present on the original information such as navigation controls for a website, banner advertisements, and so forth.
  • feeds attempt to reintroduce this information by placing links to the source site in the feed items and inserting feed items specifically for advertisements to be placed inline in the feed.
  • the system may modify the feed in this way also.
  • the system displays the rendered feed to the user.
  • the system may provide a web page that renders a particular user's feed as well as providing a URL or other source from which the user can retrieve the feed for display in other software, such as a feed reading program.
  • the feed reading program displays the rendered feed to the user, and the system provides the underlying data in the appropriate feed format (e.g., RSS via XML).
  • the system may display the feed to the user as a list of time-oriented items, much like an inbox of email messages or other time-based listings. This allows the user to consume many events in a common format for going through large amounts of information in one place, rather than having to visit each source of information separate. Thus, by reading a feed of 5-10 items, the user may avoid visiting 5-10 separate web pages to receive the same information.
  • a feed item may include an event from a user's agent related to a transaction in which the user is the buyer.
  • the event may ask the user to sign a purchase and sale agreement for an offer, select an inspector for a home inspection, select a lender to provide financing, select a closing escrow company, and so forth.
  • an agent may send inquiries such as whether a user that is a buyer likes a particular style of living room or house layout.
  • the system records a response indicated by the user interaction and provides the response to a requesting party.
  • the system may provide the response as a feed item in another user's feed, such as the feed of an agent associated with the buyer.
  • the recipient of the response can also manage information via his or her personalized feed, and can potentially handle many such responses in a short amount of time due to the more compact format provided by feeds.
  • FIG. 4 is a display diagram that illustrates a personalized user feed rendered by the personalized feed system, in one embodiment.
  • the display page 410 shows a personalized feed 420 for a user that has logged into a website provided by a real estate company.
  • the personalized feed 420 contains various feed items, such as a first item 430 that indicates that a listing of interest to the user has decreased in price.
  • a second feed item 440 indicates that another listing has changed in status.
  • Still another feed item 450 indicates that three new listings match a saved search for the user.
  • Each of these feed items represent different types of information, and potentially come from different sources, but because of the personalized feed system, the user is able to gather and consume all of these events of interest to the user in one place, the personalized feed. From the personalized feed, the user can select hyperlinks embedded in each feed item to view a detail page related to that item.

Abstract

A personalized feed system is described herein that provides feeds that are tailored to the preferences of each user of a real estate website or application. A user signs up to receive a stored profile with the website, and the profile includes information such as what geographical regions the buyer is interested in, what types of homes the buyer is looking for, and so on. The personalized feed system uses this information to provide a feed specific to the buyer that notifies the buyer of listings that are of particular relevance to that buyer. The personalized feed system summarizes other real estate events that are relevant to the user in a single time-oriented feed. Buyers receive information about new and/or modified listings, sales, outstanding offers, status of a transaction, and the like, while sellers receive information about sales, new and/or modified listings, open offers, and so on.

Description

    PRIORITY CLAIM
  • The present application is a continuation of U.S. application Ser. No. 14/046,833, filed Oct. 4, 2013, which claims priority from U.S. Provisional Application No. 61/710,606, filed Oct. 5, 2012, each aforementioned application of which is incorporated by reference as if fully set forth herein.
  • BACKGROUND
  • Real estate transactions often involve a buyer, a seller, one or more agents (e.g., a listing agent for the seller and buyer's agent for the buyer), and numerous service providers (e.g., escrow professionals, appraisers, home inspectors, lenders, and so forth). In a typical purchase transaction, the seller lists a property using a listing server, often through a listing agent, while buyers go through a search process to identify potential properties to buy. Once the buyer identifies a property the buyer wants to buy, the buyer makes an offer to the seller, potentially each through their respective agents. The seller may either accept the offer, counteroffer at a different price or other terms, or reject the offer. Once an offer or counteroffer has been accepted, the transaction is typically considered pending and on the way to closing pending inspections, resolving various contingencies, securing funds from a lender, and so forth.
  • Because of the many events and parties involved in a real estate transaction, it is often difficult for buyers and sellers to keep track of the details of their effort. Buyers need to react quickly to new listings, price drops, and open houses. They also need to coordinate with their agent (and possibly with co-buyers) on events like inspections, contingency removal, loans, and so on. Sellers also need to be aware of price changes that affect the market, changes to the status of nearby homes, and the like. They also need to coordinate with their agent on events like changes to their listing, buyer inspections, and so forth. Keeping track of all of these details can be overwhelming. It is easy to miss important events, milestones, or deadlines. Some of the relevant information for keeping track of these events is not publicly available. Multiple listing service (MLS) listings are not in the public domain, and third parties are not aware of the details of individual negotiations. Thus, a third party cannot easily create a summary of all data relevant to a purchase or sale.
  • Feeds are streams of information that are consumable by feed readers. One popular type of feed technology is really simple syndication (RSS). RSS allows visitors of websites and other sources of information to consume the information from the information source by subscribing to a feed provided by the information source (or sometimes by a third party, like feedproxy). A website includes various formatting, from where items are placed on the page (e.g., columns, whether banner ads appear at the top or bottom, and so on), to how particular page elements are formatted (e.g., font style, font size, background imagery, and so forth), to how elements react to interaction (e.g., hover events, clicking on an item, and the like). This makes it difficult for software programs that gather information from many sites, e.g., readers, to handle the varying possibilities of content style. Feeds provided by sites get around this problem by providing the information of the site, such as articles or blog posts, in a stream of text that is uniform across various sites, although feeds may still include audiovisual information such as embedded images, videos, and so on. Feeds are typically the same for all users that receive the feed. For example, two users receiving a feed of blog posts from a web log will typically receive the same set of posts.
  • BRIEF DESCRIPTION OF THE DRAWING
  • FIG. 1 is a block diagram that illustrates components of the personalized feed system, in one embodiment.
  • FIG. 2 is a flow diagram that illustrates processing of the personalized feed system to receive and correlate feed events for a user, in one embodiment.
  • FIG. 3 is a flow diagram that illustrates processing of the personalized feed system to display a personalized user feed, in one embodiment.
  • FIG. 4 is a display diagram that illustrates a personalized user feed rendered by the personalized feed system, in one embodiment.
  • DETAILED DESCRIPTION
  • Embodiments of the invention may be operational with numerous general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer and/or by computer-readable media on which such instructions or modules can be stored. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
  • Embodiments of the invention may include or be implemented in a variety of computer readable media. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
  • According to one or more embodiments, the combination of software or computer-executable instructions with a computer-readable medium results in the creation of a machine or apparatus. Similarly, the execution of software or computer-executable instructions by a processing device results in the creation of a machine or apparatus, which may be distinguishable from the processing device, itself, according to an embodiment.
  • Correspondingly, it is to be understood that a computer-readable medium is transformed by storing software or computer-executable instructions thereon. Likewise, a processing device is transformed in the course of executing software or computer-executable instructions. Additionally, it is to be understood that a first set of data input to a processing device during, or otherwise in association with, the execution of software or computer-executable instructions by the processing device is transformed into a second set of data as a consequence of such execution. This second data set may subsequently be stored, displayed, or otherwise communicated. Such transformation, alluded to in each of the above examples, may be a consequence of, or otherwise involve, the physical alteration of portions of a computer-readable medium. Such transformation, alluded to in each of the above examples, may also be a consequence of, or otherwise involve, the physical alteration of, for example, the states of registers and/or counters associated with a processing device during execution of software or computer-executable instructions by the processing device.
  • As used herein, a process that is performed “automatically” may mean that the process is performed as a result of machine-executed instructions and does not, other than the establishment of user preferences, require manual effort.
  • A personalized feed system is described herein that provides feeds that are tailored to the preferences of each user of a real estate website or application. In some embodiments, the system provides a feed with regular (e.g., nightly or weekly) listing updates that include new listings of interest to a particular buyer. The buyer may have previously signed up with the website to receive a stored profile, and the profile may include information such as what geographical regions the buyer is interested in, what types of homes the buyer is looking for, and so on. The personalized feed system uses this information to provide a feed specific to the buyer that notifies the buyer of listings that are of particular relevance to that buyer, based on the buyer's expressed preferences or other implicitly determined information about the buyer. In some embodiments, real estate parties can subscribe to an RSS or other feed for a saved real estate search, to be notified when new items are available that meet the criteria of the search. A buyer may use this to find newly listed homes, while a seller may use this to find new competing listings.
  • The personalized feed system also creates a personal feed specific to each user of the real estate website. All real estate events that are relevant to the user are summarized in a single time-oriented feed (i.e., newest events may be displayed first, with older events “falling off” the list as they become stale or dated). Buyers receive information about new and/or modified listings, sales, outstanding offers, and the like, while sellers receive information about sales, new and/or modified listings, open offers, and so on. Once a buyer or seller is in the offer process, the feed displays information about progress of the transaction. Information in the feed can be read-only (e.g., a new listing), while other information can be read-write (e.g., “sign loan docs” where a user can indicate that the user signed the documents requested). Thus, the personalized feed system provides a variety of types of real estate transaction information to users in a more compact way that the users can consume in a feed-reading application of their choice or from the web.
  • Feeds created by the system can include information about heterogeneous real estate events (e.g., some that are MLS related, others that are deal related, others that are about public data), time oriented display or delivery of events, a comprehensive view of events related to a home search or sale, information that is personal, public, and/or proprietary data, and/or events that are interactive (e.g., check off a checkbox).
  • In some embodiments, a queue of feed items is stored for each user. As relevant events are discovered, a reference to the event is stored into the queue. Periodically run jobs discover and/or record items of interest for each user. For example, using a relational database, the system may include a table of listing updates, which contains a row for every change to every listing (including events like, for example, “went on market”, “price changed”, and “went off market”). Each row in the listing updates table has a unique identifier (e.g., a primary key). Rows in the listing updates table are not associated with individual users, but rather they are facts about each listing. However, a user may subscribe to a particular set of listing updates, which generates a query that can be run against the listing updates table to identify new events of interest to that user. For each identified event of interest, the system places a reference in a list of feed items specific to that user.
  • The same database might also contain a table of deals, which contains one row for each home offer handled by a real estate website. Each deal may be of interest to multiple users, such as a buyer, seller, listing agent, and/or buying agent who are all parties to a particular transaction. The system identifies deal events of interest to each user and places a reference to each event of interest in each user's individual, personalized feed. The same database may contain another table of feed items called feed_items. Each row in the table associates a user with a change or event. The feed_items table might contain columns like user_id, datetime_added, item_id, and/or item_type. The item_type column indicates the type of the item described by the row. For example, an item_type of “listing” (or an associated numeric identifier) might refer to rows in the listing updates table, while an item_type of “deals” might refer to an item in the deals table (such as the need to perform an inspection). A particular user might have a row in feed_items that refers to a particular listing update, and/or another row that refers to a particular deal, as well as other events from other categories of information tracked by the real estate site.
  • When displaying this information to the user, the system queries the feed_items table for recent items that are relevant to the current user. Results can be ordered by datetime_added descending, or based on other criteria. For each item, the system decodes the item_type, looks up the relevant item_id, and places the data in feed format or renders the item for display. The feed format or display may include icons, color-coding, or some other visual indicator of items of particular interest (e.g., looming deadlines).
  • FIG. 1 is a block diagram that illustrates components of the personalized feed system, in one embodiment. The system 100 includes a user profile component 110, one or more event sources 120, a real estate data store 130, an event detection component 140, a user-event correlation component 150, a feed management component 160, a feed rendering component 170, and a feed interactivity component 180. Each of these components is described in further detail herein.
  • The user profile component 110 stores user profile information for one or more users of the system 100. The profile information may include information such as authentication information (e.g., a user identifier and password), contact information (e.g., an email address, phone number, postal address, and so forth), preference information (e.g., what areas a buyer is looking in for purchases, types of properties of interest, and so forth), transactions the user is a party to, and so forth. Users may also have a type tracked by the system, such as buyer, seller, service provider, agent, and the like. Any user may operate in several categories at the same time, and may be associated with events related to each. For example, a person may be selling a house in one area while buying a house in another. In some cases, the system may create separate feeds or classifications of events in a feed that allow a user to see events related to only one particular scope at some times and all events at others, upon request.
  • The one or more event sources 120 include various sources of real estate related information. These may include data streams from a multiple listing service (MLS), a county information data stream (e.g., sales data, assessor information, tax payments, and the like), transaction information, broker/agent information, and so forth. The real estate website may use these sources of data for everyday operation of the website, such as to provide real estate searches, property information, value estimates, or other purposes. The personalized feed system described herein uses these event sources to identify and record events of interest for each user of the real estate website.
  • The real estate data store 130 is a data storage facility that stores information from the event sources, user profile information, and/or user-to-event association information. The data storage facility may include one or more files, file systems, hard drives, databases, cloud based storage services, or other facilities for storing data persistently over time. For example, the real estate data store 130 may be implemented as a relational database with various tables related to users, properties, transactions, events, and so forth. The system 100 may use queries or other data access methods to periodically identify information stored in the data store 130 that may be of interest to each user, and to update a set of feed items associated with each user. In some cases, for efficiency the system may determine groups of users with similar characteristics (e.g., each looking for a similar home in the same area), and perform a unified query to identify events for the group. Although some actions for multiple users may be performed together, the system 100 provides a high level of personalization such that each user may have a different set of events in the user's personalized feed by the time event detection along all axes for a user is complete.
  • The event detection component 140 detects events from the event sources 120 and/or stores the events in the real estate data store 130. The event detection component 140 may detect events from an MLS, such as price increases, changes in status of a listing (e.g., from “for sale” to “under contract” to “pending” to “sold”), new photos available, changes in agent remarks about a listing, notes from a buyer or seller's own agent to the buyer or seller, and/or so forth. The component 140 may also detect events from other sources, such as a change in assessment or tax value from a county data stream, a rise in the level of interest indicated by page views on a real estate site, new transaction information available from a broker's transaction data stream, or any other event deemed relevant by an implementer of the system 100. The component 140 then stores these events in the real estate data store 130, either with complete information or with a sufficient amount of reference information to retrieve further information about the event later. The component 140 may store type or source information that indicates where the event came from and/or what type of event it is that is useful later for identifying and/or culling events relevant to a particular user's feed.
  • The user-event correlation component 150 periodically analyzes the real estate data store 130 to identify events relevant to particular users and/or to associate those events with the particular users. For example if a particular user is party to a transaction (e.g., a purchase and sale transaction), then the component 150 associates any new events related to the transaction with the user. The user may be a buyer, seller, agent, service provider, or other user related to the transaction. The component 150 may work in conjunction with configuration stored in a user's profile that specifies types of events that a particular user is interested in receiving in his or her feed. For example, a service provider or agent may receive a large number of events, and may want to configure his or her profile so that not all events are place in his or her feed, while a buyer or seller that is rarely involved in transactions may want to receive every event relevant to that user. The user-event correlation component 150 may search (e.g., via a query) various sub-stores of the data store 130, such as tables for listings, transactions, and so forth, to identify events relevant to particular users. The component 150 may regularly run a process for each user that identifies events of relevance to that user, or may group users where the data to be identified for each user is similar (e.g., same types of listings in a given area). The result is a set of events associated with each user that the user did not have to expend effort to go out and find, and that are waiting for the user to view in a feed-based format when the user next visits the site or uses an appropriate feed reading program.
  • The feed management component 160 manages a personalized feed for each user of the system 100. The feed for each user includes events of particular relevance to that user, and may include broad public data, such as available listings, as well as private data available to a real estate web site, such as events in a transaction to which the user is a party. The feed management component 160 takes the events identified by the user-event correlation component 150, and places those events in the format of a feed, such as an RSS feed or historical web log. After the user-event correlation component 150 runs, the real estate data store 130 may include a table that correlates user identifiers with event types and/or references. The job of the feed management component 160 is then to access each of the event references associated with a particular user, retrieve the referred to information, and format the information in feed format. This may include making formatting of the content in an event reference uniform, retrieving data items from other tables of the real estate data store 130 or external data streams, and so forth. The component 160 may provide a uniform resource locator (URL) or other endpoint that each user can use to access his or her latest feed items at any time (e.g., http://www.redfin.com/user/myfeed/). The component 160 may also track which feed items a user has seen before, such that a user can view only unread or new items to reduce clutter, or can save items (e.g., “starring” those items) to keep them available for viewing.
  • The feed rendering component 170 renders the personalized feed for a given user upon request by the user. Rendering may include displaying a web page with the feed items for the user, or displaying the feed items in a feed reader or similar software program separate from an implementer of the system's website. Feeds for readers are often delivered in extensible markup language (XML) format, though other formats can be used. In such cases, a real estate website implementing the system may provide a URL at which a feed reader can receive an XML version of the feed for display in the reader program. The user may authenticate by providing authentication information (e.g., a username and password), so that the website can access that user's profile and/or personalized feed items. The user's authentication information or equivalent credentials may also be stored in a cookie by the user's web browser or feed reading program so that subsequent visits to the site do not request logon information interactively from the user.
  • The feed interactivity component 180 handles user interaction with interactive feed items in the user's personalized feed. Feed items may be actionable, such as requesting that a user sign a document, check a checkbox, or perform some other action related to an event in the user's personalized feed. For example, during a purchase and sale transaction, a buyer's agent may ask the buyer whether the buyer would like a termite inspection during closing, and the buyer can respond directly from his or her feed by selecting yes or no. This allows a user to very quickly see all of the events that request user input in a flowing feed-based format, respond to them all, and then continue with other activities. For a user such as an agent, that may be simultaneously handling multiple transactions, this can be a particularly efficient way to handle and respond to requests. The feed interactivity component 180 receives the user interaction and may create additional events related to the response in other users' feeds. For example, if a buyer responds to his or her agent that a termite inspection is requested during closing, then the component 180 may place a response entry in the agent's feed that indicates the buyer's answer.
  • FIG. 2 is a flow diagram that illustrates processing of the personalized feed system to receive and correlate feed events for a user, in one embodiment. Beginning in block 210, the system receives user information that specifies one or more event types of real estate information of interest to a user. The system may access a stored user profile for a user to identify configuration information that may specify one or more real estate searches for properties, one or more transactions to which the user is a party, and other real estate events (e.g., open houses). The configuration information may identify events of interest that may be placed in a personalized feed associated with the user as well as events not of interest or that the user does not want to receive in his or her feed. The system may perform these steps for a large group of users of a real estate website or other application. The system may update feeds for users serially, for many users at the same time in parallel, according to a schedule of when the system is less busy, or according to any other schedule that a particular implementer of the system chooses to meet the goals described herein.
  • Continuing in block 220, the system selects an event source from which the system receives a data stream of real estate information. The system may receive real estate data from a variety of data sources, such as multiple listing services, county tax data sources, transaction data sources, broker data sources, geographic information sources, neighborhood information sources, and so forth. The system may periodically retrieve information from these data sources as part of a separate process to keep up to date real estate information on a real estate search website or other application. The system then also leverages this information to provide personalized feeds for users of the website or application.
  • Continuing in block 230, the system connects to the selected event source. The event source may provide a website of its own, a web service application-programming interface (API), a file transfer protocol (FTP) site, a remote database connection, or data sharing protocol to which the system can connect to receive new data. The system connects according to the protocol of the particular source, and retrieves new data from that source. The system may do this for each of a series of sources to update a local data store of aggregate real estate information (e.g., information from multiple sources about a set of properties).
  • Continuing in block 240, the system receives event information from the connected event source. The system may receive information in one format, such as bulk information about each of the tax parcels in a county, and then may separate this information into individual events (e.g., property A's tax assessed value increased). The system may then store these events in an events table or other data structure of a data store, such as a relational database. The system may also store the bulk data and later extract events by querying one or more records associated with the bulk data. For example, the system may compare two sets of bulk data from different times to form a “diff” view of items that differ, and then turn these differences into events. In some cases, a failure to change may also be an event, such as an unsold property with a listing price that has not dropped in more than 60 days. The system can create events for any data occurrence of interest to a particular implementation of the system.
  • Continuing in block 250, the system identifies events for the user, based on the received user information and/or the received event information. An event of interest to a user may include any listing changes (or lack of changes) for listings that satisfy a real estate search query saved by the user in the user's profile, events related to a transaction to which the user is a party, events based on behavior of other users (e.g., properties going under contract have risen in an area), and so forth. The system identifies events by matching all of the available event data streams to preference and/or other configuration information known about the user.
  • Continuing in block 260, the system stores correlation information that associates the user with events identified for that user. The correlation information may include the actual event data, such as a text or other description of the event, or reference information from which the system can later retrieve or generate the full event information. For example, if a listing changed in price, the system may store a reference to a listing data store with an indication that the price change is the event being referenced. Later, when the feed is rendered the system can then access any referenced event from their respective event sources, and create a complete event record for display to the user. The stored user-event correlation information may also include other data, such as whether a user has seen or “read” a particular correlated item, whether a response is expected or requested from the user, and so on.
  • Continuing in decision block 270, if there are more event sources then the system loops to block 220 to select the next event source from which to retrieve event information. Although shown serially for ease of explanation and clarity, those of ordinary skill in the art will recognize that the system may pull data from multiple event sources in parallel and process information from each at the same time or in an overlapping manner. Doing so may increase the efficiency of the system or increase the ability of the system to perform background work at times when the system is less busy with interactive user sessions (e.g., late at night). After block 270, these steps conclude.
  • FIG. 3 is a flow diagram that illustrates processing of the personalized feed system to display a personalized user feed, in one embodiment. Beginning in block 310, the system receives user information that identifies a particular user requesting to display the user's personalized user feed of real estate events that have occurred in a particular period. For example, the user may authenticate with the system either by providing interactive logon information or by uploading cryptographic information stored in a cookie on the user's computing device (e.g., a computer or smartphone). The feed may include events that have occurred since the user last logged on, events that the user has flagged to stay in the feed, events that are pending a user response or other interaction, and so forth.
  • Continuing in block 320, the system retrieves one or more latest feed items that represent events that have occurred in the time period specified. The system may automatically display to the user those events that have occurred in a predefined period (e.g., since the user last logged on, events in the last 7 days, and so on), or may allow the user to select a period of interest (e.g., the last 30 days). The system retrieves the feed items from a data store of events correlated with the particular user, such as by the process described with reference to FIG. 2. The feed items may be stored in a table of a relational database or other data store from which the items can be queried to identify those items relevant for displaying to the user.
  • Continuing in block 330, the system renders a feed that mixes feed items from multiple data sources in a uniform format for display in a feed format that is different from the native format of the underlying information. For example, a change in listing price that was originally displayed in a multiple listing service listing page may be rendered as a short text description that specifies the address, previous listing price, and/or new listing price of a property. The system may provide this information in XML or another format that complies with a well-known feed standard such as RSS, atom, or other feed formats. Although feed items may include audiovisual information such as pictures and/or video, a feed item often excludes information that may have been present on the original information such as navigation controls for a website, banner advertisements, and so forth. While this makes the information more compact and convenient for user consumption, many feeds attempt to reintroduce this information by placing links to the source site in the feed items and inserting feed items specifically for advertisements to be placed inline in the feed. Where preferred by a particular implementation of the system, the system may modify the feed in this way also.
  • Continuing in block 340, the system displays the rendered feed to the user. The system may provide a web page that renders a particular user's feed as well as providing a URL or other source from which the user can retrieve the feed for display in other software, such as a feed reading program. In such cases, the feed reading program displays the rendered feed to the user, and the system provides the underlying data in the appropriate feed format (e.g., RSS via XML). The system may display the feed to the user as a list of time-oriented items, much like an inbox of email messages or other time-based listings. This allows the user to consume many events in a common format for going through large amounts of information in one place, rather than having to visit each source of information separate. Thus, by reading a feed of 5-10 items, the user may avoid visiting 5-10 separate web pages to receive the same information.
  • Continuing in block 350, the system receives a user interaction with an interactive feed item in the displayed feed that requests a user response. For example, a feed item may include an event from a user's agent related to a transaction in which the user is the buyer. The event may ask the user to sign a purchase and sale agreement for an offer, select an inspector for a home inspection, select a lender to provide financing, select a closing escrow company, and so forth. Earlier in the process of finding a house, an agent may send inquiries such as whether a user that is a buyer likes a particular style of living room or house layout. These and other feed items form read-write, interactive feed items to which the user provides a response by interacting with one, or more displayed controls.
  • Continuing in block 360, the system records a response indicated by the user interaction and provides the response to a requesting party. The system may provide the response as a feed item in another user's feed, such as the feed of an agent associated with the buyer. In this way, the recipient of the response can also manage information via his or her personalized feed, and can potentially handle many such responses in a short amount of time due to the more compact format provided by feeds. After block 360, these steps conclude.
  • FIG. 4 is a display diagram that illustrates a personalized user feed rendered by the personalized feed system, in one embodiment. The display page 410 shows a personalized feed 420 for a user that has logged into a website provided by a real estate company. The personalized feed 420 contains various feed items, such as a first item 430 that indicates that a listing of interest to the user has decreased in price. A second feed item 440 indicates that another listing has changed in status. Still another feed item 450 indicates that three new listings match a saved search for the user. Each of these feed items represent different types of information, and potentially come from different sources, but because of the personalized feed system, the user is able to gather and consume all of these events of interest to the user in one place, the personalized feed. From the personalized feed, the user can select hyperlinks embedded in each feed item to view a detail page related to that item.
  • From the foregoing, it will be appreciated that specific embodiments of the personalized feed system have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.

Claims (20)

1. A computer-implemented method to receive and correlate feed events for a personalized real estate data feed for a user, the method comprising:
receiving user information that specifies one or more event types of real estate information of interest to a user;
selecting an event source from which the system receives a data stream of real estate information;
connecting to the selected event source;
receiving event information from the connected event source;
identifying events for the user, based on the received user information and the received event information; and
storing correlation information that associates the user with one or more events identified for that user,
wherein the preceding steps are performed by at least one processor.
2. The method of claim 1 wherein receiving user information comprises accessing a stored user profile for a user to identify configuration information that specifies one or more types of real estate events.
3. The method of claim 1 wherein receiving user information comprises receiving one or more event types to ignore for a user and not place in a personalized feed for the user.
4. The method of claim 1 wherein selecting the event source comprises receiving information from a source selected from the group consisting of a multiple listing service, a county tax data source, a transaction data source, a broker data source, a geographic information source, and a neighborhood information source.
5. The method of claim 1 wherein selecting the event source comprises periodically retrieving information from multiple data sources as part of a separate process to keep up to date real estate information on a real estate search website.
6. The method of claim 1 wherein connecting to the selected event source comprises at least one of accessing a website associated with the event source, invoking a web service application programming interface (API) of the event source, accessing, a file transfer protocol (FTP) site of the event source, or establishing a remote database connection with the event source.
7. The method of claim 1 wherein receiving event information comprises separating the event information into individual events and storing the separate events in an events data structure of a data store.
8. The method of claim 1 wherein receiving event information comprises storing bulk data retrieved from the event source and later extracting events by querying one or more records associated with the bulk data.
9. The method of claim 1 wherein receiving event information comprises defining as an event data that has not changed for a specified period of time.
10. The method of claim 1 wherein identifying events for the user comprises comparing information in the user's profile with the received event information to identify one or more events that correlate with a type of event of interest to the user.
11. The method of claim 1 wherein storing correlation information comprises storing reference information from which detailed event information can later be retrieved.
12. The method of claim 1 wherein storing correlation information comprises marking each event with an indication of whether a response is requested from the user to each event.
13. The method of claim 1 further comprising performing the method for each of a plurality of event sources to correlate events from each event source with the user's profile information.
14. A computer system for providing a personalized real estate event feed, the system comprising:
a processor and memory configured to execute software instructions embodied within the following components;
a user profile component that stores user profile information for one or more users of the system;
one or more event sources that include various sources of real estate related information;
a real estate data store that stores information from the event sources, user profile information, and user-to-event association information;
an event detection component that detects separate events from the event sources and stores the events in the real estate data store;
a user-event correlation component that periodically analyzes the real estate data store to identify events relevant to particular users and to associate those events with the particular users;
a feed management component that manages a personalized feed for each user of the system, wherein the personalized feed includes feed items based on the identified events for each particular user;
a feed rendering component that renders the personalized feed for a given user upon request by the user; and
a feed interactivity component that handles user interaction with interactive feed items in the user's personalized feed, wherein an interactive feed item can receive a response from the user.
15. The system of claim 14 wherein the user profile information comprises authentication information, preference information that indicates a type of real estate the user is interested in, and one or more transactions the user is a party to.
16. The system of claim 14 wherein the event sources comprise at least data streams from a multiple listing service, a county information data stream, and transaction information from a real estate broker from which the system identifies and records events of interest for each user of a real estate website.
17. The system of claim 14 wherein the event detection component identifies separate events based on comparing an earlier version of information received from an event source with a later version and detecting changes between the two versions, wherein each change is classified as a separate event.
18. The system of claim 14 wherein the user-event correlation component produces a set of events associated with each user that the user did not have to manually find, and that are waiting for the user to view in a feed-based format when the user next accesses the system.
19. The system of claim 14 wherein rendering a feed for a user comprises placing the feed items of the user's personalized feed in a time-oriented, uniform format according to a well-known standard for consuming data feeds.
20. A computer-readable storage medium comprising instructions for controlling a computer system to display a personalized user feed for a user of a real estate application, wherein the instructions, upon execution, cause a processor to perform actions comprising:
receiving user information that identifies a particular user requesting to display the user's personalized user feed of real estate events that have occurred in a particular time period;
retrieving one or more latest feed items that represent events that have occurred in the time period specified;
rendering a feed that mixes feed items from multiple data sources in a uniform format for display in a feed format that is different than the native format of the underlying information;
displaying the rendered feed to the user;
receiving a user interaction with an interactive feed item in the displayed feed that requests a user response; and
recording a response indicated by the user interaction and providing the response to a requesting party.
US15/616,721 2012-10-05 2017-06-07 Personalized real estate event feed Abandoned US20180007169A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/616,721 US20180007169A1 (en) 2012-10-05 2017-06-07 Personalized real estate event feed

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261710606P 2012-10-05 2012-10-05
US14/046,833 US9706011B2 (en) 2012-10-05 2013-10-04 Personalized real estate event feed
US15/616,721 US20180007169A1 (en) 2012-10-05 2017-06-07 Personalized real estate event feed

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/046,833 Continuation US9706011B2 (en) 2012-10-05 2013-10-04 Personalized real estate event feed

Publications (1)

Publication Number Publication Date
US20180007169A1 true US20180007169A1 (en) 2018-01-04

Family

ID=50433414

Family Applications (8)

Application Number Title Priority Date Filing Date
US13/907,632 Active 2034-02-04 US9406082B2 (en) 2012-10-05 2013-05-31 Multiplexing web requests for improved performance
US13/907,724 Abandoned US20140100956A1 (en) 2012-10-05 2013-05-31 Providing fast alerts for rapidly changing real estate data
US13/907,681 Abandoned US20140236768A1 (en) 2012-10-05 2013-05-31 Physical references for providing supplemental real estate information
US14/046,833 Active US9706011B2 (en) 2012-10-05 2013-10-04 Personalized real estate event feed
US14/046,811 Abandoned US20140143644A1 (en) 2012-10-05 2013-10-04 Web browser page transition acceleration
US14/047,820 Abandoned US20140100905A1 (en) 2012-10-05 2013-10-07 Home tour and open house scheduler
US15/198,786 Abandoned US20160337481A1 (en) 2012-10-05 2016-06-30 Multiplexing web requests for improved performance
US15/616,721 Abandoned US20180007169A1 (en) 2012-10-05 2017-06-07 Personalized real estate event feed

Family Applications Before (7)

Application Number Title Priority Date Filing Date
US13/907,632 Active 2034-02-04 US9406082B2 (en) 2012-10-05 2013-05-31 Multiplexing web requests for improved performance
US13/907,724 Abandoned US20140100956A1 (en) 2012-10-05 2013-05-31 Providing fast alerts for rapidly changing real estate data
US13/907,681 Abandoned US20140236768A1 (en) 2012-10-05 2013-05-31 Physical references for providing supplemental real estate information
US14/046,833 Active US9706011B2 (en) 2012-10-05 2013-10-04 Personalized real estate event feed
US14/046,811 Abandoned US20140143644A1 (en) 2012-10-05 2013-10-04 Web browser page transition acceleration
US14/047,820 Abandoned US20140100905A1 (en) 2012-10-05 2013-10-07 Home tour and open house scheduler
US15/198,786 Abandoned US20160337481A1 (en) 2012-10-05 2016-06-30 Multiplexing web requests for improved performance

Country Status (1)

Country Link
US (8) US9406082B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430521A (en) * 2018-04-27 2019-11-08 上海大唐移动通信设备有限公司 Garment marketing analysis system and method based on WIFI indoor positioning
CN114518912A (en) * 2022-02-21 2022-05-20 度小满科技(北京)有限公司 Page loading method, device and equipment and readable storage medium
US11430077B2 (en) * 2019-02-13 2022-08-30 The Toronto-Dominion Bank System and method for searching and monitoring assets available for acquisition
US11841913B2 (en) 2019-02-13 2023-12-12 The Toronto-Dominion Bank System and method for controlling visibility of elements of displayed electronic content

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9536308B2 (en) 2012-12-10 2017-01-03 Verint Systems Ltd. Irregular event detection in push notifications
US20140279176A1 (en) * 2013-03-15 2014-09-18 Redfin Corporation Provision of real-estate market information
US20140379799A1 (en) * 2013-06-21 2014-12-25 Microsoft Corporation Augmenting content obtained from different content sources
US20150012530A1 (en) * 2013-07-05 2015-01-08 Accenture Global Services Limited Determining an emergent identity over time
US20150106278A1 (en) * 2013-10-11 2015-04-16 Costar Realty Information, Inc. Method and apparatus for search and analysis of real estate data
US9507761B2 (en) * 2013-12-26 2016-11-29 International Business Machines Corporation Comparing webpage elements having asynchronous functionality
GB2530781A (en) * 2014-10-02 2016-04-06 Ibm Processing messages for retrieval from a message queuing system
US10425348B2 (en) * 2015-07-22 2019-09-24 The Regents Of The University Of Colorado Stateless network functions
CN105046256B (en) * 2015-07-22 2018-10-16 福建新大陆自动识别技术有限公司 QR codes coding/decoding method based on distorted image correction and system
US10311511B2 (en) 2015-09-14 2019-06-04 The Toronto-Dominion Bank Connected device-based property evaluation
CN105183890B (en) * 2015-09-28 2020-07-10 北京奇虎科技有限公司 Webpage loading method based on browser and browser device
US10229214B2 (en) * 2015-12-31 2019-03-12 Ca, Inc. Dynamic web page navigation
US10075549B2 (en) * 2016-01-25 2018-09-11 Quest Software Inc. Optimizer module in high load client/server systems
US11194572B2 (en) 2016-02-22 2021-12-07 International Business Machines Corporation Managing external feeds in an event-based computing system
CN107409149B (en) * 2016-03-17 2021-02-26 谷歌有限责任公司 Method for hybrid client-server data provision
US11170059B2 (en) * 2016-03-30 2021-11-09 International Business Machines Corporation Personalized content selection for time-constrained sessions
US20170330296A1 (en) * 2016-05-12 2017-11-16 Joseph C. Burke Consumer Oriented Mobile Solution to Track Your Closing
US10250716B2 (en) * 2016-06-30 2019-04-02 Salesforce.Com, Inc. Priority-driven boxcarring of action requests from component-driven cloud applications
US10250715B2 (en) * 2016-06-30 2019-04-02 Salesforce.Com, Inc. Dynamic adjustment of boxcarring of action requests from component-driven cloud applications
US20180060980A1 (en) * 2016-08-25 2018-03-01 Barbara Carey Stachowski Search with home tour navigation
US10540620B2 (en) 2016-10-31 2020-01-21 Microsoft Technology Licensing, Llc Personalized aggregated project team activity feed
US10574723B2 (en) * 2016-11-30 2020-02-25 Nutanix, Inc. Web services communication management
US20180218387A1 (en) * 2017-01-30 2018-08-02 Price-Mars Delly Feedback system through an online community format
US10620996B2 (en) * 2017-04-26 2020-04-14 Servicenow, Inc. Batching asynchronous web requests
US10540364B2 (en) 2017-05-02 2020-01-21 Home Box Office, Inc. Data delivery architecture for transforming client response data
US10460748B2 (en) 2017-10-04 2019-10-29 The Toronto-Dominion Bank Conversational interface determining lexical personality score for response generation with synonym replacement
US10339931B2 (en) 2017-10-04 2019-07-02 The Toronto-Dominion Bank Persona-based conversational interface personalization using social network preferences
CN107862352B (en) * 2017-10-12 2021-06-29 深圳思为科技有限公司 Two-dimensional code sharing method and two-dimensional code sharing equipment
WO2019136387A1 (en) 2018-01-08 2019-07-11 Ebay Inc. Artificial assistant system notifications
US20190251644A1 (en) * 2018-02-09 2019-08-15 Gregory D. Hague Method and system for rapid notification of new real estate listings
US11393056B1 (en) * 2018-03-06 2022-07-19 TourZazz, Inc. Property tour management system
US10846776B1 (en) * 2018-03-19 2020-11-24 Amazon Technologies, Inc. Account customized item list system
CN108959495B (en) * 2018-06-25 2019-12-06 百度在线网络技术(北京)有限公司 page display method, device, equipment and computer storage medium of H5 webpage
US11593718B2 (en) * 2018-07-20 2023-02-28 Tour24, Inc. Systems and methods for scheduling and performing self-guided tours of multi-unit residential facilities
US11042426B2 (en) 2018-08-23 2021-06-22 International Business Machines Corporation Utilizing reusable AJAX requests
UA122556C2 (en) 2018-12-03 2020-11-25 Олександр Вікторович Романєєв MULTI-USER MULTILINGUAL SYSTEM FOR CREATING ORDERS AND MANUFACTURING WINDOWS AND DOORS
CN109978656B (en) * 2019-02-12 2024-02-06 平安科技(深圳)有限公司 House personalized configuration management method, device, computer equipment and storage medium
EP3715790A1 (en) * 2019-03-29 2020-09-30 Naver Corporation System and method for generating tours
US20200372013A1 (en) * 2019-05-24 2020-11-26 Samsung Sds Co., Ltd. Accelerated processing apparatus for transaction considering transaction failure probability and method thereof
KR20200139034A (en) * 2019-06-03 2020-12-11 삼성에스디에스 주식회사 Blockchain based computing system and method for managing transaction thereof
US11727170B2 (en) 2020-02-14 2023-08-15 Cibo Technologies, Inc. Method and apparatus for generation of land parcel valuation based on supplemented parcel productivity attributes
US11798043B2 (en) 2020-02-14 2023-10-24 Cibo Technologies, Inc. Method and apparatus for generation and employment of agro-economic metrics for land parcel valuation
US11720723B2 (en) 2020-02-14 2023-08-08 Cibo Technologies, Inc. Method and apparatus for generation and employment of parcel sustainability attributes for land parcel valuation
US11720724B2 (en) 2020-02-14 2023-08-08 Cibo Technologies, Inc. Method and apparatus for generation of land parcel valuation tailored for use
US11823296B2 (en) 2020-02-14 2023-11-21 Cibo Technologies, Inc. Method and apparatus for generation and employment of parcel productivity attributes for land parcel valuation
US11682090B2 (en) 2020-02-14 2023-06-20 Cibo Technologies, Inc. Method and apparatus for generation and employment of parcel production stability attributes for land parcel valuation
US11500815B2 (en) * 2020-03-26 2022-11-15 EMC IP Holding Company LLC Dual relationship-based hash structure for non-volatile memory technology
KR20210140851A (en) * 2020-05-14 2021-11-23 삼성에스디에스 주식회사 Method for associating data between a plurality of blockchain networks and apparatus thereof
US11768840B2 (en) 2020-07-08 2023-09-26 Cibo Technologies, Inc. Method and apparatus for rapid search for agricultural parcels and generation of relevant search results
US11580116B2 (en) 2020-07-08 2023-02-14 Cibo Technologies, Inc. Viewport location based method and apparatus for generation and promotion of type ahead results in a multi-source agricultural parcel search
US11657042B2 (en) 2020-07-08 2023-05-23 Cibo Technologies, Inc. Method and apparatus for generation and promotion of type ahead results in a multi-source agricultural parcel search
US20220028014A1 (en) * 2020-07-21 2022-01-27 Michael J. Huth Home History Records and Database
CN112348713A (en) * 2020-09-25 2021-02-09 贝壳技术有限公司 QLRunner-based data processing method, device, electronic equipment and medium
US20220244820A1 (en) * 2021-02-02 2022-08-04 Taboola.Com Ltd In-page navigation
US11769219B2 (en) 2021-11-15 2023-09-26 Anthony Makins Computer-implemented and interactive real estate contract generation and editing process
CN116308218A (en) * 2023-05-22 2023-06-23 北京焦点新干线信息技术有限公司 Early warning method, device, equipment and storage medium for online house selection system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080262945A1 (en) * 2007-03-28 2008-10-23 Daniel Carver Clark Ontological subscription and publication system with automatic notification of matching advertisements, products, and services within the ontological system for buyers and sellers
US20120060121A1 (en) * 2006-09-28 2012-03-08 Goldberg Steven L Content Feed User Interface

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032989A (en) 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method
US5636117A (en) 1991-03-11 1997-06-03 Rothstein; Robert E. Method and apparatus for monitoring the strength of a real estate market or commodity market and making lending and insurance decisions therefrom
US5758313A (en) 1992-10-16 1998-05-26 Mobile Information Systems, Inc. Method and apparatus for tracking vehicle location
US5844570A (en) 1995-05-02 1998-12-01 Ames Research Laboratories Method and apparatus for generating digital map images of a uniform format
JP4179655B2 (en) 1998-01-29 2008-11-12 ソニー株式会社 Information providing apparatus and method, information transmitting apparatus, and information providing system
US7840440B2 (en) 1998-08-06 2010-11-23 Cybersettle Holdings, Inc. Computerized transaction bargaining system and method
US20030158786A1 (en) 1999-02-26 2003-08-21 Skyline Software Systems, Inc. Sending three-dimensional images over a network
US6684196B1 (en) 1999-07-07 2004-01-27 Ziprealty, Inc. Beginning-to-end online automation of real estate transactions
US6307573B1 (en) 1999-07-22 2001-10-23 Barbara L. Barros Graphic-information flow method and system for visually analyzing patterns and relationships
US8397177B2 (en) 1999-07-22 2013-03-12 Tavusi Data Solutions Llc Graphic-information flow method and system for visually analyzing patterns and relationships
US6799166B2 (en) * 1999-09-02 2004-09-28 International Business Machines Corporation Method and apparatus for preventing duplicate transactions on batch mode failure recovery in a data processing system
US20040078464A1 (en) * 1999-09-16 2004-04-22 Rajan Sreeranga P. Method and apparatus for enabling real time monitoring and notification of data updates for WEB-based data synchronization services
US6839880B1 (en) 1999-10-21 2005-01-04 Home Debut, Inc. Electronic property viewing system for providing virtual tours via a public communications network, and a method of exchanging the same
US20020049624A1 (en) 1999-12-10 2002-04-25 Raveis William M. System and method for tracking real estate transactions
US20020022980A1 (en) * 2000-01-04 2002-02-21 Bahram Mozayeny Method and system for coordinating real estate appointments
AU2627401A (en) 2000-01-04 2001-07-16 Callnetics Corporation A method and system for coordinating real estate appointments
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US6871140B1 (en) 2000-02-25 2005-03-22 Costar Group, Inc. System and method for collection, distribution, and use of information in connection with commercial real estate
US20010037273A1 (en) 2000-03-02 2001-11-01 Greenlee George Richard Commercial real estate lease automation system
US20010039506A1 (en) 2000-04-04 2001-11-08 Robbins Michael L. Process for automated real estate valuation
US20020010572A1 (en) 2000-04-14 2002-01-24 Lyman Orton Integrated system for and method of supporting spatial decision making and land-use scenario analysis
CA2376941A1 (en) 2000-04-18 2001-10-25 Amaskorea Co., Ltd. Method for producing identification code, and method and system for giving electronic notice service and electronic meter reading service by using the same
US7454355B2 (en) 2000-04-27 2008-11-18 Milman Robert N Method and system for providing real estate information using a computer network, such as the internet
WO2001084349A2 (en) 2000-04-28 2001-11-08 Ecplatforms, Inc. Multimode negotiation in a networking environment
US6882313B1 (en) 2000-06-21 2005-04-19 At Road, Inc. Dual platform location-relevant service
US6624742B1 (en) 2000-06-24 2003-09-23 Motorola, Inc. Wireless intelligent real estate sign and electronic lock box
US7249036B2 (en) * 2000-07-06 2007-07-24 Cary Gresham Bayne Method for clinician house calls utilizing portable computing and communications equipment
US20020052814A1 (en) * 2000-07-10 2002-05-02 Ketterer Robert M. Virtual real estate brokage system
US7333943B1 (en) * 2000-08-11 2008-02-19 The Prudential Insurance Company Of America Method and system for managing real property transactions having internet access and control
WO2002019216A2 (en) 2000-08-28 2002-03-07 Isdi.Net, Llc Value your home
US20020042839A1 (en) * 2000-10-10 2002-04-11 Christopher Peiffer HTTP multiplexor/demultiplexor
US6873998B1 (en) 2000-10-18 2005-03-29 Navteq North America, Llc System and method for updating a geographic database using satellite imagery
US7487114B2 (en) 2000-10-23 2009-02-03 Costar Group, Inc. System and method for associating aerial images, map features, and information
US7197160B2 (en) 2001-03-05 2007-03-27 Digimarc Corporation Geographic information systems using digital watermarks
US20020133374A1 (en) 2001-03-13 2002-09-19 Agoni Anthony Angelo System and method for facilitating services
US6883002B2 (en) 2001-03-26 2005-04-19 David Allen Faudman Real estate information exchange process and system
US7346519B2 (en) 2001-04-10 2008-03-18 Metropolitan Regional Information Systems, Inc Method and system for MRIS platinum database
US20050125237A1 (en) 2001-05-04 2005-06-09 Craig Harrison System for selling real estate products and services through the internet
CA2352844C (en) 2001-07-10 2009-11-17 Geojet Information Solutions Inc. 3-d map data visualization
US20030040934A1 (en) 2001-08-23 2003-02-27 Brent Skidmore Integrated home inspection and home warranty system
US20030101063A1 (en) 2001-09-28 2003-05-29 Sexton Ashley K. Real estate information system
US6978445B2 (en) * 2001-09-28 2005-12-20 Siebel Systems, Inc. Method and system for supporting user navigation in a browser environment
US7092957B2 (en) 2002-01-18 2006-08-15 Boundary Solutions Incorporated Computerized national online parcel-level map data portal
US20030158668A1 (en) 2002-02-15 2003-08-21 Anderson James J. System and method of geospatially mapping topological regions and displaying their attributes
US20040243533A1 (en) 2002-04-08 2004-12-02 Wsi Corporation Method for interactively creating real-time visualizations of traffic information
US7328163B2 (en) 2002-04-26 2008-02-05 At&T Delaware Intellectual Property, Inc. System and method for distributing information
US7212670B1 (en) 2002-05-03 2007-05-01 Imagetree Corp. Method of feature identification and analysis
US7389242B2 (en) 2002-05-07 2008-06-17 Re3W Worldwide Limited Interactive processing of real estate transactions
US20040039629A1 (en) 2002-05-23 2004-02-26 Kevin Hoffman Web based method and system for managing and transferring business information
US20050010423A1 (en) 2002-05-24 2005-01-13 Dan Bagbey Real estate related and ancilliary services provided through a single point of sale
US20040046798A1 (en) 2002-06-12 2004-03-11 Arlene Alen Real estate presentation device and method
US9811805B2 (en) 2002-09-18 2017-11-07 eSys Technologies, Inc. Automated work-flow management system with dynamic interface
US20040088172A1 (en) 2002-11-01 2004-05-06 Baglioni Martin A. Method and apparatus for real estate agent selection
US20040167797A1 (en) 2002-12-17 2004-08-26 Goncalves Gabriel P. System and method for real estate asset management
US8051089B2 (en) 2003-04-30 2011-11-01 Hewlett-Packard Development Company, L.P. Systems and methods for location-based real estate service
US20050004927A1 (en) 2003-06-02 2005-01-06 Joel Singer Intelligent and automated system of collecting, processing, presenting and distributing real property data and information
US20040249705A1 (en) 2003-06-04 2004-12-09 Perpetual Innovations Company Llc Systems and methods for facilitating real estate transactions
US20050049953A1 (en) 2003-09-03 2005-03-03 Vu Tuan Anh Real estate business method and system integrating multi-level network marketing, franchise management and web tools
US20050096926A1 (en) 2003-10-31 2005-05-05 Eaton Steven L. Automated realty transfer
GB0326915D0 (en) * 2003-11-19 2003-12-24 Ibm A method and system for updating/reloading the content of pages browsed over a network
US20050119903A1 (en) * 2003-12-01 2005-06-02 Lee Fu C. Guided tour system
US20050257131A1 (en) * 2004-02-11 2005-11-17 Lim Jing Y Frame environment that supports the navigation buttons of a web browser
US20050192930A1 (en) 2004-02-27 2005-09-01 Terradatum, Inc. System and method of real estate data analysis and display to support business management
US7447613B2 (en) 2004-02-27 2008-11-04 Deere & Company Method and system for providing a diverse supply of electrical energy
US7283909B1 (en) 2004-03-24 2007-10-16 Olsen Michael A Overlaying orthorectified aerial images with map information tied to a state plane coordinate system
US20050240448A1 (en) 2004-04-27 2005-10-27 Smith Jeffrey C System and method for insuring an entity against tenant default with respect to an income-producing property
US20100217686A1 (en) * 2004-05-03 2010-08-26 Superlative, Inc. System for managing communication between a real estate agent and clients
US20050273346A1 (en) 2004-06-02 2005-12-08 Frost Richard N Real property information management system and method
WO2005124584A2 (en) 2004-06-08 2005-12-29 Michael Shane Adams Virtual digital imaging and method of using the same in real estate
US9105061B2 (en) 2004-06-16 2015-08-11 Redfin Corporation Online marketplace for real estate transactions
US20080126476A1 (en) * 2004-08-04 2008-05-29 Nicholas Frank C Method and System for the Creating, Managing, and Delivery of Enhanced Feed Formatted Content
US7571219B2 (en) * 2004-12-16 2009-08-04 Sap Ag Preserving and accessing active components in web pages
US20060224571A1 (en) * 2005-03-30 2006-10-05 Jean-Michel Leon Methods and systems to facilitate searching a data resource
US7430739B2 (en) * 2005-04-27 2008-09-30 Microsoft Corporation Providing travel log integration for objects hosted in a browser
US7657537B1 (en) * 2005-04-29 2010-02-02 Netapp, Inc. System and method for specifying batch execution ordering of requests in a storage system cluster
US8732250B2 (en) * 2005-10-23 2014-05-20 Silverpop Systems Inc. Provision of secure RSS feeds using a secure RSS catcher
US9740794B2 (en) * 2005-12-23 2017-08-22 Yahoo Holdings, Inc. Methods and systems for enhancing internet experiences
US8103597B2 (en) * 2006-01-17 2012-01-24 Kristopher John Arnebeck Optimizing schedule and itinerary for open houses
US20080126170A1 (en) * 2006-11-07 2008-05-29 Leck Mark H Systems and Methods for Retrieving Potential Real Estate Leads
US8166410B2 (en) * 2006-12-27 2012-04-24 Mlslistings Inc. Methods and systems of online mapping and planning driving tours
US20080183573A1 (en) * 2007-01-31 2008-07-31 James Edward Muschetto Method and Apparatus for Increasing Accessibility and Effectiveness of Advertisements Delivered via a Network
US20090307050A1 (en) * 2008-06-09 2009-12-10 Fournier Michael C Method for Identifying, Rating, and Promoting Desirable Real Estate Listings
US20100094543A1 (en) * 2008-10-09 2010-04-15 411 Web Directory Systems And Methods For Providing Geography-Based Tours
US20100313116A1 (en) * 2009-06-05 2010-12-09 Michael Hyman Microsite Delivery
US20110004560A1 (en) * 2009-07-06 2011-01-06 Max Knake System and method for providing real estate information to potential buyers
US20110055683A1 (en) * 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
US20110066676A1 (en) * 2009-09-14 2011-03-17 Vadim Kleyzit Method and system for reducing web page download time
US20120198361A1 (en) * 2010-12-20 2012-08-02 Infor Global Solutions (Michigan), Inc. Method and System for Seamless Navigation and Drill Back Among a Plurality of Web Applications
US20120290203A1 (en) * 2011-05-13 2012-11-15 King Lance R Real-time route optimization for real estate open house tours
US9235971B1 (en) * 2011-06-28 2016-01-12 Emc Corporation Service window optimized system alert engine
US9049246B2 (en) * 2012-02-28 2015-06-02 Red Hat, Inc. Reducing web page loading time
US8818715B2 (en) * 2012-03-29 2014-08-26 Yahoo! Inc. Systems and methods to suggest travel itineraries based on users' current location
US9721223B2 (en) * 2012-05-14 2017-08-01 Atrium Windows And Doors, Inc. Method and system for retrieving information using serialized scannable codes
US20140052577A1 (en) * 2012-06-06 2014-02-20 Stephen GOTLIEB System and method for travel and planning and trip information aggregation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120060121A1 (en) * 2006-09-28 2012-03-08 Goldberg Steven L Content Feed User Interface
US20080262945A1 (en) * 2007-03-28 2008-10-23 Daniel Carver Clark Ontological subscription and publication system with automatic notification of matching advertisements, products, and services within the ontological system for buyers and sellers

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430521A (en) * 2018-04-27 2019-11-08 上海大唐移动通信设备有限公司 Garment marketing analysis system and method based on WIFI indoor positioning
US11430077B2 (en) * 2019-02-13 2022-08-30 The Toronto-Dominion Bank System and method for searching and monitoring assets available for acquisition
US11842417B2 (en) 2019-02-13 2023-12-12 The Toronto-Dominion Bank System and method for searching and monitoring assets available for acquisition
US11841913B2 (en) 2019-02-13 2023-12-12 The Toronto-Dominion Bank System and method for controlling visibility of elements of displayed electronic content
CN114518912A (en) * 2022-02-21 2022-05-20 度小满科技(北京)有限公司 Page loading method, device and equipment and readable storage medium

Also Published As

Publication number Publication date
US20140100956A1 (en) 2014-04-10
US9406082B2 (en) 2016-08-02
US20140143644A1 (en) 2014-05-22
US20140344112A1 (en) 2014-11-20
US20160337481A1 (en) 2016-11-17
US9706011B2 (en) 2017-07-11
US20140236768A1 (en) 2014-08-21
US20140100905A1 (en) 2014-04-10
US20140101235A1 (en) 2014-04-10

Similar Documents

Publication Publication Date Title
US20180007169A1 (en) Personalized real estate event feed
US8719075B2 (en) System, program product, and methods for online image handling
US7979340B2 (en) System, program product, and methods for online image handling
US7865406B2 (en) Methods and systems for electronic commerce facility client-based presentation offer management
US10902459B2 (en) Facilitating smart advertising on curated content-based networking websites in an on-demand services environment
US20060112130A1 (en) System and method for resource management
US10789659B2 (en) Provision of real-estate market information
US20070255581A1 (en) Online real estate marketplace
US20170249682A1 (en) Online marketplace system
JP6861729B2 (en) Purchase transaction data retrieval system with unobtrusive side-channel data recovery
US20120271735A1 (en) Method and apparatus for providing an electronic commerce platform
US20140279591A1 (en) Network-based real estate marketplace database and location-based matching
US20150248694A1 (en) Attributing offline purchases to online advertising
JP2022514154A (en) Inventory capture, image processing, and market descriptor pricing systems
US20160180478A1 (en) Real Property-Addressed Electronic Messaging
US20100235848A1 (en) System and method for providing automatic advertising distribution for online computer users
US20160098806A1 (en) Online scheduling of real estate tours
US9959562B1 (en) Method, medium, and system for local item fulfillment in a market hierarchy
JP6106699B2 (en) Generating device, generating method, and generating program
US20170228815A1 (en) Methods, systems, and media for providing aggregated and uniformly arranged item information
US11544765B1 (en) Item swap feature
US20200258055A1 (en) System and method for transacting lead and scheduled appointment records
US20180053269A1 (en) Real-estate transaction management platform
US20140278827A1 (en) Network-based real estate marketplace database and brokerge metrics
JP2004318379A (en) Merger and acquisition support system

Legal Events

Date Code Title Description
AS Assignment

Owner name: REDFIN CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SMEDBERG, MICHAEL;CHAO, JENNIFER;GAY, ROBERT;AND OTHERS;SIGNING DATES FROM 20170504 TO 20170520;REEL/FRAME:042640/0226

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION