<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: To identify the continuity and loyalty of customer over the years and find maximum continuity ye in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665601#M19374</link>
    <description>&lt;P&gt;Thank you so much Patrick! It is working for all different set of combinations, which I tried more for testing.&lt;/P&gt;</description>
    <pubDate>Sun, 28 Jun 2020 03:29:09 GMT</pubDate>
    <dc:creator>AkshayS</dc:creator>
    <dc:date>2020-06-28T03:29:09Z</dc:date>
    <item>
      <title>To identify the continuity and loyalty of customer over the years and find maximum continuity year</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665398#M19365</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello Everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am looking to create a sequence variable based on two columns : Cust_name and Year.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There are different type of customers as below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer1 was with me from 2001 to 2003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer2 was with me only for 2001 and 2002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer3 was only for one year 2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer4 was with me alternate year 2003,2005,2007&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer5 2001,2002,2005,2006,2007&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to find maximum number of years I was able to provide service to my customers.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So, Output I am looking is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer1 output as 3 (as he was 2001,2002,2003)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer2 as 2 (as he was 2001,2002)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer3 as 1 (as he was only for yr 2001)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer4 as 1 (alternate yr so no continuous year)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer5 as 3 ( he was there continuously 2(2001,2002) and 3(2005,2006,2007) so I will choose max as 3).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;PFB dataset for your reference:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;data abc;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input customer_id Customer_name $ 3 - 11 transaction_date :mmddyy10. ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;format transaction_date mmddyy10.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;datalines;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 Customer1 03/31/2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 Customer1 03/31/2002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 Customer1 03/31/2003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 Customer2 03/31/2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 Customer2 03/31/2002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3 Customer3 03/31/2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 Customer4 03/31/2003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 Customer4 03/31/2005&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 Customer4 03/31/2007&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2005&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2006&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2007&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;proc print data=abc;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Cust_Name&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Output1_Sequence&lt;/TD&gt;&lt;TD&gt;Final_output(max(Output1 by Cust_name))&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2003&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2003&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2005&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2007&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2005&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2006&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2007&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Looking forward for the insights.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance!&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Jun 2020 16:08:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665398#M19365</guid>
      <dc:creator>AkshayS</dc:creator>
      <dc:date>2020-06-26T16:08:05Z</dc:date>
    </item>
    <item>
      <title>Re: To identify the continuity and loyalty of customer over the years and find maximum continuity ye</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665403#M19366</link>
      <description>&lt;P&gt;1. Sort data by customer and date (proc sort)&lt;BR /&gt;2. Create a year from your transaction date (year() function)&lt;BR /&gt;3. Use PROC SORT or FREQ to remove duplicate years&lt;BR /&gt;4. Using a data step, check if the years are continuous (DIF())&lt;BR /&gt;5. Assign codes based on results for step #4. &lt;BR /&gt;&lt;BR /&gt;This is the approach I'd use for someone who's relatively new to SAS.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/335454"&gt;@AkshayS&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;SPAN&gt;Hello Everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am looking to create a sequence variable based on two columns : Cust_name and Year.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There are different type of customers as below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer1 was with me from 2001 to 2003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer2 was with me only for 2001 and 2002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer3 was only for one year 2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer4 was with me alternate year 2003,2005,2007&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer5 2001,2002,2005,2006,2007&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to find maximum number of years I was able to provide service to my customers.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So, Output I am looking is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer1 output as 3 (as he was 2001,2002,2003)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer2 as 2 (as he was 2001,2002)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer3 as 1 (as he was only for yr 2001)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer4 as 1 (alternate yr so no continuous year)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer5 as 3 ( he was there continuously 2(2001,2002) and 3(2005,2006,2007) so I will choose max as 3).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;PFB dataset for your reference:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;data abc;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input customer_id Customer_name $ 3 - 11 transaction_date :mmddyy10. ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;format transaction_date mmddyy10.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;datalines;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 Customer1 03/31/2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 Customer1 03/31/2002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 Customer1 03/31/2003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 Customer2 03/31/2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 Customer2 03/31/2002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3 Customer3 03/31/2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 Customer4 03/31/2003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 Customer4 03/31/2005&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 Customer4 03/31/2007&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2005&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2006&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 Customer5 03/31/2007&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;proc print data=abc;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Cust_Name&lt;/TD&gt;
