The present invention relates generally to computer systems, and more particularly to a real estate property analysis system and method.
Purchasing a home is one of the most important decisions in many peoples lives. For many, it is also the largest purchase they ever make. Thus, careful consideration is warranted, and the search for homes can be a daunting and time-consuming process. While the internet has made some improvements in the ability to search for real estate properties online, the amount of information can still be excessive for many people to process. It is therefore desirable to have improvements in analyzing and searching for real estate properties.
In one embodiment, there is provided a computer-implemented method, comprising obtaining a plurality of lifestyle options; obtaining a region preference; obtaining a price range; obtaining a property type; and generating a list of properties based on the property type, region preference, price range, and the plurality of lifestyle options.
In another embodiment, there is provided an electronic computation device comprising: a processor; a memory coupled to the processor, the memory containing instructions, that when executed by the processor, cause the electronic computation device to: obtain a plurality of lifestyle options; obtain a region preference; obtain a price range; obtain a property type; and generate a list of properties based on the property type, region preference, price range, and the plurality of lifestyle options.
In yet another embodiment, there is provided a computer program product for an electronic computation device comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the electronic computation device to: obtain a plurality of lifestyle options; obtain a region preference; obtain a price range; obtain a property type; and generate a list of properties based on the property type, region preference, price range, and the plurality of lifestyle options.
The structure, operation, and advantages of the present invention will become further apparent upon consideration of the following description taken in conjunction with the accompanying figures (FIGs). The figures are intended to be illustrative, not limiting.
Disclosed embodiments provide a real estate property analysis system and method. A user provides search criteria, lifestyle options, and/or style preferences. This data is provided to a machine learning system to select real estate properties based on the provided information. The selected real estate property information is provided in a list to a user. The user interface enables positive or negative feedback of each of the items in the list. In some embodiments, this may include swiping in one direction to provide positive feedback, and swiping in an opposite direction to provide negative feedback. The machine learning system periodically adjusts the list based on user feedback. Thus, disclosed embodiments streamline and sort listings based on user preferences and lifestyle priorities, thereby introducing them to refined real estate property choices. Disclosed embodiments enable selection of a sales agent directly from the listing user interface. This enables users to be guided through their real estate journey from beginning to end. Thus, disclosed embodiments, transcend simple criteria such as square footage and neighborhood. The machine learning of disclosed embodiments builds a search customized just for a specific user. Taking into account a user's unique style and lifestyle priorities, disclosed embodiments can provide a personalized feed of real estate property listings ranked such that the closest matches appear first in the list, thereby simplifying the complex task of searching for a home.
At 152 style preferences are obtained. In embodiments, the style preferences are obtained by presenting a user with multiple images of various styles of décor. The user selects the images that he/she likes. The selected images are then provided to a machine learning system to identify other images associated with properties that share characteristics with the liked images. In some embodiments, the machine learning system may search through images associated with properties for rent and/or sale, and identify database records that contain images corresponding to properties for rent and/or sale that have similar traits
At 154, region and price range information are obtained. In embodiments, the region may be specified by a town name, state, ZIP code, and/or a distance range from a town, state, ZIP code, or other location. At 156, machine learning is applied to the data obtained in 150, 152, and 154. In embodiments, the machine learning can include, but is not limited to, a neural network, convolutional neural network (CNN), Decision Trees, Support Vector Machines, Random Forests, clustering, hierarchical clustering, k-means, and/or any other supervised learning techniques, unsupervised learning techniques, or a combination of both supervised and unsupervised learning techniques. In embodiments, TensorFlow or other suitable frameworks may be used in the implementation of machine learning systems used with disclosed embodiments.
In embodiments, the machine learning system may compute a numerical score for each property record, and rank the property records based on the numerical score. The numerical score may be a reflection of the closest match to the criteria established by the user, as well as matching of the style preferences that the user inputs by selecting images, and the lifestyle options that the user provides.
At 158 a list of real estate properties is generated. The list may be ranked based on the numerical score. At 160, a user categorization is obtained. In embodiments, the user categorization is a binary categorization having the possible values of a positive categorization or a negative categorization. In embodiments, a user applies a positive categorization to items from the list generated at 158 that they like. Similarly, the user applies a negative categorization to items from the list generated at 158 that they do not like. In embodiments, the user may apply a swipe on a touchscreen of an electronic device in a first direction (e.g., “swipe right”) to apply a positive categorization to an item in the list, and apply a swipe on a touchscreen of an electronic device in a second direction (e.g., “swipe left”) to apply a negative categorization to an item in the list. Instead of, or in addition to, swiping, a user interface may include buttons, such as a thumbs up button, for positive categorization, and a thumbs down button, for a negative categorization. In response to receiving a positive categorization, embodiments keep the property in the list, and update a property data record corresponding to the property to indicate a positive categorization for the property.
At 164 a check is made to determine if the review is complete, meaning that the user has applied a categorization to a predetermined number of items in the list. In some embodiments, the user may apply a categorization to all the items in the list. In some embodiments, the user may apply a categorization to a subset of items in the list (e.g., twenty percent of the items in the list). In embodiments, once the subset of items has had a categorization applied, the process continues to 164 to determine if further refinement is needed. In some embodiments, the criteria for refinement may include the number of items in the list. If the number of items in the list is above a predetermined threshold, then the process may continue back to 156, to apply machine learning and generate a revised list at 158, and then obtain user categorization on the revised list at 160. This process may continue until the list is refined sufficiently such that an optimized list is presented at 162. In this way, a user is provided with a list of real estate properties for rent and/or purchase that are derived based on machine learning analysis of user-provided style preferences and lifestyle options. Thus, embodiments can include a computer-implemented method, comprising obtaining a plurality of lifestyle options; obtaining a region preference; obtaining a price range; obtaining a property type; and generating a list of properties based on the property type, region preference, price range, and the plurality of lifestyle options.
Storage 244 may include one or more magnetic hard disk drives (HDD), solid state disk drives (SSD), optical storage devices, tape drives, and/or other suitable storage devices. In embodiments, storage 244 may include multiple hard disk drives configured in a RAID (redundant array of independent disks) configuration. In embodiments, the RAID configuration can include a RAID 1 configuration in which data is copied seamlessly and simultaneously, from one disk to another, creating a replica, or mirror. If one hard disk drive becomes inoperable, another hard disk drive continues to operate, providing a level of fault tolerance for use in embodiments that utilize local storage in managed onsite or off-site servers, cloud-based storage, or other suitable storage.
In some embodiments, the property analysis server 202 may be implemented as a virtual machine (VM), or scaled to be implemented on multiple virtual machines and/or containerized applications. In some embodiments, the virtual machines may be hosted in a cloud computing environment. In some embodiments, load balancing, and orchestration via a system such as Kubernetes, enables a scalable solution that can process video and sensor array data from multiple residences simultaneously.
A client device 204 is also connected to network 224. In embodiments, client device 204 may include, but is not limited to, a desktop computer, a laptop computer, a tablet computer, a mobile phone (e.g., smartphone), and/or other suitable electronic computing device. Note that while one client device 204 is shown in
The term “Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web). The physical connections of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art. Access to the Internet can be provided by Internet service providers (ISP). Users on client systems, such as client device 204 obtains access to the Internet through the Internet service providers. Access to the Internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format. These documents are often provided by web servers which are considered to be “on” the Internet. Often these web servers are provided by the ISPs, although a computer system can be set up and connected to the Internet without that system being also an ISP as is well known in the art.
System 200 may further include an account database 236. The account database 236 may comprise multiple records, where each record includes entities such as seller records, buyer records, and event records (such as appointments to visit a property). The account database 236 may be implemented as a relational database, utilizing a Structured Query Language (SQL) format, or another suitable database format.
System 200 may further include a property database 238. The property database 238 may comprise multiple records, where each record includes entities such property records, images of properties, videos of properties, selling price of properties, rental rate for properties, and/or other metadata pertaining to real estate properties. The property database 238 may be implemented as a relational database, utilizing a Structured Query Language (SQL) format, or another suitable database format. In some embodiments, the property database 238 may include data from a variety of sources, such as a Multiple Listing Services (MLS) database.
System 200 may further include a CRM (customer relationship management) system 252. The CRM 242 may include an off-the shelf system, such as Salesforce, Zillow Premier Agent CRM, a custom-built CRM system, or other suitable system for managing contacts, appointments, and other data needed. This enables users to set up appointments and request more information pertaining to properties of interest to the user that are provided by the property analysis server 202
System 200 may further include a machine learning system 218. Machine learning system 218 may be used to further categorize and classify input data including data image data, scenery, object recognition and/or object classification, and/or other classification processes. Machine learning system 218 may include one or more neural networks, convolutional neural networks (CNNs), and/or other deep learning techniques.
The machine learning system 218 may include regression algorithms, classification algorithms, clustering techniques, anomaly detection techniques, Bayesian filtering, and/or other suitable techniques to analyze the information obtained by the property analysis server 202 to identify properties for sale/rent that a user may like. Thus, in embodiments, generating the list of properties is performed using machine learning.
In embodiments, the machine learning system 218 may be trained a priori, using multiple training data sets. The training data sets can include multiple images, videos, geographic data, meteorological data, and/or other suitable data. Embodiments may include an image preprocessing module that performs image manipulations such as contrast enhancement, noise filtering, edge enhancement, resizing, histogram equalization, rotation, translation, and/or other operation to improve the image data(features) by suppressing unwanted distortions and enhancement of some important image features so that the machine learning system 218 can benefit from this improved data. Data augmentation techniques may be applied to generate additional training images that are rotated, reflected, or otherwise transformed from the original images. In embodiments, the machine learning system 218 may undergo a validation process to assess that the training is sufficient.
System 200 may further one or more geographic information systems (GIS) 222. The geographic information systems (GIS) 222 may perform tasks such as identifying geographical and/or political boundaries, population density, cost of living information, tax rate data, and/or other criteria. In some embodiments, the property analysis server 202 can interface with the geographic information systems 222 via application programming interface (API) calls. Communication between the property analysis server 202 and the geographic information systems (GIS) 222 can include the use of protocols such as HTTP (HyperText Transfer Protocol), XML (Extensible Markup Language), JSON (JavaScript Object Notation), SOAP (Simple Object Access Protocol), RESTful APIs, and/or other suitable technologies. The property analysis server 202 may include and/or utilize multiple computer systems, databases, load balancers, and other infrastructure to support analysis of selections made by user via client 204.
As shown in
Embodiments may further include a “submit” button 334. Invoking the submit button causes a client device (e.g., 204 of
Embodiments may further include a “submit” button 434. Invoking the submit button causes a client device (e.g., 204 of
Embodiments may further include a “submit” button 534. Invoking the submit button causes a client device (e.g., 204 of
A first real estate property listing is shown at 610. The listing 610 may include one or more images 612, metadata 614, and a schedule button 616. The metadata can include address, price, features, and/or other metadata pertaining to the real estate property. If the user is interested in learning more about the real estate property and/or setting up an appointment to visit the property, the user can invoke the schedule button 616, which sends a message to the CRM system 252, indicating the property and user information, such that a sales representative can contact the user to further explore the real estate property.
A second real estate property listing is shown at 620. The listing 620 may include one or more images 622, metadata 624, and a schedule button 626. The metadata can include address, price, features, and/or other metadata pertaining to the real estate property. If the user is interested in learning more about the real estate property and/or setting up an appointment to visit the property, the user can invoke the schedule button 626, which sends a message to the CRM system 252, indicating the property and user information, such that a sales representative can contact the user to further explore the real estate property.
In embodiments, a left swipe removes a real estate property listing from the list, while a right swipe preserves a real estate property listing in the list. As shown in text field 606, in embodiments, a user may scroll (e.g., up or down) to see additional real estate property listings. Once the user has reviewed the entire list and applied a user categorization (positive or negative), the remaining items in the list are all real estate property records pertaining to properties that are favorable to the user. The user can then give a second pass to these properties to further narrow down the list to properties he/she wishes to inquire about.
In some embodiments, instead of swiping, the user interface may provide two buttons, one to indicate a positive categorization, and another button to indicate a negative categorization. In some embodiments, a third button may be included to indicate a “maybe” categorization.
Embodiments can include receiving a categorization input from a user for a property from the list of properties; and in response to receiving a negative categorization, removing the property from the list. Embodiments can include receiving a schedule request message; and sending an appointment request to a customer relationship management system in response to receiving the schedule request message.
Device 700 may further include a user interface 708. User interface 708 may include a keyboard, monitor, mouse, and/or touchscreen, and provides a user with the ability to enter information as necessary to utilize embodiments of the present invention. In embodiments, a user uses the device 700 to access search results from a trained neural network and/or other machine learning system via the property analysis server 202 of
At 856, a real estate property search is performed using the expanded criteria to create a revised list, and the number of items in the revised list is counted. If, at 858, the number of items in the revised list is still not above the predetermined threshold, then the process ends at 862. If yes at 858, then the process continues to 860, where a criteria adjustment message is generated. The criteria adjustment message can suggest criteria adjustments to a user to enable the user to get exposed to additional real estate property listings. This feature serves to remove guesswork and identify if it could be worthwhile for a user to expand the search criteria. If expanding the search criteria does not result in sufficiently more real estate property listings appearing in the search results list, then the user is not prompted for the suggestion to expand the criteria. If, however, expanding the search criteria does result in sufficiently more real estate property listings appearing in the search results list, then the user is prompted for the suggestion to expand the criteria.
Similarly, at 920, a second criteria adjustment message is shown, indicating that if the distance range is increased from 20 miles (502 of
Embodiments can include determining a number of property records in the list; in response to the number of property records in the list being at or below a predetermined threshold: performing a criteria expansion to obtain expanded criteria; performing a property search based on the expanded criteria to create a revised list; determining a number of property records in the revised list; and in response to the number of property records in the revised list exceeding a predetermined threshold: generating a criteria adjustment message; and sending the criteria adjustment message to a remote computing device.
The record 1002 includes a distance field at 1012 having data R at 1022. Data R may be a value including distance information. The distance information can include a distance in miles, kilometers, or other suitable unit of measurement. In embodiments, the distance is used to establish a search area based on information in the region field 1011. As an example, embodiments may generate a circle having a radius determined by the distance value R, and a center established by information in the region field 1011, such as a street address or longitude and latitude coordinates of a real estate property.
The record 1002 includes a minimum price field at 1013 having data A at 1023. Data A may be a value including a minimum price in US dollars or other suitable currency. The minimum price may represent a lower limit for a selling price of a real estate property to be considered in search results for a user.
The record 1002 includes a maximum price field at 1014 having data B at 1024. Data B may be a value including a maximum price in US dollars or other suitable currency. The maximum price may represent an upper limit for a selling price of a real estate property to be considered in search results for a user.
The record 1002 includes a categorization field at 1015 having data L at 1025. Data L may be a Boolean value including a positive or negative categorization. The categorization may be used by the property analysis server 202 to determine if a real estate property is to remain in a list of real estate properties to be provided to a user.
The record 1002 includes a details field at 1016 having data Dat 1026. Data D may be an array, text field, XML file, and/or other suitable data structure for storing additional details regarding the real estate property. The details can include information such as number of bedrooms, bathrooms, dimensions of rooms, images, videos, repair records, government property records, and/or other relevant information.
In some embodiments utilizing a CNN, the CNN may include one or more convolutional layers, ReLU layers, pooling layers, and/or a fully connected layer. In embodiments, the CNN architecture may include the following configuration:
Input→Convolution→ReLU→Convolution→ReLU→Pooling→ReLU→Convolution→ReLU→Pooling→Fully Connected
Other CNN configurations are possible in disclosed embodiments.
As can now be appreciated, disclosed embodiments provide systems and methods suitable for both renters and buyers to use for their home search. A user can create a profile and then outline his/her preferences. Potential homes meeting the user criteria and/or preferences are rendered on an electronic communication device as a list of properties. Using machine learning techniques, the list of properties is refined over time based on user feedback to provide a customized list of real estate properties based on the output of a machine learning system.
Although the invention has been shown and described with respect to a certain preferred embodiment or embodiments, certain equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In particular regard to the various functions performed by the above described components (assemblies, devices, circuits, etc.) the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (i.e., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary embodiments of the invention. In addition, while a particular feature of the invention may have been disclosed with respect to only one of several embodiments, such feature may be combined with one or more features of the other embodiments as may be desired and advantageous for any given or particular application.