Jack,
We currently keep 6 days. Our goal is to keep ourselves under 29000 members on our production server in each instance. That way we have time to react if someone accidently submits a job such as statements, with no data selection we can react before we generate 32K members.
We have found that doing a DSPFD *MBRLIST locks the file for a significant amount of time (15 min), causing jobs to fail. Therefore we process the journal over the PRINTQUEUE for entries MD & RD, and write a record to a file. We then run our purge over this file, this also allows us to run the purge multiple times a day, we actually run it twice a day.
HTH
Tom