&lt;TD&gt;Year&lt;/TD&gt;
&lt;TD&gt;Output1_Sequence&lt;/TD&gt;
&lt;TD&gt;Final_output(max(Output1 by Cust_name))&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2002&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2002&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;2007&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2002&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2007&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Looking forward for the insights.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance!&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI-SPOILER&gt;</description>
      <pubDate>Sat, 27 Jun 2020 16:22:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665403#M19366</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-06-27T16:22:31Z</dc:date>
    </item>
    <item>
      <title>Re: To identify the continuity and loyalty of customer over the years and find maximum continuity ye</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665499#M19368</link>
      <description>&lt;P&gt;Thanks for responding, but i have follwed same steps but it is not helping as there is different behaviour of customer as shared in example.&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jun 2020 07:52:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665499#M19368</guid>
      <dc:creator>AkshayS</dc:creator>
      <dc:date>2020-06-27T07:52:31Z</dc:date>
    </item>
    <item>
      <title>Re: To identify the continuity and loyalty of customer over the years and find maximum continuity ye</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665544#M19370</link>
      <description>&lt;P&gt;How is it not helping? Which cases didn't it consider? Please show your work?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jun 2020 16:23:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665544#M19370</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-06-27T16:23:16Z</dc:date>
    </item>
    <item>
      <title>Re: To identify the continuity and loyalty of customer over the years and find maximum continuity ye</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665553#M19371</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please find the below approach taken to deal with all the types of customer behaviour in my data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data abc;&lt;BR /&gt;input customer_id Customer_name $ 3 - 11 transaction_date :mmddyy10. ;&lt;BR /&gt;format transaction_date mmddyy10.;&lt;BR /&gt;datalines;&lt;BR /&gt;1 Customer1 03/31/2001&lt;BR /&gt;1 Customer1 03/31/2002&lt;BR /&gt;1 Customer1 03/31/2003&lt;BR /&gt;2 Customer2 03/31/2001&lt;BR /&gt;2 Customer2 03/31/2002&lt;BR /&gt;3 Customer3 03/31/2001&lt;BR /&gt;4 Customer4 03/31/2003&lt;BR /&gt;4 Customer4 03/31/2005&lt;BR /&gt;4 Customer4 03/31/2007&lt;BR /&gt;5 Customer5 03/31/2001&lt;BR /&gt;5 Customer5 03/31/2002&lt;BR /&gt;5 Customer5 03/31/2005&lt;BR /&gt;5 Customer5 03/31/2006&lt;BR /&gt;5 Customer5 03/31/2007&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table t1 as&lt;BR /&gt;select Customer_name,year(transaction_date) as year&lt;BR /&gt;from abc;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table t2 as&lt;BR /&gt;select Customer_name,year&lt;BR /&gt;from t1;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data t3;&lt;BR /&gt;retain customer_name customer year lyear out;&lt;BR /&gt;set t2;&lt;BR /&gt;keep retain customer_name customer year lyear out;&lt;BR /&gt;customer=lag(customer_name);&lt;BR /&gt;lyear=lag(year);&lt;BR /&gt;out=(customer_name=customer) and (year ne (lyear+1)) ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table t4 as&lt;BR /&gt;select *,&lt;BR /&gt;case when out=0 and customer_name=customer then 1 else 0 end as sequence&lt;BR /&gt;from t3;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data t5;&lt;BR /&gt;set t4;&lt;BR /&gt;by Customer_name ;&lt;BR /&gt;retain sequence1 0 ;&lt;BR /&gt;if first.Customer_name then sequence1=1;&lt;BR /&gt;else sequence1=sequence;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data t6;&lt;BR /&gt;set t5;&lt;BR /&gt;by Customer_name ;&lt;BR /&gt;retain sequence2 0 ;&lt;BR /&gt;if first.Customer_name then sequence2=sequence1;&lt;BR /&gt;else sequence2+sequence1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table t7 as&lt;BR /&gt;select Customer_name,year,&lt;BR /&gt;case when out=1 and customer_name=customer and year&amp;gt;lyear+1&lt;BR /&gt;then 1 else sequence2 end as sequence3&lt;BR /&gt;from t6;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;proc print;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Output :&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;customer_name&lt;/TD&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;sequence3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer1&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer1&lt;/TD&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer1&lt;/TD&gt;&lt;TD&gt;2003&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer2&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer2&lt;/TD&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer3&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer4&lt;/TD&gt;&lt;TD&gt;2003&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer4&lt;/TD&gt;&lt;TD&gt;2005&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer4&lt;/TD&gt;&lt;TD&gt;2007&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2005&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2006&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2007&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The customer behaviour is that he is getting service for 2001,2002 and the he disappears for 2yrs and comes back in 2005 onwards. So the sequence creation is getting disturbed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;customer_name&lt;/TD&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;sequence3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2005&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2006&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Customer5&lt;/TD&gt;&lt;TD&gt;2007&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you help me in fixing the sequence of such customer, my issue will be solved.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your guidance. Please correct me if I am wrong at any step.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jun 2020 18:17:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665553#M19371</guid>
      <dc:creator>AkshayS</dc:creator>
      <dc:date>2020-06-27T18:17:55Z</dc:date>
    </item>
    <item>
      <title>Re: To identify the continuity and loyalty of customer over the years and find maximum continuity ye</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665554#M19372</link>
      <description>&lt;P&gt;Another approach, But facing same issue with customer type 5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data abc;&lt;BR /&gt;input customer_id Customer_name $ 3 - 11 transaction_date :mmddyy10. ;&lt;BR /&gt;format transaction_date mmddyy10.;&lt;BR /&gt;datalines;&lt;BR /&gt;1 Customer1 03/31/2001&lt;BR /&gt;1 Customer1 03/31/2002&lt;BR /&gt;1 Customer1 03/31/2003&lt;BR /&gt;2 Customer2 03/31/2001&lt;BR /&gt;2 Customer2 03/31/2002&lt;BR /&gt;3 Customer3 03/31/2001&lt;BR /&gt;4 Customer4 03/31/2003&lt;BR /&gt;4 Customer4 03/31/2005&lt;BR /&gt;4 Customer4 03/31/2007&lt;BR /&gt;5 Customer5 03/31/2001&lt;BR /&gt;5 Customer5 03/31/2002&lt;BR /&gt;5 Customer5 03/31/2005&lt;BR /&gt;5 Customer5 03/31/2006&lt;BR /&gt;5 Customer5 03/31/2007&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table t1 as&lt;BR /&gt;select Customer_name,year(transaction_date) as year&lt;BR /&gt;from abc;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table t2 as&lt;BR /&gt;select Customer_name,year&lt;BR /&gt;from t1;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data t3;&lt;BR /&gt;retain customer_name customer year lyear out;&lt;BR /&gt;set t2;&lt;BR /&gt;keep retain customer_name customer year lyear out;&lt;BR /&gt;customer=lag(customer_name);&lt;BR /&gt;lyear=lag(year);&lt;BR /&gt;out=(customer_name=customer) and (year ne (lyear+1)) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data t4;&lt;BR /&gt;set t3;&lt;BR /&gt;by Customer_name ;&lt;BR /&gt;if first.Customer_name then SeqN=1;&lt;BR /&gt;else SeqN + 1;&lt;BR /&gt;drop Customer ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;create table t5 as&lt;BR /&gt;select Customer_name,year,SeqN,out,&lt;BR /&gt;case when out=0 then SeqN else out end as sequence&lt;BR /&gt;from t4;&lt;BR /&gt;quit;&lt;BR /&gt;proc print;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jun 2020 18:21:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665554#M19372</guid>
      <dc:creator>AkshayS</dc:creator>
      <dc:date>2020-06-27T18:21:07Z</dc:date>
    </item>
    <item>
      <title>Re: To identify the continuity and loyalty of customer over the years and find maximum continuity ye</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665585#M19373</link>
      <description>&lt;P&gt;Below one way that should work for you.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input customer_id Customer_name $ 3 - 11 transaction_date :mmddyy10.;
  format transaction_date mmddyy10.;
  datalines;
