2 Replies Latest reply: Sep 2, 2015 3:16 AM by Дмитрий Бабич RSS

    Новые / сохраненные / потерянные клиенты

    Vladimir Kondakov

      Доброго дня Коллеги.

       

      Давно ломаю голову над задачей с которой наверняка уже сталкивались.

      Есть информация о продажах в разрезе клиентов. Задача - оценить сколько клиентов новых, сколько потерянных, сколько сохранено. Оцениваем по месяцу.

      Если клиент купил впервые - это новый (это вообще самый первый месяц)

      Если в прошлом покупал - но сейчас нет - потерянный

      Если покупал в прошлом и купил сейчас - сохраненный

      Если в прошлом не покупал, но с прошлой покупки прошло менее 10 месяцев - восстановленный.

       

      Уверен в Клике есть красивый способ. Мне в голову приходят только некрасивые и выполняемые на стороне источника данных.

       

      Буду признателен за советы

        • Re: Новые / сохраненные / потерянные клиенты
          Eugeny Ilyin

          Привет.

          Был вопрос, сколько новых клиентов помесячно.

          Решил так: Подсчитал сколько клиентов в месяц имеют дату отгрузки равной минимальной дате в целом по всему реестру продаж.

          Формула такая родилась:

          Sum({1 <ScladMovesVidID={'21'}>} 
              aggr( DISTINCT 
                  if((min({1 <ScladMovesVidID={'21'}>} Total <ПартнерID> дата1)) = min({1<ScladMovesVidID={'21'}>} дата1), 1)
                  , ПартнерID))
          

           

          Но по вашей задаче я бы смотрел решение скриптом. Надо подумать, каким образом можно выйти на каждое условие.

          "Если клиент купил впервые - это новый (это вообще самый первый месяц)"

          Какие признаки? Как уже упомянул, минимальная дата отгрузки по всем периодам = дате отгрузки в месяце, следовательно первая отгрузка нового клиента. Либо первая запись отгрузки клиента в реестре, отсортированном по контрагентам и датам, тоже первая отгрузка нового клиента, в этом случае можем уже проставить номера отгрузок, либо номер месяца отгрузки. Далее это можно будет как-то обыграть.

          И далее по пунктам, в таком же духе.

          Может не совсем понятно описал, пишу на ходу.

          Задача интересная.

          • Re: Новые / сохраненные / потерянные клиенты

            Добрый день.

            Как вариант:

            создаем таблицу

             

            Temp:

            LOAD

            MonthName (AddMonths(now(0),-11+RowNo()))        as month,

            if( mod(RowNo(),10)=1,1,if(mod(RowNo(),10)=2,10,100) ) as koef

            AUTOGENERATE 10;

             


            По месяцам привязать к ней ваших клиентов.

            И дальше смотреть по mod(sum(koef),100)

            1- новый

            10-потерянный

            11-сохраненный

            0-восстановленный