How can this code for applying filters to data by date and size be improved?
The comments seem redundant, I'm assuming they're just for this review, if not, I would remove them.  The basically just duplicate what the code says.

Your function names seem misleading.  filterBySize seems to be filtering by data usage.  filterByDate seems to be filtering by the day of the week.  It would be better if they said what they did.

Your filtration functions contain two branches, both of which return.  Generally you  would only wrap the if side.  Everything that doesn't trigger the if would be the else... 

CustomerData customerData = new CustomerData(Customer);
if (customerData.getUsage() &gt; USAGE_THRESHOLD) {
    return true;
}
// The else is implicit... so just noise
return false;


For me, there's an awful lot of logging across these methods.  Maybe that's what's required by your processes, but it seems excessive.  We don't have the context for how the code is going to be called, however I would expect that 'USAGE_THRESHOLD' is the same for every invocation, do you really need to log it for each custom to say if they are above/below it?  The current day of the week is the same for each invocation, again do you really need to output it for every customer that's selected?   Each of your filters logs the specific reason that the customer has been rejected  do you need to log the generic message at the top level saying they are being skipped.  If you're looking for reuse, then maybe your filterByDate method shouldn't mention the import, that way it could be reused to filter other things (export perhaps) in the future...

As an aside, I'm not sure about this:

CustomerData customerData = new CustomerData(Customer);


It makes me wonder what the constructor for CustomerData is doing... If the information needed for the filtration isn't in the Customer, then is it reading that extra data in the the constructor for CustomerData?  That seems wrong...

Another small issue is naming.... variables should start with lower case in java.... CustomerUnit Customer should be CustomerUnit customer, you can see it's confusing the code preview...

It would also be interesting to see how invokeRequestByCustomer is being called... It looks a lot like it could fit into a stream something like:

allCustomers.stream()
    .filter(CustomerFilters::byUsage)
    .filter(CustomerFilters::byDay)
    .foreach(c-&gt;invoke(c));