small_data = {'item_number': ['KIN005', 'KIN005', 'KIN005', 'KIN005',
    'KIN005', 'A789B', 'A789B', 'A789B', 'G123H', 'G123H', 'G123H'],
    'Comp_ID': ['1395', '1395', '1395', '1395', '1395', '7787', '7787',
    '7787', '1395', '1395', '1395'], 'date': ['2016-11-22', '2016-11-21',
    '2016-11-20', '2016-11-14', '2016-11-13', '2016-11-22', '2016-11-21',
    '2016-11-12', '2016-11-22', '2016-11-21', '2016-11-08']}
small_df = pd.DataFrame(data=small_data)
start_date = datetime.date(2016, 11, 22)
groups = small_df.groupby(['Comp_ID', 'item_number']).date
groups.apply(lambda x: count_consec_dates(x, start_date))
Pandas подсчитывает последовательные наблюдения даты внутри объекта groupby