I'm quite new in this field. I hope my question makes sense. I have a database that stores information for around 10.000.000 projects. Each project has several features (let's call them X) like number of lines of code, number of people, etc. In addition, there are some extra features (let's call them Y) that I cannot calculate directly on the 10.000.000 projects due to time and storage limitations. Therefore, I would like to take a representative sample of these projects and perform a qualitative analysis to calculate the features Y. The frequency distribution for each of the X features seems to follow an exponential distribution (I run the one-sample Kolmogorov-Smirnov test and I got a p-value < 0.001). In addition, I generated some random samples (with sizes of 100, 500, 3000 projects) to calculate the features Y, and even those features seem to follow a negative exponential distribution.
I would like to know if there is a formula to get the minimum sample size to say that my sample is representative enough. Can I use the concept of confidence level (95%) and interval of confidence (1.96) to calculate the minimum sample size even if my distribution is not normal?