SYSTEM AND METHOD FOR OPTIMIZING A PROPOSED DWELLING
20220405671 · 2022-12-22
Inventors
Cpc classification
International classification
Abstract
A system and method for determining and optimal plan and specification for a proposed residential dwelling by minimizing the net cost of the dwelling to the homeowner based on a cost to build the dwelling and an estimated rental income for the dwelling. Rental income is estimated as a function of a rental history of an existing dwelling and a degree of similarity between the existing dwelling and the proposed dwelling. The parameters of the plan and specification of the proposed dwelling may be selected or obtained from a combination of user inputs, default settings, and system constraints. A three-dimensional visualization of the proposed dwelling may be integrated and rendered with a three-dimensional representation of the lot.
Claims
1. A method, performed by instructions executed on a computing device, of determining an optimal residential dwelling from a plurality of dynamically generated proposed dwellings, comprising: obtaining data representing one or more plans for a dwelling, the one or more plans each satisfying building requirements of a lot; obtaining data representing one or more specifications, each specification compatible with at least a respective one of the plans; generating a plurality of proposed dwellings each according to a respective one of the plans and conforming to a respective one of the specifications; determining a purchase price of each proposed dwelling based on a construction cost thereof; estimating a rental income of each proposed dwelling as a function of a rental history of a respective existing dwelling and a degree of similarity between the respective existing dwelling and the respective proposed dwelling; determining a net cost of each proposed dwelling as a function of a difference between the respective rental income and the respective purchase price; and determining an optimal dwelling as one of the proposed dwellings having a minimum net cost.
2. The method of claim 1 further comprising: obtaining a 3D representation of the lot having been captured by aerial or ground-based imagery or scanned by aerial or ground-based lidar; and integrating together and rendering the 3D representation of the lot and at least one proposed dwelling.
3. The method of claim 2 wherein the at least one proposed dwelling is the optimal dwelling.
4. The method of claim 1 wherein each purchase price is further based on at least one of a personal credit score and a finance charge.
5. The method of claim 1 wherein each degree of similarity is a function of a count of parameters that each have a match value above a specified threshold.
6. The method of claim 5 wherein each match value is determined by at least one of natural language processing (NLP) and image processing.
7. The method of claim 1 wherein each rental income is a weighted average of a rent indicated by the respective rental history, weighted by the respective degree of similarity, and a market rent, weighted by one minus the same respective degree of similarity.
8. The method of claim 1 wherein a rent indicated by each rental history is weighted by a function of distance between the lot and the respective existing dwelling.
9. The method of claim 1 wherein the building requirements are obtained by query to a server or database directly or through an application-program interface (API).
10. A non-transitory computer-readable medium, comprising instructions for causing a computing environment to perform a method of determining an optimal residential dwelling from a plurality of dynamically generated proposed dwellings, the method comprising: obtaining data representing one or more plans for a dwelling, the one or more plans each satisfying building requirements of a lot; obtaining data representing one or more specifications, each specification compatible with at least a respective one of the plans; generating a plurality of proposed dwellings each according to a respective one of the plans and conforming to a respective one of the specifications; determining a purchase price of each proposed dwelling based on a construction cost thereof; estimating a rental income of each proposed dwelling as a function of a rental history of a respective existing dwelling and a degree of similarity between the respective existing dwelling and the respective proposed dwelling; determining a net cost of each proposed dwelling as a function of a difference between the respective rental income and the respective purchase price; and determining an optimal dwelling as one of the proposed dwellings having a minimum net cost.
11. The medium of claim 10 wherein the method further comprises: obtaining a 3D representation of the lot having been captured by aerial or ground-based imagery or scanned by aerial or ground-based lidar; and integrating together and rendering the 3D representation of the lot and at least one proposed dwelling.
12. The medium of claim 11 wherein the at least one proposed dwelling is the optimal dwelling.
13. The medium of claim 10 wherein each purchase price is further based on at least one of a personal credit score and a finance charge.
14. The medium of claim 10 wherein each degree of similarity is a function of a count of parameters that each have a match value above a specified threshold.
15. The medium of claim 14 wherein each match value is determined by at least one of natural language processing (NLP) and image processing.
16. The medium of claim 10 wherein each rental income is a weighted average of a rent indicated by the respective rental history, weighted by the respective degree of similarity, and a market rent, weighted by one minus the same respective degree of similarity.
17. The medium of claim 10 wherein a rent indicated by each rental history is weighted by a function of distance between the lot and the respective existing dwelling.
18. The medium of claim 10 wherein the building requirements are obtained by query to a server or database directly or through an application-program interface (API).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] A more complete appreciation of the present disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings.
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
DETAILED DESCRIPTION
[0020] The present disclosure may be understood more readily by reference to the following detailed description of the disclosure taken in connection with the accompanying drawing figures, which form a part of this disclosure. It is to be understood that this disclosure is not limited to the specific devices, methods, conditions, or parameters described and/or shown herein, and that the terminology used herein is for the purpose of describing particular embodiments by way of example only and is not intended to be limiting of the claimed disclosure.
[0021] Also, as used in the specification and including the appended claims, the singular forms “a,” “an,” and “the” include the plural, and reference to a particular numerical value includes at least that particular value, unless the context clearly dictates otherwise.
[0022] The following numerals are used to describe various features of the embodiments. [0023] 10 flowchart [0024] 50 obtain-scan step [0025] 52a lidar scan [0026] 52b image capture [0027] 60 lot representation [0028] 100 obtain-plan step [0029] 110 dwelling plan [0030] 120a default selection [0031] 120b user selection [0032] 120c system selection [0033] 130 plan-verification step [0034] 140 building requirements [0035] 150 iterate-plan step [0036] 200 obtain-specification step [0037] 210 dwelling specification [0038] 220a default selection [0039] 220b user selection [0040] 220c system selection [0041] 230 specification-verification step [0042] 250 iterate-specification step [0043] 300 generate-proposed step [0044] 310 proposed dwelling [0045] 310x optimal dwelling (corresponding to minimum net cost) [0046] 310y suboptimal dwelling (corresponding to maximum net cost) [0047] 320 lot [0048] 330 existing dwelling [0049] 330a/b/c specific existing dwelling [0050] 340 parameter weight [0051] 350 geographic area [0052] 360 match value [0053] 400 build-quotation step [0054] 410 dwelling purchase price [0055] 420 construction cost [0056] 430 credit score and finance charges [0057] 500 rent-estimation step [0058] 510 dwelling rental income [0059] 520 rental history [0060] 530 degree of similarity [0061] 530a/b/c specific degree of similarity [0062] 600 cost-accounting step [0063] 610 net cost [0064] 610x minimum net cost [0065] 610y maximum net cost [0066] 700 select-optimal step [0067] 800 render-optimal step [0068] 810 rendered dwelling
[0069]
[0070] The flowchart 10 begins with an obtain-scan step 50 where a three-dimensional lot representation 60 of a lot 320 (not shown in
[0071] Once the lot representation 60 has been obtained, one or more dwelling plans 110 are obtained in an obtain-plan step 100. A dwelling plan 110 may be a high-level description of a dwelling, for example “a 300 sq. ft. detached dwelling,” or it may comprise detailed construction plans for a dwelling.
[0072] System selection 120c of a dwelling plan 110 may be accomplished using several methods. For example, a system performing the process depicted by the flowchart 10 may determine an existing dwelling 330b within a specified geographic area 350, as shown in
[0073] A plan-verification step 130 determines whether the obtained dwelling plan 110 satisfies building requirements 140 for the lot 320 on which a proposed dwelling 310 may be situated. The building requirements 140 may comprise zoning information, building setback information, minimum and maximum building footprints, and so on. The building requirements 140 may be obtained automatically by query to a server either directly or through an application-program interface (API), or the building requirements 140 may be entered manually by a user. An example of satisfying a building requirement 140 may be when a dwelling plan indicates a building footprint that is within the minimum and maximum allowable footprint. An example of not satisfying a building requirement 140 may be when a dwelling plan indicates an exterior dwelling that violates a no-outbuildings zoning ordinance.
[0074] If the dwelling plan 110 satisfies the building requirements 140, then one or more dwelling specifications 210 may be obtained in the obtain-specification step 200. A dwelling specification 210 describes one or more parameters of a dwelling that may not be described in a dwelling plan 110, for example fixtures and building materials of a dwelling. Fixtures of a dwelling may include things like ceiling fans, fireplaces, air conditioners, certain outdoor plants, and so on. Building materials of a dwelling may include things like vinyl siding, hardwood floors, granite counter tops, and so on.
[0075] A dwelling specification 210 may be obtained via default selection 220a, via user selection 220b, and/or via system selection 220c. To be clear, the parameters of a given dwelling specification 210 may be obtained from a single input source or they may be obtained from a plurality of input sources. For example, a dwelling specification 210 may comprise a default selection 220a for all parameters except that the interior flooring parameter is obtained via user selection 220b.
[0076] System selection 220c of a dwelling specification 210 may be accomplished using several methods. For example, the system may determine an existing dwelling 330b within a specified geographic area 350, as shown in
[0077] Note that the embodiment illustrated in
[0078] In serial processing of dwelling plans 110 and dwelling specifications 210, one dwelling plan 110 may be obtained per pass of the outer loop as determined by the iterate-plan step 150 and one dwelling specification may be obtained per pass of the inner loop as determined by the iterate-specification step 250. Each pass through the combined outer-inner loops may increment by one the number of proposed dwellings 310 from which to select an optimal dwelling 310x in the select-optimal step 700.
[0079] In parallel processing of dwelling plans 110 and dwelling specifications 210, a plurality of dwelling plans 110 may be obtained in a single pass of the outer loop and a plurality of dwelling specifications 210 may be obtained in a single pass of the inner loop. An optimal dwelling 310x may be selected in the select-optimal step 700 from among a plurality of proposed dwellings 310.
[0080] Hybrid processing is a combination of serial and parallel processing, where during each of one or more iterations, either (i) one dwelling plan 110 is obtained and a plurality of dwelling specifications 210 are obtained, or (ii) a plurality of dwelling plans 110 are obtained and one dwelling specification 210 is obtained. Each iteration of hybrid processing may increment by at least two the number of proposed dwellings from which to select an optimal dwelling 310x in the select-optimal step 700. For simplicity, the descriptions that follows are based on serial processing.
[0081] Once a dwelling plan 110 and a dwelling specification 210 have been obtained, a proposed dwelling 310 can be dynamically generated in the generate-proposed step 300. The proposed dwelling 310 may comprise all information necessary to build and/or situate the dwelling on the lot 320. The proposed dwelling 310 is generated in accordance with the dwelling plan 110 and in conformance with the dwelling specification 210.
[0082] In the build-quotation step 400, an overall dwelling purchase price 410 for the proposed dwelling 310 may be determined using any suitable technique. For example, as shown in
[0083] In the rent-estimation step 500, a dwelling rental income 510 may be estimated based on the rental history 520 of an existing dwelling 330 that is most similar in plan and specification to the proposed dwelling 310. The rent-estimation step 500 relies on quantifying a degree of similarity 530 between a proposed dwelling 310 and an existing dwelling 330. One way to quantify the degree of similarity 530 is to count how many parameters (or features) of the proposed dwelling 310 match to parameters (or features) of the existing dwelling 330 and divide by the total number of parameters of the proposed dwelling. As used herein, the term “features” may be used for parameters extracted from an image such as a layout or blueprint representation of a dwelling plan 110.
[0084] There are many techniques and heuristics known in the art for quantifying matching between arbitrarily formatted parameters (e.g., strings of text or images) and determining a degree of similarity 530. Natural language processing (NLP) may be used for matching parameters represented as strings, such as matching based on syntactic, semantic, cosine, and Jaccard similarity. When a dwelling plan 110 or an existing dwelling 330 is represented by a graphical layout or blueprint, image-processing feature extraction may be used to extract relevant parameters for comparison and subsequent determination of a match value 360. Any suitable image processing techniques and heuristics may be used, including those of pattern recognition, image segmentation, image enhancement, feature extraction, feature classification, and so on. Parameters determined by image-processing feature extraction may be compared graphically or converted to strings to be compared textually. For example, a match value 360 for building footprints extracted from blueprints could be determined by graphically comparing a scaled image of the footprint of the proposed dwelling 310 with an identically scaled image of the footprint of the existing dwelling 330, or by comparing text descriptions of strings that have been generated from the respective blueprints.
[0085] Matching may be binary (true/false) or nonbinary (degree). For example, a parameter of “wood floors throughout” indicated by a proposed dwelling 310 and an existing dwelling 330 having “wood floors in the living room” could have a binary match value 360 of zero (false) but a nonbinary match value 360 of 60%. Counting of nonbinary matches could be accomplished by counting any match above a specified matching threshold and not counting any match below the matching threshold. Alternatively, each parameter could be assigned a parameter weight 340 that is multiplied by the binary or nonbinary match value 360 prior to summation.
[0086] A simple binary parameter-matching example with parameter weights 340 is illustrated in
[0087] The rental income 510 may be determined from the rental history 520 using any suitable technique, such as a weighted average of the most recent rent payment (or an average of recent rent payments) indicated by the rental history 520 of an existing dwelling 330 that is most similar to the proposed dwelling 310 and a market rent. For example, using greatest degree of similarity 530b shown in
[0088] The rental income 510 may further account for projected future rent payments based on trends indicated by the rental history 520 and/or by other market information. The rent-estimation step 500 may additionally account for one or more of: (i) the location or neighborhood of the existing dwelling 330, (ii) the location or neighborhood of the lot 320, and (iii) a distance between the existing dwelling 330 and the lot 320. For example, the rent corresponding to a first existing dwelling 330a that is closer to the lot 320 than a second existing dwelling 330b may be weighted differently than the rent corresponding to the second existing dwelling 330b, where each respective weighting factor may be a function of a distance between the lot 320 and the respective existing dwelling 330.
[0089] After a dwelling purchase price 410 and a dwelling rental income 510 have been determined for each proposed dwelling 310, a net cost 610 for each proposed dwelling 310 is computed in the cost-accounting step 600 by subtracting the respective dwelling rental income 510 from the respective dwelling purchase price 410.
[0090] In purely serial processing, when the select-optimal step 700 is reached during the first iteration, there has only been one proposed dwelling 310 generated and thus only one net cost 610. Thus, determining an optimal dwelling 310x—which is the proposed dwelling 310 having the lowest net cost 610x—is straight forward. During a subsequent serial iteration (or during any hybrid or parallel iteration), a plurality of proposed dwellings 310 would have been generated and a respective plurality of net costs 610 would have been computed. In such case, an optimal dwelling 310x may be determined by sorting the proposed dwellings 310 in ascending order of net cost 610 and selecting the proposed dwelling 310 at the top of the list (or sorting the proposed dwellings 310 in descending order of net cost 610 and selecting the proposed dwelling 310 at the bottom of the list). Note that instead of computing a “net cost” in the cost-accounting step 600, a “net revenue” could be computed by reversing the subtrahend and minuend of the “net cost” difference computation. In such case, the select-optimal step 700 would select an optimal dwelling 310x as one having a maximum net revenue. There are many suitable algorithms and heuristics known in the art for selecting extreme values from a list, set, or group, which for brevity are not detailed herein.
[0091] In serial (or hybrid) processing, a determination is made in the iterate-specification step 250 whether to proceed to the iterate-plan step 150 or to return to the obtain-specification step 200 for one or more additional inner-loop iterations. Such determination may be based on user input and/or by the system. For example, the system may be configured to iterate for a fixed number of iterations and/or until a computed minimum net cost 610x is below a specified threshold. Similarly, in serial (or hybrid) processing, a determination is made in the iterate-plan step 150 whether to terminate the process or to return to the obtain-plan step 100 for one or more additional outer-loop iterations. As described above, the system may be configured to iterate for a fixed number of iterations and/or until a computed minimum net cost 610x is below a specified threshold. When terminated, the process has determined an optimal dwelling 310x that has a minimum net cost 610x from among all proposed dwellings 310 considered.
[0092] Once an optimal dwelling 310x has been determined, a render-optimal step 800 may generate a rendered dwelling 810 by integrating together and rendering the lot representation 60 with the optimal dwelling 310x. The rendered dwelling 810 is a visualization that may be presented to a user by any suitable immersive or non-immersive experience, for example as 3D video displayed on a computer screen or virtual reality displayed on head-worn goggles. Any suitable techniques and associated 3D (and 2D) rendering engines may be used to generate the rendered dwelling 810. Exemplary rendered dwellings 810 are shown in
[0093] Although the embodiment depicted by
[0094] As shown throughout the drawings, like reference numerals designate like or corresponding parts. While illustrative embodiments of the present disclosure have been described and illustrated above, it should be understood that these are exemplary of the disclosure and are not to be considered as limiting. Additions, deletions, substitutions, and other modifications can be made without departing from the spirit or scope of the present disclosure. Accordingly, the present disclosure is not to be considered as limited by the foregoing description.