1 Customer1 03/31/2001
1 Customer1 03/31/2002
1 Customer1 05/31/2002
1 Customer1 03/31/2003
2 Customer2 03/31/2001
2 Customer2 03/31/2002
3 Customer3 03/31/2001
4 Customer4 03/31/2003
4 Customer4 03/31/2005
4 Customer4 03/31/2007
5 Customer5 03/31/2001
5 Customer5 03/31/2002
5 Customer5 03/31/2005
5 Customer5 03/31/2006
5 Customer5 03/31/2007
;

data inter(keep=customer_id max_cnt);
  set have;
  by customer_id transaction_date;
  retain max_cnt;
  _lag_dt=lag(transaction_date);

  if first.customer_id or intck('year',_lag_dt,transaction_date) &amp;gt; 1 then 
    do;
      _cnt=1;
      max_cnt=1;
    end;
  else 
  if intck('year',_lag_dt,transaction_date) = 1 then
    do;
      _cnt+1;
      max_cnt=max(_cnt,max_cnt);
    end;

  if last.customer_id then output;
run;

data want;
  length seq_nr 8;
  merge have inter;
  by customer_id;
  if first.customer_id then seq_nr=1;
  else seq_nr+1;
run;

proc print data=want;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Patrick_0-1593305300097.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/46738i2375565B118AA5C6/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Patrick_0-1593305300097.png" alt="Patrick_0-1593305300097.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 28 Jun 2020 00:50:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665585#M19373</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2020-06-28T00:50:08Z</dc:date>
    </item>
    <item>
      <title>Re: To identify the continuity and loyalty of customer over the years and find maximum continuity ye</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665601#M19374</link>
      <description>&lt;P&gt;Thank you so much Patrick! It is working for all different set of combinations, which I tried more for testing.&lt;/P&gt;</description>
      <pubDate>Sun, 28 Jun 2020 03:29:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/To-identify-the-continuity-and-loyalty-of-customer-over-the/m-p/665601#M19374</guid>
      <dc:creator>AkshayS</dc:creator>
      <dc:date>2020-06-28T03:29:09Z</dc:date>
    </item>
  </channel>
</rss>

