Estimate the size of a file.
A data file's size is record count times record width, but two adjustments dominate in practice. Format overhead — delimiters, quoting, key names in JSON, index structures in a database — commonly adds ten to thirty percent. Compression then removes a large fraction of that, and for repetitive structured text a sixty to eighty percent saving is routine because the same field names recur on every row.
Uncompressed size
Raw bytes = records x bytes per record x (1 + overhead fraction)
After compression
Final bytes = raw bytes x (1 - compression saving)
Because every record repeats the same field names, which is exactly the redundancy dictionary compressors exploit. Eighty percent savings on verbose JSON are common; already-compact binary formats compress far less.
Export a thousand representative rows and divide the file size by a thousand. Estimating from a schema tends to miss variable-length text fields, which usually dominate.