Generate product model