In spite of these common sense rules, there are many ways to design the model and create the prototype for any given problem. You'll need to try more than one model to find the best fit for your problem, but don't think of these trials as wasted effort. The time that you spend in designing the model, even time spent "playing around" with it, is time well spent since that time will be saved in later phases of implementation.
Among the fruitful experiments that you may want to conduct in this context is to reverse the roles of variables and values.