IP Library Granted Patent US 11,687,959
Granted Patent B2
US 11,687,959 · App. 17/025,330 · Granted Jun 27, 2023

Guided real estate search using contextual refinement

Inventors: Farah Abdallah (Seattle, WA); Andrei Lopatenko (Seattle, WA); Tarun Agarwal (Redmond, WA); Arun Balagopalan (Astoria, NY); Jackson R. Gibbons (Seattle, WA)
Assignee: MFTB Holdco, Inc.
G06Q30/0205G06F3/04842G06F16/29G06F16/9532G06F16/9535G06F16/9537G06F16/9538G06Q30/0625G06Q50/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,687,959
App. No.
17/025,330
Granted
Jun 27, 2023
Kind
B2
Abstract

A guided search system for suggesting and arranging filter criteria within a user interface for presentation to a user to help guide the user's search for listings is disclosed. The system builds one or more filter criteria frequency data structures indicative of the number of times each filter criterion has been used to filter search results and how often different filter criteria are used together. The system uses the frequency data structures to predict which filter criteria a user will likely employ to narrow their search given the filter criteria the user has already used. The system provides techniques for arranging or rearranging filter criteria within a user interface, by moving, placing, or ordering suggested filter criteria within the user interface, where a user is likely to be able to recognize and interact with the placed filter criteria, based on the determined amounts of use.

Claims (75)

1. A computing system for suggesting and arranging filter criteria within a user interface for presenting listings to a user comprising a non-transitory computer-readable storage medium having instructions stored thereon, which when executed by one or more processors of the computing system cause the computing system to:

receive, via the user interface, a user selection to organize each of one or more filter criteria based on an amount of use of each filter criteria;

for each filter criterion of a plurality of filter criteria,

determine an amount of use of the filter criterion over a predetermined period of time;

determine whether a first amount of use of a first filter criterion is greater than a second amount of use of a second filter criterion based on the respective determined amounts of use of the first and second filter criteria; and

automatically move the first filter criterion to a more prominent position within the user interface than the second filter criterion based on the first amount of use being greater than the second amount of use.

2. The computing system of claim 1 , wherein the instructions, which when executed by one or more processors of the computing system, further cause the computing system to: determine an amount of use of at least one filter criterion over a predetermined period of time at least in part by determining a number of times that the at least one filter criterion has been employed by users performing searches for listings.

3. The computing system of claim 1 , wherein the instructions, which when executed by one or more processors of the computing system, further cause the computing system to:

receive, from a user, a query for listings, the query comprising a plurality of filter criteria;

for each of a plurality of combinations of filter criteria of the plurality of filter criteria of the query,

determining a number of times that the combination of filter criteria has been employed by users performing searches for listings,

identifying filter criteria that have been used in conjunction with the combination of filter criteria, and

for each identified filter criterion of the identified filter criteria that have been used in conjunction with the combination of filter criteria,

determining a number of times that the identified filter criterion has been employed by users performing searches for listings in conjunction with the combination of filter criteria.

4. The computing system of claim 1 , wherein the instructions, which when executed by one or more processors of the computing system, further cause the computing system to:

receive, from a user, a selection of a geographic area and a first set of a plurality of filter criteria; and

identifying the plurality of filter criteria from among filter criteria previously used in conjunction with real estate listings associated with the geographic area and the first set of the plurality of filter criteria.

5. The computing system of claim 4 , wherein the instructions, which when executed by one or more processors of the computing system, further cause the computing system to: updating a plurality of filter criteria frequency data structures based at least in part on the received first set of the plurality of filter criteria.

6. The computing system of claim 5 , wherein the plurality of filter criteria frequency data structures includes:

a first filter criteria frequency data structure that represents searches performed for listings within a first geographic area;

a second filter criteria frequency data structure that represents searches for listings performed by the user;

a third filter criteria frequency data structure that represents searches for listings performed by a plurality of users; and

a fourth filter criteria frequency data structure that represents searches for listings performed during a particular season.

