This document discusses approaches to processing data in Spark for a credit card rewards use case at Capital One. It describes filtering data at each stage versus enriching the data. Enriching avoids issues with filtering like difficulty debugging and back tracing data by keeping enriched data from each stage together rather than filtering it out. Enriching provides more insight into why data drops out at each stage and is now used successfully in Capital One's production Spark job that processes millions of transactions daily to award customer rewards.