Abstract:
A facility for representing home attribute values for a plurality of homes and a plurality of home attributes is described. The facility incorporates a data structure comprising, for each of the plurality of homes, for each of the plurality of attribute value sources, the capacity to store values for any of the plurality of home attributes obtained from the attribute value source.

Description:
TECHNICAL FIELD 
       [0001]    The described technology is directed to the fields of information gathering and representation. 
       BACKGROUND 
       [0002]    It can be useful to have information about the attributes of one or more properties, such as one or more residential properties. Typical examples of such “home facts” include lot size, number of bedrooms, number of bathrooms, total floor space, view type, and roof type. By obtaining home facts for a home of interest, a person can arrive at a better sense of the home and its level of suitability to particular buyers. 
         [0003]    In many cases, information about at least some home facts of a particular home is compiled by a governmental agency, such as the assessor&#39;s office for the county in which the home is located. Such information may be available directly from the governmental agency, and/or an intermediary information provider. 
         [0004]    Unfortunately, information about home facts obtained in this way is frequently incomplete, in that it may cover only a few of a longer list of home facts that are of interest. Additionally, information about home facts obtained in this way is often out of date, or otherwise inaccurate. These deficiencies, typical of home facts information derived from common sources, tend to limit the value of presently-available home facts information. 
         [0005]    Accordingly, an approach capable of acquiring, storing, and using a more complete and accurate set of home facts for a particular house than is available from government sources would have significant utility. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0006]      FIG. 1  is a high-level data flow diagram showing data flow within a typical arrangement of components used to provide the facility. 
           [0007]      FIG. 2  is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility executes. 
           [0008]      FIG. 3  is a display diagram showing a sample display typically presented by the facility before the owner for a particular home has inputted home facts—i.e., attribute values—for a particular home. 
           [0009]      FIGS. 4A-4B  contain a flow diagram showing steps typically performed by the facility in order to determine whether to identify a particular user as the owner of a particular home, and subsequently permit that user to provide attribute values for that home that are stored in the home facts database. 
           [0010]      FIGS. 5 and 6  are display diagrams showing a sample display presented by the facility to ask a question of the user. 
           [0011]      FIG. 7  is a display diagram showing a typical display presented by the facility when the user has been identified as the owner of the home. 
           [0012]      FIG. 8  is a display diagram showing a typical display presented by the facility in order to obtain credit card information from the user. 
           [0013]      FIG. 9  is a display diagram showing a display typically presented by the facility in connection with the manual resolution process. 
           [0014]      FIG. 10  is a display diagram showing a typical display presented by the facility in order to determine whether the user purchased the home from the owner presently identified for the home. 
           [0015]      FIG. 11  is a display diagram showing a sample display presented by the facility that permits a user who is currently identified as the owner of the home to relinquish confirmed ownership of the home. 
           [0016]      FIG. 12  is a display diagram showing an initial version of a display usable by a user identified as the owner of the home to provide attribute values for the home. 
           [0017]      FIG. 13  is a display diagram showing the second version of the display shown in  FIG. 12 . 
           [0018]      FIG. 14  is a display diagram showing a sample display presented by the facility in response to receiving home facts from the user identified as the owner of the home. 
           [0019]      FIG. 15  is a display diagram showing a sample display presented by the facility containing a valuation of the home generated at least in part based upon the attribute values provided by the owner. 
           [0020]      FIG. 16  is a table diagram showing sample contents of the property attribute value table. 
           [0021]      FIG. 17  is a table diagram showing sample contents of the property table in the first state of the home facts database. 
           [0022]      FIG. 18  is a table diagram showing sample contents of the property attribute type table in the first state of the home facts database. 
           [0023]      FIG. 19  is a table diagram showing sample contents of the data source type table in the first state of the home facts database. 
           [0024]      FIG. 20  is a table diagram showing sample contents of the attribute value enum table in the first state of the home facts database. 
           [0025]      FIG. 21  is a table diagram showing sample contents of the attribute usage table in a first state of the home facts database. 
           [0026]      FIG. 22  is a table diagram showing sample contents of the property attribute type table in the second state of the home facts database. 
           [0027]      FIG. 23  is a table diagram showing several contents of the property attribute value table in the second state of the home facts database. 
           [0028]      FIG. 24  is a table diagram showing sample contents of the data source type table in the third state of the home facts database. 
           [0029]      FIG. 25  is a table diagram showing sample contents of the property attribute value table  2500  in the third state of the home facts database. 
       
    
    
     DETAILED DESCRIPTION  
       [0030]    A software facility for managing information about home facts (“the facility”) is described. The facility takes advantage of an extensible storage architecture for home facts information, which can be easily expanded to accommodate new home facts or updated ranges of values for existing home facts. In some embodiments, the storage architecture simultaneously stores home facts information from multiple sources about the same home, such as home facts information from a government agency, home facts obtained from a user identified as the owner of the home, and home facts obtained from a user identified as having some other role with respect to the home, such as a former owner, an appraiser charged with appraising the house, or a listing agent who is undertaking to sell the house. 
         [0031]    In some embodiments, the facility provides a user interface that the owner of a home or another user knowledgeable about the home can use to correct information provided for the home by another source; confirm information provided for the home by another source; or provide information about the home not available from another source. The home facts information provided using the user interface can include various types of data, such as numerical values, text, items selected from enumerated lists, photos or videos of the home, documents relating to the home such as appraisals or inspection reports, etc. 
         [0032]    In some embodiments, the facility displays together home facts information about a particular home from multiple sources, or otherwise uses home facts information about a particular home from multiple sources. In some embodiments, the facility employs logic for combining home facts information from multiple sources to obtain composite home facts information for a home whose completeness and/or accuracy may exceed those of home facts information from a government agency. As useful home facts information for a home becomes available from additional sources, the quality of the composite home facts obtained for the home using the combination logic may continue to increase. 
         [0033]    In some embodiments, the facility employs one or more approaches to identifying the current owner of a home, so as to limit the ability of non-owners to inaccurately identify themselves as owners and submit unreliable home facts. 
         [0034]      FIG. 1  is a high-level data flow diagram showing data flow within a typical arrangement of components used to provide the facility.  FIG. 1  shows a home facts database  101  in which the facility stores home facts information obtained from multiple sources, which is hosted by one or more database servers  100 . As examples, the home facts database contains home facts information  112  exploited from public information sources such as title recording offices, property tax assessment or collection agencies, or intermediaries providing access to such data, via the Internet  130  and a data importation server  140 . Additionally, the home facts database contains home facts  122  inputted by users identified as owners of the subject homes via the Internet and a web server  150 . All of the contents of the home facts database are potentially available for inclusion in web pages  162  generated by the facility containing information about particular houses or groups of houses and served to visitors  161 . 
         [0035]    While various embodiments are described in terms of the environment described above, those skilled in the art will appreciate that the facility may be implemented in a variety of other environments including a single, monolithic computer system, as well as various other combinations of computer systems or similar devices connected in various ways. In various embodiments, a variety of computing systems or other different client devices may be used in place of the web client computer systems, such as mobile phones, personal digital assistants, televisions, cameras, etc. 
         [0036]      FIG. 2  is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility executes. These computer systems and devices  200  may include one or more central processing units (“CPUs”)  201  for executing computer programs; a computer memory  202  for storing programs and data while they are being used; a persistent storage device  203 , such as a hard drive for persistently storing programs and data; a computer-readable media drive  204 , such as a CD-ROM drive, for reading programs and data stored on a computer-readable medium; and a network connection  205  for connecting the computer system to other computer systems, such as via the Internet. While computer systems configured as described above are typically used to support the operation of the facility, those skilled in the art will appreciate that the facility may be implemented using devices of various types and configurations, and having various components. 
         [0037]    In some embodiments, identified owners and/or visitors may use a variety of devices in order to input home facts or view home facts provided form the home facts database. These users may use desktop computers, laptop computers, wireless email devices, wireless phones, set top boxes, automobile computers, or other devices having a web browser to interact with web pages with respect to such information. Additionally, these users may use these or other types of devices to communicate directly or indirectly with the server in a variety of other modes, including via email, text message, voice message, live voice call, etc. 
         [0038]      FIG. 3  is a display diagram showing a sample display typically presented by the facility before the owner for a particular home has inputted home facts—i.e., attribute values—for a particular home. The display  300  indicates attribute values  310  obtained from a source other than the owner, such as attribute values obtained from government sources. The display further shows a valuation  330  determined in accordance with these attribute values, and a control  340  that the user may activate to display all such attribute values. The display further includes an indication that attribute values have not yet been received for this home by the home&#39;s owner, and a control  349  that the user may activate in order to provide attribute values for the home. 
         [0039]    While  FIG. 3  in each of the display diagrams discussed below show particular display contents and organization, generally formatted as a web page or a portion of a web page, those skilled in the art will appreciate that actual displays used by the facility to present information may differ from those shown, in that they, for example, may contain different information, information that is portrayed differently, a different organization, a different format, etc. 
         [0040]    In some embodiments, in response to the user&#39;s activation of control  349 , the facility performs a process to determine whether to identify the user as the owner of the current home.  FIGS. 4A-4B  contain a flow diagram showing steps typically performed by the facility in order to determine whether to identify a particular user as the owner of a particular home, and subsequently permit that user to provide attribute values for that home that are stored in the home facts database. In step  401 , if an owner is presently identified for this home, then the facility continues in step  402 , else the facility continues in step  404 . In step  402 , if the identified owner is the current user, then the facility continues in step  403 , else the facility continues through connector A at step  421 , shown in  FIG. 4B . In step  403 , the facility permits the current user to provide and/or edit home facts as is discussed further below in connection with  FIGS. 12-15 . After step  403 , these steps conclude. 
         [0041]    In step  404 , if each of the following three conditions is true, then the facility continues in step  405 , else the facility continues in step  410 : the user is identified as the owner of fewer than X homes, such as one home; the facility possesses enough information to ask a question whose answer would be known to the owner of the home; and the IP address of the user&#39;s computer is not presently blacklisted. In step  405 , the facility asks a question of the user whose answer would be known to the owner of the home. 
         [0042]      FIGS. 5 and 6  are display diagrams showing a sample display presented by the facility to ask a question of the user. Display  500  includes a control  510  usable by the user to answer the posed question, here the name of the home&#39;s legal owner. This control is shown expanded in  FIG. 6 , with a list of names  611 - 616  that the user may select in response to the question, as well as alternative  620  indicating that the user&#39;s name is not among those displayed. In some embodiments, the name of the home&#39;s legal owner is randomly located within the order of names shown in the control, and/or randomly omitted from this list. In various embodiments, other types of questions whose answer is expected to be known by the home&#39;s owner are used in step  405 . After the user operates the control  510  to select the correct answer to the question, the user selects a checkbox  530  confirming that he or she is the owner of the home, and activates a continue control  540 . 
         [0043]    Returning to  FIG. 4A , in step  406 , if the answer provided by the user to the question posed in step  405  is correct, then the facility continues in step  407 , else the facility continues in step  408 . In step  407 , the facility identifies the current user as the owner of the home, and permits this user to enter home facts as described below. After step  407 , these steps conclude. 
         [0044]      FIG. 7  is a display diagram showing a typical display presented by the facility when the user has been identified as the owner of the home. The display  700  includes an indication  701  that the user has been identified as the owner of the home, and a control  702  that the user may activate in order to edit home details for the home. In some embodiments, rather than presenting the display shown in  FIG. 7 , after step  407 , the facility immediately presents a display that enables the user to edit the home facts for the home, such as the display shown in  FIG. 12 . 
         [0045]    Returning to  FIG. 4A , in step  408 , if the user has provided more than a number Y of incorrect answers to the questions posed in step  405  during a particular foregoing period of time, such as the current web browsing session, then the facility continues in step  409 , else the facility continues in step  405  to ask another question whose answer would be known to the owner of the home. In step  409 , the facility blacklists the IP address of the user&#39;s computer for Z days, such as seven days, preventing this computer from being used to claim a home by answering questions posed in step  405  for this period of time. After step  409 , the facility continues in step  411 . 
         [0046]    In step  410 , if this user has provided credit card information within the last H hours—such as the last one hour—that has subsequently been successfully verified, then the facility continues in step  407  to identify the user as the owner of the home, else the facility continues in step  411 . In step  411 , the facility obtains credit card information from the user. 
         [0047]      FIG. 8  is a display diagram showing a typical display presented by the facility in order to obtain credit card information from the user. The display  800  contains controls  801 - 810  that may be used by the user to provide credit card information. The display further includes a checkbox  830  for the user to select in order to confirm that the user is the owner of the home. The display further includes a continued control  840  that the user may activate in order to submit the entered credit card information. 
         [0048]    Returning to  FIG. 4A , in step  412 , if the user&#39;s account is blocked due to earlier credit card errors, then the facility continues in step  413 , else the facility continues in step  414 . In step  413 , the user&#39;s efforts to be identified as the owner of the home fail, and these steps conclude without identifying the user as the owner of the home. In step  414 , the credit card information obtained from the user in step  411  is verified, such as with the issuer of the credit card, a charge-clearing bureau associated with the credit card, or similar entity; if the credit card information is approved, then the facility continues in step  415 , else the facility continues in step  416 . In step  415 , the facility identifies the user as the owner of the home and permits the user to enter home facts. After step  415 , these steps conclude. 
         [0049]    In step  416 , if the user gives up on attempting to be identified as the owner of the home, then the facility continues in step  417 , else the facility continues in step  418 . In step  417 , the user&#39;s efforts to be identified as the owner of the home fail, and these steps conclude without identifying the user as the owner of the home. 
         [0050]    In step  418 , if the user has tried more than T times, such as two times, to be identified as the owner of the home based on credit card information, then the facility continues in step  419 , else the facility continues in step  411  to again obtain credit card information from the user. 
         [0051]    In step  419 , as the user has not given up, the facility initiates a manual resolution process for determining whether the user is the owner of the home. As an example, the manual resolution process may require the user to provide documentary evidence that he or she is the owner of the home to the operator of the facility, such as via postal mail, email, or the uploading of an image of such documentary evidence. Such documentary evidence may include copies or images of such documents as: a deed, a title, a mortgage statement, a property tax assessment, a property tax bill, a recent utility bill, or another document identifying both the home and the user and reflecting ownership of the home by the user. 
         [0052]      FIG. 9  is a display diagram showing a display typically presented by the facility in connection with the manual resolution process. It contains information  900  about the manual resolution process, including a sample list of acceptable documents. 
         [0053]    Returning to  FIG. 4A , in step  420 , the facility identifies the ownership of the home in accordance with the result of the manual resolution process. In some embodiments, this involves identifying the user as the owner of the home if the user successfully completes the manual resolution process, and not identifying any owner for the home if the user does not successfully complete the manual resolution process. After step  420 , these steps conclude. 
         [0054]    Turning to  FIG. 4B , in step  421 , if the user purchased the home from the person currently identified as the owner of the home, then the facility continues in step  422 , else the facility continues in step  424 . 
         [0055]      FIG. 10  is a display diagram showing a typical display presented by the facility in order to determine whether the user purchased the home from the owner presently identified for the home. The display  1000  includes a control  1001  that the user may operate in order to indicate that they recently purchased the home, and begin an appropriate process for confirming their ownership of the home. In some embodiments, the display also includes a control  1002  that the user may activate to indicate that the user currently identified as the owner of the home maliciously and erroneously requested to be identified as the owner of the home, and a control  1003  that the user may activate in order to indicate that the user co-owns the home with the person presently identified as the owner of the home. 
         [0056]    Returning to  FIG. 4B , in step  422 , the facility verifies the user with credit card information in accordance with steps  411 ,  412 ,  414 ,  416 , and  418 . In step  423 , if the verification of step  422  succeeded, the facility identifies the user as the owner of the home and permits the user to enter home facts. After step  423 , these steps conclude. 
         [0057]    In step  424 , the facility verifies the user with both a question—in accordance with steps  405 ,  406 , and  408 —and with credit card information—in accordance with steps  411 ,  412 ,  414 ,  416 , and  418 . In step  425 , if both forms of verification performed in step  424  succeeded, then the facility continues in step  427 , else the facility continues in step  426 . In step  426 , the user&#39;s efforts to be identified as the owner of the home fail, and these steps conclude without identifying the user as the owner of the home. 
         [0058]    In step  427 , the facility identifies the user as the owner of the home and permits the user to enter home facts for the home. In step  428 , the facility notifies the user formerly identified as the owner of the home. In step  429 , if the user formerly identified as the owner of the home dissents from the identification of the current user as the owner of the home, then the facility continues in step  430 , else these steps conclude. 
         [0059]    In step  430 , the facility initiates a manual resolution process to determine which of the two users should be identified as the owner of the home. In some embodiments, this process is similar to the one described above in connection with step  419 , selecting the user that is able to successfully provide documentary evidence that he or she currently owns the home. In step  431 , the facility identifies the owner of the home in accordance with a manual resolution performed in step  430 . After step  431 , these steps conclude. 
         [0060]    Those skilled in the art will appreciate that the steps shown in  FIGS. 4A-4B  may be altered in a variety of ways. For example, the order of the steps may be rearranged; substeps may be performed in parallel; shown steps may be omitted, or other steps may be included; etc. 
         [0061]    In some embodiments (not shown), the facility permits the user to initiate manual resolution in some or all of the circumstances in which  FIGS. 4A-4B  show the user&#39;s attempt to be identified as the owner of the home failing, such as in step  413  and/or step  426 . 
         [0062]      FIG. 11  is a display diagram showing a sample display presented by the facility that permits a user who is currently identified as the owner of the home to relinquish confirmed ownership of the home. Display  1100  includes a control  1101  that the user may operate in order to specify a reason for relinquishing ownership. The display further includes a submit control  1102  that the user may activate in order to relinquish ownership of the home. 
         [0063]      FIGS. 12-15  show a sample user interface typically presented by the facility that enables a user identified as the owner of a home to edit or update home facts associated with the home, i.e., provide attribute values for the home.  FIG. 12  is a display diagram showing an initial version of a display usable by a user identified as the owner of the home to provide attribute values for the home. The initial version  1200  of the display contains controls  1201 - 1222 , each corresponding to a different home attribute and showing a value for that attribute currently in the possession of the facility, such as a value obtained from a source other than the owner, such as a value obtained from a government source. For example, control  1202  indicates that the facility currently possesses a value of 5 for the number of bedrooms attribute. 
         [0064]      FIG. 13  is a display diagram showing the second version of the display shown in  FIG. 12 . This version of the display  1300  shows the display after the user has used some of the controls to provide new values of the associated attributes. In particular, the user has used controls  1302 ,  1303 ,  1304 ,  1305 ,  1314 , and  1320  to provide new values of the associated attributes. As one particular example, a user has used control  1302  to provide the value 6 for a number of bedrooms&#39; attribute, for which the facility had earlier obtained the value of 5 from another source. These attribute values provided by the owner are consistent with a small addition that added 530 square feet and two rooms, including one bedroom and an expansion of a half bathroom, as well as central air conditioning. They also reflect that the home has a tile roof, a detail not present among the earlier-obtained attribute values. After using the controls to provide attribute values that differ from the ones initially shown, the user selects a checkbox  1330  again confirming that he or she is the owner of the home and promising that the home facts entered by the user are accurate, then activates a submit control  1341  to provide these attribute values. The user can instead activate a cancel control  1341  in order not to provide any attribute values for the home. 
         [0065]      FIG. 14  is a display diagram showing a sample display presented by the facility in response to receiving home facts from the user identified as the owner of the home. The display  1400  is similar to display  300  shown in  FIG. 4 , but contains the attribute values  1450  provided by the owner, including attribute values  1451 ,  1452 , and  1454 , which differ from the attribute values provided for the same attributes by another source of attribute values, and are shown in bold to highlight this difference. Again, the user can select a control  1440  to display, for all of the home&#39;s attributes, the values provided by the owner and the other attribute value source. The display also contains a control  1460  that the user may activate in order to generate a valuation for the home based upon the attribute values provided by the owner, or some combination of the attribute values provided by the owner and attribute values obtained from one or more other sources. 
         [0066]      FIG. 15  is a display diagram showing a sample display presented by the facility containing a valuation of the home generated at least in part based upon the attribute values provided by the owner. The display  1500  includes such a valuation  1560 . In some embodiments, the facility generates this valuation in accordance with one or more of U.S. patent application Ser. No. 11/347,000, filed on Feb. 3, 2006; U.S. patent application Ser. No. 11/347,024, filed on Feb. 3, 2006; and/or U.S. patent application Ser. No. ______ (patent counsel&#39;s matter no. 56920-8015-US00), filed concurrently herewith, each of which is hereby incorporated by reference in its entirety. 
         [0067]      FIGS. 16-25  show sample contents of the home facts database maintained and used by the facility. In some embodiments, the home facts database stores home attribute values and associated information in six tables: a property attribute value table, a property table, a property attribute type table, a data source type table, an attribute value enum table, and an attribute usage table.  FIGS. 16-21  show an initial state of the home facts database, while  FIGS. 22-23  and  24 - 25  each correspond to subsequent states of the database. 
         [0068]      FIG. 16  is a table diagram showing sample contents of the property attribute value table. The property attribute value table  1600  contains a row for each value for a particular house (i.e., property) for a particular attribute (i.e., home fact) obtained from a particular data source, such as rows  1611 - 1624  shown in the drawing. Each row is divided into the following columns: a PropertyID column  1601  containing a unique identifier for the home; a PropertyAttributeTypeID column  1602  containing a unique identifier identifying the particular attribute whose value is contained by the row; a DataSourceTypeID column  1603  containing a unique identifier for the source of the attribute value contained by the row; a SeqNbr column  1604  indicating the number of values for this home and attribute previously obtained from this data source; an AttributeValueEnumID column  1605  containing an identifier for the attribute value if the attribute value is of an enumerated type; an AttributeValue column  1606  containing a value for the attribute if the attribute is for a non-enumerated type; an AttributeUsageID column  1607  containing an identifier for a manner of interpreting the attribute value indicated by the row; and a UseRank column  1608  indicating where in a list of attribute values for the home the attribute value indicated by the current row should be displayed. Additional information about the home identified by the PropertyID column of a particular row can be found in the property table, linked by the PropertyID. Additional information about the identity of the attribute identified by the PropertyAttributeTypeID in a particular row may be found in the property attribute type table, linked by PropertyAttributeTypeID. Additional information about the DataSourceTypeID contained in a particular row may be found in the data source type table, linked by DataSourceTypeID. Additional information about the AttributeValueEnumID contained in a particular row may be found in the attribute value enum table, linked by the AttributeValueEnumID. Additional information about the AttributeUsageID contained by a particular row may be found in the attribute usage table, linked by AttributeUsageID. 
         [0069]    While  FIG. 16  and each of the table diagrams discussed below show a table whose contents and organization are designed to make them more comprehensible by a human reader, those skilled in the art will appreciate that actual data structures used by the facility to store this information may differ from the table shown, in that they, for example, may be organized in a different manner; may contain more or less information than shown; may be compressed and/or encrypted; etc. 
         [0070]      FIG. 17  is a table diagram showing sample contents of the property table in the first state of the home facts database. The property table  1700  contains a row for each home for which attribute values are contained by the property attribute value table, such as rows  1711  and  1712 . Each row is divided into the following columns: a PropertyID column  1701  containing a property ID uniquely identifying the home; an address column  1702  containing an address for the home; a county column  1703  showing the county in which the home is located; a city column  1704  showing a city in which the home is located; a state column  1705  showing a state in which the home is located; and a zip column  1706  showing a zip code for the home. In various embodiments, the property table may contain different or additional information about each home, or additional information about each home may be contained in another table. For example, row  1711  of the property table indicates that the home having property ID 11111111, for which attribute values are specified by rows  1611 - 1623  of the property attribute value table has address 1234 Holly Avenue, is located in King County, in the city of Seattle, in the State of Washington, and has the zip code 98122. When the facility receives an attribute value for a home not corresponding to a row of the property table, the facility generates a new property ID identifying the home, and adds a row to the property table containing the generated property ID and other information and other information identifying the home. 
         [0071]      FIG. 18  is a table diagram showing sample contents of the property attribute type table in the first state of the home facts database. The property attribute type table  1800  contains a row for each different attribute for which the property attribute value table can store a value, such as rows  1811 - 1818 . An attribute is also referred to herein as a attribute type. Each row is divided into the following columns: a PropertyAttributeTypeID  1801  containing a PropertyAttributeTypeID uniquely identifying the attribute; and a PropetyAttributeTypeDesc  1802  containing a description of the attribute. For example, row  1811  indicates that the attribute having PropertyAttributeTypeID  111 , for which values are stored in rows  1611 ,  1612 , and  1624  of the property attribute value table, has the description “number of bedrooms.” In order to adapt the home facts database to store values of a new attribute, this attribute and a PropertyAttributeTypeID for it simply need to be added to a new row of the property attribute type table. 
         [0072]      FIG. 19  is a table diagram showing sample contents of the data source type table in the first state of the home facts database. The data source type table  1900  has a row for each source or type of source of attribute values, such as rows  1911 - 1912 . Each row is divided into the following columns: a DataSourceTypeID  1901  containing an identifier for the data source or data source type; and a DataSourceTypeDesc  1902  containing a description for this data source or data source type. For example, row  1911  indicates that the DataSourceTypeID  1 , which is the data source from which the attribute values contained in rows  1611 ,  1613 ,  1615 ,  1616 ,  1618 ,  1620 ,  1622 , and  1624  was obtained, is one or more local governments. Row  1911  indicates that the data source corresponding to DataSourceTypeID  2 , from which the attribute values contained in rows  1612 ,  1614 ,  1617 ,  1619 ,  1621 , and  1623  of the property attribute value table is the current owner of the corresponding home. In order to add a new data source or data source type from which attribute values may be obtained and stored in the property attribute value table, it is only necessary to add a new row to data source type table identifying the source or source table and assigning a DataSourceTypeID to it. 
         [0073]      FIG. 20  is a table diagram showing sample contents of the attribute value enum table in the first state of the home facts database. The attribute value enum table  2000  contains rows each corresponding to an enumerated value for an attribute whose values are enumerated, such as rows  2011 - 2017 . Each row is divided into the following columns: an AttributeValueEnumID  2001  containing an AttributeValueEnumID identifying the enumerated value; a PropertyAttributeTypeID column  2002  containing a PropertyAttributeTypeID of the attribute for which the enumerated value is available; and an AttributeValueEnumDesc column  2003  containing a description of the enumerated value. For example, rows  2011 - 2013  each define one of three different enumerated values for the attribute having PropertyAttributeTypeID  118 , i.e., the roof type attribute defined by row  1818  of the Property Attribute Type table shown in  FIG. 18 . Row  2011  indicates that, for this attribute, the enumerated value composite is assigned AttributeValueEnumID  1 . Rows  2012  and  2013  respectively indicate that the enumerated value cedar shake is assigned AttributeValueEnumID  2 , while the enumerated value clay tile is assigned AttributeValueEnumID  3 . Rows  2014 - 2017  similarly define enumerated values for the attribute having PropertyAttributeTypeID  116 , i.e., the cooling attribute defined in row  1816  of the property attribute type table. Where enumerated values of a new attribute are to be stored in the property attribute value table, each of those enumerated values should be defined by adding a new row to the attribute value enum table. 
         [0074]      FIG. 21  is a table diagram showing sample contents of the attribute usage table in a first state of the home facts database. The attribute usage table  2100  has a row for each different attribute value usage, such as rows  2111 - 2114 . Each row is divided into the following columns: an AttributeUsageID column  2101  containing an attribute usage ID assigned to the usage to which the row corresponds; an AttributeUsageDescription column  2102  that contains a description of the usage; an AttributeDataTypeID column  2103  that contains a data type selected for the usage; and an AttributeUnitTypeID column  2104  that, for usages in which the value is expressed in a particular unit, contains an indication of that unit. For example, row  2111  indicates that the usage having AttributeUsageID 1 is a whole number based upon the integer data type, and does not have any units. This usage is employed in the following rows of the property attribute value table shown in  FIG. 16 :  1611 - 1614 ,  1618 ,  1619 ,  1622 , and  1624 . 
         [0075]    Based upon the foregoing, it can be seen that the first state of the home facts database reflects the attribute values shown in  FIG. 12  and originally obtained from a first source, as well as the values shown in  FIG. 13  and provided by the owner of the home. It can be seen that the owner, having DataSourceTypeID  2 , provided values for the following attributes: the number of bedrooms attribute having PropertyAttributeTypeID  111  (row  1612 ); the number of bathrooms attribute having PropertyAttributeTypeID  112  (row  1613 ); the home size attribute having PropertyAttributeTypeID  114  (row  1617 ); the total number of rooms having PropertyAttributeTypeID  115  (row  1619 ); the cooling attribute having PropertyAttributeTypeID  116  (row  1621 ); and the roof type property having PropertyAttributeTypeID  118  (row  1623 ). The owner failed to provide a value for, among other attributes, the lot size attribute having PropertyAttributeTypeID  113 . The original data source, on the other hand, failed to provide a value for the roof type attribute, having PropertyAttributeTypeID  118 . 
         [0076]      FIGS. 22 and 23  relate to a second state of the home facts database, reflecting the addition of a new attribute to the home facts database.  FIG. 22  is a table diagram showing sample contents of the property attribute type table in the second state of the home facts database. It can be seen in table  2200  that row  2219  has been added to the property attribute type table shown in  FIG. 18 . Row  2219  defines a new attribute, school district, and assigns to it a PropertyAttributeTypeID  140 . The addition of this row to the property attribute type table to store values for this new attribute, and attribute value sources, such as the owner, to provide values for this new attribute. 
         [0077]      FIG. 23  is a table diagram showing several contents of the property attribute value table in the second state of the home facts database. It can be seen from this table  2300  that a new row  2325  has been added to table  1600  shown in  FIG. 16 . It shows that, subsequent to adding the new row  2219  to the property attribute type table, the owner of the home having property ID 11111111 provided the attribute value  203  for the new school district attribute. 
         [0078]      FIGS. 24-25  show a third state of the home facts database reflecting the addition of a new data source to the home facts database.  FIG. 24  is a table diagram showing sample contents of the data source type table in the third state of the home facts database. The table  2400  shows the addition of a new row  2413  corresponding to a new source of attribute values, a verified agent, i.e., a real estate agent verified as acting on behalf of the current owner of the home. Row  2413  assigns this data source the DataSourceTypeID  3 . 
         [0079]      FIG. 25  is a table diagram showing sample contents of the property attribute value table  2500  in the third state of the home facts database. The table  2500  shows the addition of new row  2526  which indicates that the value  5350  for the lot size attribute having property attribute type  113  has been obtained from the verified agent data source. This is consistent with the owner&#39;s agent performing or commissioning a survey of the lot size and determining that it is slightly larger than the value attributed by the local government data source. 
         [0080]    In some embodiments, the AttributeUsageID and/or UseRank columns shown in the property attribute value table are relocated to the property attribute type table, such that they are stored only once for each attribute, as opposed to once for each combination of attribute, home, data source, and sequence number. 
         [0081]    In some embodiments, the facility employs various approaches to selecting from among and/or combining attribute values for the same home obtained from different sources. In some embodiments, the facility employs an ordering of data sources called an attribute value source authority precedence that specifies, where more than one data source provides a value for the same home and attribute, which is to be considered the most authoritative. The facility may maintain and apply a single attribute value source authority precedence across all attributes, or multiple attribute value source authority precedences that are each targeted to a single attribute or a larger proper subset of the full list of attributes. 
         [0082]    In some embodiments, the facility enables a user to identify himself or herself as the owner of a home without immediately editing the home facts associated with that home. 
         [0083]    In some embodiments, the facility omits IP address blacklisting from the process it performs to determine whether to identify a user as the owner of a home. 
         [0084]    It will be appreciated by those skilled in the art that the above-described facility may be straightforwardly adapted or extended in various ways. For example, the facility may employ a variety of database schemas and may store values of a variety of types for attributes of all sorts of homes or other properties. While the foregoing description makes reference to particular embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein.