@Clifford PalaNo business yet as I'm about to get started for the first time. Technically I'm not ramping up anything except how easily I will be able to go balls to the wall without drowning in my own disorganization. This isn't a hobby for me. Once I start marketing I plan on going H.A.M. and I DONT MEAN THIS KIND OF HAM!!
That's why I'm doing my little CRM, because once I start marketing I don't want to lose momentum dealing with administrative B.S. that could be relatively easily systematized. Of course there will be many things that need to be adjusted or added as I go along, but I figure I can get the bulk of the system in place and ready for actual field testing/tweaking in 1-3 weeks.
Since I have no money I'm using LibreOffice Base as my database software. I spent the last couple weeks learning the ropes. I decided that given my timetable and lack of expertise, I'm going to avoid setting up relations between the tables of my database. Instead I will use one table for each of my lists. Each list will have a unique function and unique combination of fields (in addition to the normal ones like name, property address, contact info, etc). I'm paying close attention to exactly what I want to know and keep track of in each list and how it affects and is affected by other lists.
Seller funnel (5 lists):
Marketing List > Lead List > Prospect List > Pre-Contract List > Under Contract List
If someone moves down the funnel from marketing > etc. they won't be removed from the wider parts of the funnel. Instead they will have a record in each list they make it to (their status field in the previous lists will be adjusted to denote how far they ended up going). This is for future analytic purposes so I can determine what % of 1 list resulted in 1 item of another list, etc. So I want redundancy between lists, but I don't want redundancy within each individual list.
Example: When I get someone's property under contract, it will be in all 5 seller lists in the funnel. This will not be automatic. I will have manually added their info into each list, and every time their status with me changed, I would manually update their status field on each list. This is a bit more work intensive than having it automatic by creating relational tables, but I don't have the time or expertise given my situation to implement such tables (especially the potential for disaster if I screw something up). Plus, since each successive table in the seller funnel gets smaller and smaller, I'd be HAPPY to manually add something and update something if it actually means getting closer and closer to getting a property under contract. If I'm worried about systematizing adding people to the last 3 lists, that's a high quality problem because it means I'm doing a LOT of deals! Ok, maybe the Prospect list could become problematic earlier than that, but still.
Buyer funnel (4 lists):
Retail Buyers List > Hot Buyers List > Pre-Deal List > Closed Deal List
Only the first list here will have a lot of action I suspect, unless I'm working with a few properties under contract at the same time, a high quality problem! The last 3 lists will have a field for specific properties, as they only apply to specific properties. Redundancy between lists and updation between lists will work the same as the seller funnel. Old records will be kept for analytic purposes. Status fields will be used of course.
Wholesaler List
Pretty simple list of wholesalers I'm working with.
Shiny Objects List
Random real estate stuff/people/properties that interest me outside of my marketing campaigns. For instance there are some houses in my neighborhood that I like the looks/location of, or that are for sale. I want to find out more about what's going on with them and see if anyone might be interested in selling. Two of the houses have been listed for several years with price increases and lowerings. They might be frustrated (or maybe they just don't care how long they have to wait to get a big payday). They obviously don't mind paying an agent fee, so they shouldn't mind not seeing 3-5% (or maybe even a little more) of their selling price go in their pocket if I lease option them. Plus with lease options, assuming their prices aren't retarded (didn't run comps yet) they actually can much more quickly and easily get their property under contract for maximum price, if they're willing to accept monthly payments before the tenant-buyers exercise their option to purchase. But this is all experimental/educational speculation on inefficient marketing strategies, hence shiny objects.
For forms I have 3 main functions I'll put in place:
1. Searching all lists simultaneously to determine if someone or something is already in my system (don't want to repeat contact someone, and always want to know what happened with them or a property with me before contacting them again)
2. Quickly finding, adding, deleting or updating records to any of the lists. Every time I direct market to a new person they get added to the list (when I start doing mailings in the future this will work a little differently, it will be a high quality problem because I won't be able to afford mailings until I do 1-2 deals).
3. Quick preset and/or easily adjustable searches/sorts of specific criteria in certain lists. This is so I can easily know what's going on with all my stuff, so I can stay on top of following up with everything without having to keep it all in my head. Standardized forms for checking marketing/lead/prospect/pre-contract followups, current deals, etc.
Queries
I've not yet defined my queries yet. I will do this once my actual tables are made and I'm creating the forms. The queries will be defined by the exact functionality I need for each form.
I might end up making some tables specifically to serve as objects for certain queries to simplify creating more complex forms. But I'm not going to set up any table relations per se. The query specific tables will only act as organizational placeholders for pulling specific combinations of info off one or multiple tables, for specific forms.