@LipChean_Soh is right - check out that link that was shared. You may see up to 90% performance improvment and size reduction depending on how big your transaction file is.
Here's an example for you using your data.
First, create your list but do not include date in your uniqueness.
Next, create your transaction module. Notice that time is dimensionalized as well as the customer and size. This is much more efficient than using text. Turn summary off since you don't need that in a transaction module. Set time scale to day. As @LipChean_Soh has mentioned you do not want to make date a text field. Very efficient this way and you avoid the 500 Byte overhead for every list item you create.
Next, Load your first transaction file. here's our data from 12/21/2019.
Import into the correct line items...
Data is loaded successfully without errors or warnings.
Finally, we load 12/22/2019 transactions. Notice that the data updates and does not create an additional two rows.
That is because our transaction list only allows for two unique rows. Anaplan will update the record instead of insert.
Is size column in you data is a definitive list ? i.e a product can only be of certain sizes ? if it is then create 2 lists customer and size and load data into a module dimentionlaised by customer ×size × time(day) with quantity as line item .
else concatenate customer and size as one list as suggested above.