Market segmentation via mixtures of constrained factor analyzers