Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a real estate professional and part of my job is to scan a database day in and day out searching for properties for a prospective investor buyer to purchase. I am pretty sure a program can be made that will scan this database for me, and alert me when one pops up that I should look at.

I make the decision on what they buy based on a few pieces of data. Things like square footage, beds baths etc. Basically what I do is compare a prospective distressed property to properties that match criteria to determine how close they are, and then come up with a likely after repair value based on the other sold nearby houses.

I theorize that my program should be able to scan the DB, gather all new properties added. Take each property. determine which other sold properties are most comparable and come up with a likely after ARV. Then compare that ARV to the list price, if it is within a certain range, alert me.

So far I've gone and confirmed that I can get a feed for this data. I think it will be in xml but won't know the structure of the data until i apply for a feed license.

My problem is I have no idea where to start on this. I've been tinkering around with little website building and very basic html and php for about 10 years but never really became a master of it. Is this too much for a newb to build? should I pay? or suck it up and learn?

share|improve this question

closed as not constructive by Jim G., Kilian Foth, Martijn Pieters, Jalayn, Yusubov Mar 26 '13 at 20:43

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

2 Answers

Welcome to Programmers.

Depending on your ability I don't see this as being a hugely complex project and you may well be able to tackle it in stages. Alternatively you could definitely contract someone to build this for you.

I would approach it in the following manner.

Database

You need to store ideally the following distinct pieces of information (these would be tables)

  • Properties
  • Customers
  • Suburbs

A property would have information such as

  • Suburb
  • Price range (min and max)
  • Asking price
  • SQFT/SQM
  • Stairs
  • Bedrooms
  • Bathrooms
  • Park spaces

A customer would have information such as:

  • Name
  • Income
  • BedMin
  • BedMax
  • BathMin
  • BathMax
  • ParkMin
  • ParkMax
  • PriceMin
  • PriceMax

And, for suburbs, really just the name and an ID.

You would need a mapping table (many-to-many) for mapping customers to suburbs. You would be able to store null values to indicate the customer doesn't care about something i.e. have a minimum of 2 bedrooms but null maximum. You would probably also want to track customer opinions on their matches so you don't keep suggesting to them properties that they don't like.

Scraper

The scraper would be an automated process which reads the feed (which is likely XML) and reads it into your database.

Matcher

The matcher would be a process which would look for customers and match them against properties they could be interested in.

Management portal

To be implemented as a web application that allows you to perform CRUD operations on your data.

Conclusion

The steps I've given you above should point you on your way for how to approach this application. Apropos learning PHP/HTML etc, there are plenty of tutorials online, and you can always ask for more advice here, or on Stack Overflow.

Good luck.

share|improve this answer
add comment

Having dealt with Real Estate agents a lot over the last couple of years, I am pretty stoked to encounter one who wants to write code. Good for you! =)

You might find it useful to construct a weighted score of the property against what the customers are looking for. This is I guess a heuristic-based search. You can place an 'importance' weighting on each field, based on your perception of what would interest them the most.

So, you know, that gives a tolerance for mismatches (like over/under price, too many/few bedrooms etc). The maths is more important than the programming. Its useful to rank the results by score, or allow the user to rank by any column. If you get your scoring function tuned up nicely, it ought to produce useful results that are a little "out-of-the-square".

Take my own case for example. My wife and I have been looking for a 3-4 bedroom house with a sizable garage/workshop for long, long time. We ended up buying a 2 bedroom house with no garage on a north-facing quarter acre (in New Zealand, it's a good thing to face north). A tiny little place, despite playing in bands and having two children. Go figure...

If you can get an XML feed of the data or whatever, you might not need to do any real database searches. Well, that's from my point of view. I'm a C++ kinda guy, so chances are I'd rip all the data into memory (no matter what its source) and then perform searches on it for each of my customers.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.