cypherdtraitor
Parties with a low trust score have a vested interest in undermining the credibility of the platform.
Users who had an experience contrary to what the trust score would indicate may make paranoid accusations of collusion.
Then, there is the actual potential for collusion. The site has to make money, and that is going to come from the users or from the professionals on your site. Users simply won't pay, and professionals will only pay of they get special treatment.
Angie's list provides a great case study into this problem. Angie's list has a free and a premium (gold) tier for users. I don't know how they charge businesses, but I assume businesses can pay for favorable placement.
Yelp is another example. It is much more popular (being free for users), but is also subject to a lot more suspicion and accusations of collusion, or even extortion, from users and businesses alike.
1. Rip all CSV data into SQLite or another tabular database
2. Do all data manipulations by shifting information between the database and memory. Ideally you pull entire columns at a time. 95% of your runtime is going to be spent pulling and pushing data, so minimize the number of calls however possible.
3. Export the database to CSV and ship it back to the customer.
If you use a particular language a lot, it is worth it to write a text scanner that uses low level APIs to read large CSV files quickly. I usually pipe a million characters at a time, submit most of them to the database, the duct tape the last few characters to the next million that I pull.