Сегментация клиентов: обратный расчет - PullRequest
0 голосов
/ 02 июля 2018

Я делаю сегментацию клиентов, у каждого клиента есть 3 атрибута X, Y и Z. Основываясь на значениях этих 3 атрибутов, я делю их на 6 групп, скажем, A - F.

              X     Y     Z Group
John D.     300    35  1000     A
Adam S.     230    40  2500     B
Will Y.     500    55  3000     C

Тогда я считаю количество клиентов, попадающих в каждую группу:

n(A) n(B) n(C) n(D) n(E) n(F)
5    5    20   30   20   20

Вот как я классифицирую клиентов на основе x1, x2, y1, y2, z1, z2:

X               Y               Z       Group
>x1 and <=x2    <=y1            >z2     A
>x2             <=y1            >=0     A
<=x1            <=y1            >z2     B
>x1 and <=x2    <=y1            <=z2    B
>x1 and <=x2    >y1 and <=y2    >z2     C
>x2             >y1 and <=y2    >=0     C
<=x1            <=y1            <=z2    D
<=x1            >y1 and <=y2    >=0     D
>x1 and <=x2    >y1 and <=y2    <=z2    D
>x1 and <=x2    >y2             >z2     E
>x2             >y2             >=0     E
<=x1            >y2             >=0     F
>x1 and <=x2    >y2             <=z2    F

Так вот как я начинаю с x1, x2, ... чтобы получить n (A), n (B), n (C) ...

Что я хочу сделать, это работать в обратном направлении от n (A), n (B), n (C), ..., n (F), чтобы получить x1, x2, y1, y2, z1, z2. (Изменяя только числа, правила группировки в таблице остаются без изменений.)

Я даже не уверен, с какой проблемой я имею дело. Я думал, что это линейное программирование, но я не мог сформулировать проблему.

Есть идеи, как мне решить эту проблему, в R или любом другом программном обеспечении?

...