" - ну как расстояния считать - это все уже сделано, в том же питоне или в R. Ничего больше придумывать и писать не нужно. Несколько строчек. Какие признаки? Это вы проводите статистический анализ, делаете факторный анализ, придумываете дополнительные переменные, группируете, выкидываете, чистите, потом начинаете делать кластерный анализ по разным техникам, выбираете оптимальное решение."Тогда это не программист, а аналитик.  Он должен понять, какие именно данные анализировать. А потом уже попросить кодера это закодить, если расстояния уже в питоне есть. Или обычно один человек это совмещает?А где работают эти специалисты? В каких компаниях?