This software suite uses predictive modeling. It builds hierarchical mathematical models of a real estate market, and then uses them to predict the best deals currently available on that market. The base of the system is a Comparables Based Automated Valuation Model (AVM). An AVM is an autonomous system for the valuation of real estate that provides an estimated value of a specified property for a specified date.
We created this after doing the work many times by hand. That is a tedious task. You have to build a comparative market analysis (CMA) for every property to evaluate. Each CMA takes about 30 minutes on average. Even if we could work 12 hours each day at only this, we could never analyze nearly enough property listings. There are thousands of properties to evaluate and they are always changing.
We decided to train a computer to do this work. This Prospector can analyze every property in our South Florida market in about 6 minutes. Even better, it remembers what it has already done.
The system uses the Google Geocoding API. Geocoding is the process of turning an address into latitude/longitude geographic coordinates.
As input, the software needs sold listings (sales) data, all current listings data, and the Subdivisions Geographic Information System (GIS) file detailing the neighborhood boundaries.
The software suite has three programs.
Model Builder – Builds the models.
This is a background process that runs periodically (weekly). The Prospector will work using the most recently finished models, even while this background process is busy compiling newer future models.
First, every given sold listing is verified against previously known sold listing database.
The unknown (not known to db) sold listings are verified and added. That means that the listing’s data has to be inspected. The address, square footage, and sale price are verified from the assessor’s website. The address is then used by the geocoder to determine the latitude/longitude coordinates for the property. The coordinates are then used to determine which models the listing belongs with geographically by neighborhood boundaries.
The known (already in db) sold listings are checked to ensure the data matches If not, it is reverified and the db entry is overwritten.
The models are built after all sold listings are processed. The models are created dynamically in a tiered structure using the County, City, Upper Subdivision, Lower Subdivision, and Style fields. All fields except for Style are defined by you in the Subdivisions GIS file. The Style enumeration is dynamically built from the training set.
We also create upper level tiers that contain all of the data in a particular group regardless of style type. By default, these are named “ALL”. This is helpful because it allows you to query groups. Example: What is the expected price of all 1900 sqft homes in a county/city/neighborhood? Compared with, What is the average price of 1900 sqft pool homes in a county/city/neighborhood?
Every time you run the Model Builder, it will refactor your models by your Subdivisions GIS file. We did this so we didn’t have to define the whole market area to begin using the system. You can start with just one neighborhood to be up and running immediately. The Prospecting Software will ignore properties in areas that are geographically undefined. These properties will be remembered, just ignored. Later, you can define more neighborhoods. The Prospecting Software will then use the properties that are located in those new neighborhoods immediately. You can also rearrange your neighborhoods at any time. You can remove, add, change, merge, and subdivide. The Prospecting Software will always build new models based on the updated neighborhood definitions.
The last step is to register the newly built models and prune all older sold listings and models that have expired.
Query Models – Finds the best model for a particular listing.
Given an address, this program will mathematically determine which models the listing belongs with geographically by neighborhood boundaries. Then it will sort the models heuristically.
What if the neighborhood hasn’t had any houses sell for over a year? What if only 2 have sold in the past year? What if all sold houses are much larger or smaller than the subject? What if they all have or don’t have pools? What if they all are on or off the golf course? A lot of scenarios affect how the models are sorted.
The best fit model is returned. Optionally, the best fit model is displayed visually on a graph along with all sold listing data points.
Suggest Offers – Uses the market models to find the best deals.
First, every given active listing is verified against previously known active listings database in the same manner as described with sold listings.
Then the most important step of the whole system happens. Every active listing is valued and sorted heuristically.
There are several sorting criteria, but the top two are by far the most important.
The first tier (most important) is the list-to-value ratio. This is the current asking (listing) price divided by our systems estimated value. Smaller ratios (better deal) are ranked higher.
The second tier is the Days On Market. The longer a seller has been trying to sell a property, the more likely they are to be emotionally disconnected from it. We found that sellers in a particular range are most likely to want to close the deal. Properties that fall in the same list-to-value range are further sorted this way.
Just like that, every single property on the entire market is returned in sorted order! Now the agents time is freed up to make and negotiate offers.
The program also keeps a memory of all offers made in the last year. These listings are sorted separately by days since last offer. This is useful to remind our agent to reach back out periodically while the listing remained active.
