Есть два подхода: аналитический (например, можно почитать о модели Дюрана) и информационный (KDD, Data Mining, машинное обучение). Разница в том, что аналитический подход можно использовать, не имея никаких данных, а информационный требует базу данных необходимую для определения параметров модели.