с использованием подзапроса - выбирает 3-месячного клиента и клиента текущего месяца, затем завершает соединение с 3-месячным клиентом с текущим месяцем, если оба клиента совпадают, то это старый клиент, в противном случае новый
with t1 as
( select s.* from from shipments s
left join shipment_stops ss on ss.customer_id = s.customer_id)
where date_trunc('month',customer_first_date)<= date_trunc('month',CURRENT_DATE - INTERVAL '3 months')
) , t2 as
(
select s.* from from shipments s
left join shipment_stops ss on ss.customer_id = s.customer_id)
where date_trunc('month',customer_first_date)>= date_trunc('month',now())
) select case when t2.customer_id=t1.customer_id then 'old customer'
else 'new customer who comes this month' end customer_status
left join t1
on t2.customer_id =t1.customer_id