The other thing to bear in mind is that the future is not inherently predictable. I've seen great products fail for no apparent reason (there was market need, market demand, correct value proposition, correct pricing, well-engineered product etc.) and I've seen absolute crap succeed. So while a good framework is very important we have to recognize that the complexities of life aren't always going to succumb to rational behavior. We also need to remember that even the best product has a finite shelf life.