Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📞 DPDzero Data Ops Assignment

This project simulates a real-world DataOps pipeline for processing daily loan collection call data and generating agent performance summaries.


🎯 Objective

Build a simplified end-to-end pipeline that:

  • Ingests raw daily CSV dumps (call logs, agent roster, login summary)
  • Validates and merges the data
  • Computes metrics like connect rate, presence, and call durations
  • Outputs a CSV report and Slack-style summary message
  • Optional: UI to upload files and interact with the report

🌐 Live App

👉 Open Streamlit App


🗂️ Folder Structure

dpdzero_assignment/
├── data/ # Input CSV files
├── output/ # Final report gets saved here
├── src/ # Modular pipeline scripts
│ ├── ingest.py
│ ├── validate.py
│ ├── merge.py
│ ├── features.py
│ ├── report.py
│ └── logger.py
├── main.py # CLI entry point
├── streamlit_app.py # Streamlit UI app
├── requirements.txt # Python dependencies
├── .gitignore
└── README.md

🚀 How to Run

  1. Install Dependencies:
pip install -r requirements.txt
  1. Run the pipeline with default files and date:
python main.py --date 2025-04-28
  1. Optional CLI arguments:
--call_logs        Path to call_logs.csv
--agent_roster     Path to agent_roster.csv
--disposition      Path to disposition_summary.csv
--date             Date to generate summary for (YYYY-MM-DD)
  1. StreamLit UI:
streamlit run streamlit_app.py

Upload your files, pick a date, and generate summary.


🧠 Metrics Computed (Per Agent Per Date)

  • 📞 Total Calls Made
  • 🔁 Unique Loans Contacted
  • ✅ Connect Rate (% completed calls)
  • ⏱️ Average Call Duration (in minutes)
  • 👤 Presence (based on login time)

📦 Output

  • output/agent_performance_summary.csv
  • Slack-style summary printed to terminal or UI:
📊 Agent Summary for 2025-04-28
🏆 Top Performer: Ravi Sharma (98% connect rate)
👥 Total Active Agents: 45
⏱️ Average Duration: 6.5 min

✨ Features

✅ Modular code with reusable pipeline functions ✅ CLI and Web UI options ✅ Logging with timestamps ✅ Upload, run, and download from browser ✅ Graceful handling of missing data


🧑‍💻 Author

This project was developed as part of a hiring assignment by DPDzero.

🔧 Built With

  • Python
  • Pandas
  • Streamlit
  • argparse, logging

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages