Data processing and analysis