Attandance Tracking from Microsoft Teams Report
Summary
Automated Microsoft Teams attendance tracking by normalizing participant names and applying fuzzy matching to accurately sync attendance data with an official database via a Streamlit web application.
Problem
Attendance tracking from Microsoft Teams is often done manually by matching attendance reports with a participant database.
Key challenges:
- Inconsistent participant names
- Abbreviated names
- First nameβlast name only
- Extra labels such as
(Unverified),(External),(guest) - Variations in capitalization, punctuation, and formatting
- Large scale usage
- Applied across 10+ classes
- Multiple sessions with dozens of participants
- Manual process is time-consuming
- High risk of human error
- Difficult to audit and maintain consistency
As a result, attendance tracking becomes an operational bottleneck that consumes significant time and effort.
Solution
Built an Attendance Synchronization & Matching System using Python that:
- Ingests Microsoft Teams attendance reports
- Performs name preprocessing and normalization
- Matches participants against an official database using fuzzy string matching
- Automatically generates attendance summaries (present/absent and statistics)
Workflow:
- Upload Participant Database
- Upload Microsoft Teams Attendance Report
- The system automatically:
- Cleans and standardizes participant names
- Applies fuzzy matching with a configurable threshold
- Determines attendance status
- Aggregates attendance data across sessions
- Outputs are ready to use with no manual intervention
The solution is deployed as a Streamlit web application, making it accessible to non-technical users.
Impact
- β±οΈ Significant time savings
- Manual work reduced from hours to seconds
- π Reduced human error
- Consistent and standardized name matching
- π Clean and structured attendance data
- Easier analysis, reporting, and auditing
- π Scalable
- Can be reused across multiple classes without workflow changes
- πΌ Business-ready
- Suitable for Edu-Tech, training programs, and stakeholder reporting
Tech Stack
- Python
- Pandas β data processing and aggregation
- RapidFuzz β fuzzy string matching
- Regex (re) β text preprocessing and normalization
- Streamlit β interactive web application
- Microsoft Teams Attendance Report β data source
Extras (Optional)
- Configurable fuzzy matching threshold to adapt to data quality
- Modular code structure for easy extension
- Future enhancements:
- CSV / Excel export
- Analytics dashboard
- Direct database or LMS integration
- Automated attendance reporting