7. The computing system of claim 1 , wherein the instructions when executed by the one or more processors of the computing system further cause the computing system to:

update filter criteria frequencies based on a user selection of respective filter criterion of the plurality of filter criteria; and

suggest filter criteria based on the respective user selections of respective filter criterion of the plurality of filter criteria.

8. The computing system of claim 1 , wherein the instructions, which when executed by one or more processors of the computing system, further cause the computing system to: rank the plurality of filter criteria based at least in part on the respective determined amounts of use.

9. The computing system of claim 1 , wherein the instructions, which when executed by one or more processors of the computing system, further cause the computing system to:

receive, from a user, a selection of a geographic area and a first set of a plurality of filter criteria;

identify sub-combinations of filter criteria from among the first set of the plurality of filter criteria; and

for each identified sub-combination of filter criteria from among the first set of the plurality of filter criteria,

update at least one filter criteria frequency data structure.

10. The computing system of claim 1 , wherein the instructions, which when executed by one or more processors of the computing system, further cause the computing system to:

receiving one or more selections of combinations of filter criteria from a user; determining whether the user has a higher than average propensity for buying; and

only in response to determining that the user has a higher than average propensity for buying,

storing an indication of the one or more selections of combinations of filter criteria in a filter criteria frequency data structure.

11. The computing system of claim 1 , wherein the user selection to organize each of one or more filter criteria based on an amount of use of each filter criteria is a submission of one or more updated filter criteria associated with a search.

12. The computing system of claim 1 , wherein determining an amount of use of a first filter criterion of the plurality of filter criteria over the predetermined period of time comprises accessing one or more filter criteria frequency data structures comprising a plurality of entries, each entry corresponding to a set of filter criteria and a number of times that the corresponding set of filter criteria has been used to search for listings.

13. A non-transitory computer-readable storage medium storing instructions that, in response to being executed by a computing system having at least one processor and at least one memory, cause the computing system to perform a method for suggesting and arranging filter criteria within a user interface for presenting listings, the method comprising:

from each of a plurality of users,

receiving one or more selections of combinations of filter criteria;

from a first user from among the plurality of users, receiving a request to view real estate listings associated with a first geographic area and satisfying a first set of filter criteria; identifying filter criteria associated with the first geographic area and the first set of filter criteria;

for each of the identified filter criteria associated with the first geographic area and the first set of filter criteria,

determining, by a processor, an amount of use of respective filter criterion of the identified filter criteria over a predetermined period of time;

determining, from each of the identified filter criteria associated with the first geographic area and the first set of filter criteria, whether a first amount of use of a first filter criterion is greater than a second amount of use of a second filter criterion based on the respective identified amounts of use of the first and second filter criteria; and

automatically placing the first filter criterion to a more prominent position within the user interface than the second filter criterion based on the first amount of use being greater than the second amount of use.

14. The non-transitory computer-readable storage medium of claim 13 , wherein determining, by a processor, an amount of use of at least one filter criterion of the identified filter criteria over a predetermined period of time comprises accessing a filter criteria frequency data structure.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the filter criteria frequency data structure comprises a plurality of entries, at least one entry specifying a combination of multiple filter criteria and an indication of an amount of use for the corresponding combination of multiple filter criteria.

16. The non-transitory computer-readable storage medium of claim 13 , wherein determining, by the processor, the amount of use of a first identified filter criterion over the predetermined period of time comprises:

accessing a first filter criteria frequency data structure associated with the first geographic area to determine a first number of times that the first set of filter criteria have been used with the first identified filter criterion;

accessing a second filter criteria frequency data structure associated with the first user to determine a second number of times that the first set of filter criteria have been used with the first identified filter criterion;

accessing a third filter criteria frequency data structure associated with the first user to determine a third number of times that the first set of filter criteria have been used with the first identified filter criterion;

determining a number of searches associated with the first filter criteria frequency data structure;

determining a number of searches associated with the second filter criteria frequency data structure;

determining a number of searches associated with the third filter criteria frequency data structure;

determining a non-zero weight for the first filter criteria frequency data structure based at least in part on the determined number of searches associated with the first filter criteria frequency data structure, the determined number of searches associated with the second filter criteria frequency data structure, and the determined number of searches associated with the third filter criteria frequency data structure;

determining a non-zero weight for the second filter criteria frequency data structure based at least in part on the determined number of searches associated with the first filter criteria frequency data structure, the determined number of searches associated with the second filter criteria frequency data structure, and the determined number of searches associated with the third filter criteria frequency data structure; and

determining a non-zero weight for the third filter criteria frequency data structure based at least in part on the determined number of searches associated with the first filter criteria frequency data structure, the determined number of searches associated with the second filter criteria frequency data structure, and the determined number of searches associated with the third filter criteria frequency data structure.

17. The non-transitory computer-readable storage medium of claim 1 , wherein placing the number of the most used filter criteria to positions within the user interface based on the respective determined amounts of use of the identified filter criteria associated with the first geographic area comprises causing, by the computing system, to be displayed a first set of suggested filter criteria including a first result of searching a filter criteria frequency data structure based on the first set of filter criteria, wherein each suggested filter criterion of the first set of suggested filter criteria corresponds to a search represented in the filter criteria frequency data structure, the method further comprising:

receiving, by the computing system, user input selecting one or more of the first set of suggested filter criteria; and

causing, by the computing system, to be displayed a second set of suggested filter criteria including a second result of searching a filter criteria frequency data structure based on the first set of filter criteria and the selected one or more of the first set of suggested filter criteria, wherein each suggested filter criterion of the second set of suggested filter criteria corresponds to a search represented in the filter criteria frequency data structure.

18. A computer-implemented method for suggesting and arranging filter criteria within a user interface for presenting listings to a user, the method comprising:

receive, via the user interface, a user selection to organize each of one or more filter criteria based on an amount of use of each filter criteria;

for each filter criterion of a plurality of filter criteria,

determine an amount of use of the filter criterion over a predetermined period of time;

determine whether a first amount of use of a first filter criterion is greater than a second amount of use of a second filter criterion based on the respective determined amounts of use of the first and second filter criteria; and

automatically move the first filter criterion to a more prominent position within the user interface than the second filter criterion based on the first amount of use being greater than the second amount of use.

19. The method of claim 18 , further comprising: determine an amount of use of at least one filter criterion over a predetermined period of time at least in part by determining a number of times that the at least one filter criterion has been employed by users performing searches for listings.

20. The method of claim 18 , further comprising:

receive, from a user, a query for listings, the query comprising a plurality of filter criteria;

for each of a plurality of combinations of filter criteria of the plurality of filter criteria of the query,

determining a number of times that the combination of filter criteria has been employed by users performing searches for listings,

identifying filter criteria that have been used in conjunction with the combination of filter criteria, and

for each identified filter criterion of the identified filter criteria that have been used in conjunction with the combination of filter criteria,

determining a number of times that the identified filter criterion has been employed by users performing searches for listings in conjunction with the combination of filter criteria.

Assignments (4)
MERGER Recorded Jan 12, 2023
From: PUSH SUB I, INC.
To: MFTB HOLDCO, INC.
Reel/Frame 062389/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2023
From: ZILLOW, LLC
To: PUSH SUB I, INC.
Reel/Frame 062353/0901 →
ARTICLES OF ENTITY CONVERSION AND CERTIFICATE OF FORMATION Recorded Dec 15, 2022
From: ZILLOW, INC.
To: ZILLOW, LLC
Reel/Frame 062136/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2020
From: ABDALLAH, FARAH; LOPATENKO, ANDREI; AGARWAL, TARUN; BALAGOPALAN, ARUN; GIBBONS, JACKSON R.
To: ZILLOW, INC.
Reel/Frame 053949/0085 →
Continuity (1)
Related Publication 20220092621A1 · Mar 24, 2022
Cited By (3)
US 12,211,112 US 12,229,843 US 12,412,187