1. A method for improving features of a product comprising: obtaining, for storage in a memory, data relating to features of an existing product, said features data representing details of a product's feature from a perspectives of feature consumption comprising features that have been changed, deleted, or added and in what product versions; storing, in the memory, a behavior evolution model for said product based on said features data; running, on a hardware processor, said behavior evolution model for said product to identify structured features of said product and compute one or more insights for users' preferences, said behavior evolution model applying, by said processor, natural language processing (NLP) to a product description and product version release logs to identify and to extract said one or more said identified structured features, said structured features comprising: umbrella features and low-level features each release version introduces, improves or deletes and said structured features comprising low-level features and a feature's fine-grained relationship with other related entities; and designing a future product or improving an existing product based on said one or more computed insights for users' preferences.