Author: Ernesto

  • Power BI Dashboard: Cybersecurity Operations Monitoring

    Power BI Dashboard: Cybersecurity Operations Monitoring

    Project Overview

    A comprehensive 3-page Power BI dashboard providing real-time visibility into cybersecurity operations, vulnerability management, and compliance tracking across 500+ enterprise systems.

    Built for: Executive decision-making and security operations prioritization
    Timeline: October – November 2025
    Tools: Power BI Pro, DAX, Power Query, SQL

    πŸ”— Explore Interactive Dashboard

    πŸ’» View Code on GitHub

    The Challenge

    Security teams at enterprise organizations struggle with:

    ❌ Visibility gaps – 500+ vulnerabilities scattered across multiple systems
    ❌ Priority confusion – Which issues need immediate attention?
    ❌ Compliance complexity – Tracking SOC 2, ISO 27001, NIST requirements
    ❌ Manual reporting – Hours spent preparing status updates for executives

    The question leadership asks: “What’s critical RIGHT NOW?”

    Most teams can’t answer quickly.

    My Approach

    I designed a 3-page dashboard that tells a complete operational story:

    1. Executive Summary – 30-second status scan for C-suite
    2. Vulnerability Management – Detailed analysis for security teams
    3. Compliance Tracking – Framework monitoring for audit preparation

    Each page serves a specific audience with the exact insights they need.

    Page 1: Executive Summary

    Purpose: High-level operational status for C-suite and security leadership

    Key Metrics Tracked:

    πŸ“Š Current Status

    • 90 Open vulnerabilities
    • 85 In-Progress
    • 325 Closed (78% closure rate – exceeds industry average of 65%)

    ⏱️ Performance

    • 20-day average time to remediate (meets SLA target of <25 days)
    • 31 Critical vulnerabilities requiring immediate attention

    🎯 Risk Profile

    • Severity distribution: 40% Medium, 30% High, 15% Critical, 15% Low
    • Applications have highest count: 194 total (26 Critical)

    Key Insight:

    The stacked bar chart reveals Applications have 26 Critical vulnerabilities – immediately directing security teams to prioritize application patching over other system types.

    Interactive features: Filter by Location and Remediation Owner for drill-down analysis.

    Page 2: Vulnerability Management

    Purpose: Operational intelligence for security teams to identify trends, aging vulnerabilities, and prioritize remediation work

    What This Page Reveals:

    πŸ“ˆ Trend Analysis

    • Q1 2024: 195 vulnerabilities discovered (annual audit spike)
    • Q3 2025: Discovery and closure rates converging (improvement)
    • Clear quarterly patterns guide resource planning

    ⏰ Aging Analysis

    • 225 vulnerabilities aged 90+ days (backlog requiring escalation)
    • Stacked by severity: Most are Medium priority, but Critical items exist
    • Visual immediately shows if urgent issues are aging too long

    🎯 At-Risk Systems

    SystemCriticalHighAvg Days Open
    CRM57415
    Patch Management57348
    Payment Gateway510303

    Key Insight:

    CRM system has 5 Critical vulnerabilities with 415-day average age – the conditional formatting (dark blue highlighting) draws immediate attention to this urgent remediation priority.

    Technical note: The aging chart uses a stacked column design to show severity composition within each time bucket – revealing that not all aged vulnerabilities are equal priority.

    Page 3: Compliance Tracking

    Purpose: Framework compliance monitoring for audit committees and risk management

    Compliance Status:

    πŸ“Š Overall Score: 78%

    • Target: 80% (currently 2.34% below)
    • Q3 2025 peak: 95%
    • Q4 2025 decline: 78%

    πŸ“‰ What Happened in Q4?

    The trend line tells the story: Compliance peaked at 95% in Q3, then dropped to 78% in Q4. This reflects a comprehensive year-end audit that identified previously undetected gaps.

    Framework Breakdown:

    SOC 2 Type II: 77 findings (highest count)

    • 6 Critical
    • 14 High
    • 38 Medium
    • 19 Low

    ISO 27001: 74 findings
    NIST SP 800-53: 24 findings
    PCI DSS: 7 findings

    Business Unit Performance:

    • Operations: 79% (lowest – needs focused support)
    • HR: 81%
    • IT: 83%
    • Finance: 86%
    • Security: 89%
    • Other: 100%

    Key Insight:

    The matrix visual groups findings by framework and severity, revealing that SOC 2 Type II compliance requires immediate attention with 77 total findings concentrated in monitoring and malicious software controls.

    Technical Highlights

    Data Architecture

    Data Model: Star schema design

    • Fact Table: Vulnerabilities (500 rows)
    • Dimension Tables: Systems (30 rows), Compliance (200 rows)
    • Date Table: Custom DAX-generated calendar (2024-2025)

    Relationships: One-to-many from Systems β†’ Vulnerabilities

    Advanced Power BI Features

    βœ… Custom DAX Measures

    MTTR = 
    CALCULATE(
        AVERAGE(Vulnerabilities[Days_To_Remediate]),
        Vulnerabilities[Status] = "Closed"
    )
    
    Critical Count = 
    CALCULATE(
        COUNTROWS(Vulnerabilities),
        Vulnerabilities[Severity] = "Critical"
    )

    βœ… Conditional Formatting
    Gradient scales automatically highlight high-priority items using color intensity

    βœ… Cross-Page Filtering
    Slicers enable multi-dimensional analysis across all visualizations

    βœ… Matrix Visuals
    Hierarchical grouping by framework reveals compliance patterns

    βœ… Time Intelligence
    Trend analysis with quarter-over-quarter comparisons

    Design Principles Applied

    Color Strategy:

    • Blue gradient palette for professional, corporate appearance
    • Darker shades indicate higher priority/urgency
    • Minimal accent colors (orange for targets only)
    • Consistent across all pages

    Information Hierarchy:

    • Page 1: Summary metrics (executive 30-second scan)
    • Page 2: Operational details (daily security team use)
    • Page 3: Compliance monitoring (audit preparation)

    Real-World Applications

    This dashboard structure is used in:

    🏒 Security Operations Centers (SOC)
    Real-time monitoring and incident prioritization

    πŸ”’ Risk Management
    Executive reporting on security posture and compliance status

    πŸ“‹ Audit Preparation
    Framework compliance tracking for SOC 2, ISO 27001, NIST assessments

    πŸ‘” Board Presentations
    C-suite visibility into cybersecurity operations

    Industries:

    Utilities β€’ Financial Services β€’ Healthcare β€’ Government β€’ Technology

    Based On:

    This structure mirrors production dashboards I worked with in the Energy sector, where I tracked $50M+ IT operations and cybersecurity compliance for utility infrastructure.

    What This Project Demonstrates

    Technical Skills

    βœ… Power BI Pro (advanced visualizations, DAX, Power Query)
    βœ… Data modeling (star schema, relationships, calculated columns)
    βœ… Business intelligence (KPIs, trend analysis, conditional formatting)
    βœ… SQL (data extraction and transformation)

    Business Acumen

    βœ… Cybersecurity domain knowledge
    βœ… Risk-based prioritization thinking
    βœ… Executive communication (distilling technical data for leadership)
    βœ… Compliance framework understanding (SOC 2, ISO 27001, NIST)

    Soft Skills

    βœ… Translating business requirements into technical solutions
    βœ… Information design and visual communication
    βœ… Stakeholder-focused reporting

    Portfolio Quality

    This isn’t a tutorial project. It’s production-ready work that could be deployed in enterprise environments today.

    Explore the Project

    πŸ”— Interactive Dashboard

    Launch Dashboard
    Try the filters, explore the data, see how interactive visualizations guide decision-making.

    πŸ’» GitHub Repository

    View Code & Documentation
    Complete technical documentation, DAX measures, data model structure, and design decisions.

    πŸ“Ί Video Walkthrough

    Coming This Week
    5-minute guided tour explaining the business problem, technical approach, and key insights.


    Let’s Connect

    Interested in discussing data analytics, Power BI best practices, or cybersecurity operations?

    πŸ“§ Email: hello@ernestogonzales.com
    πŸ’Ό LinkedIn: linkedin.com/in/eg-data
    πŸ’» GitHub: github.com/ernestog27
    🌐 More Projects: Browse Portfolio


    Ernesto Gonzales, MSDA
    Data Analyst | San Diego, CA
    Master’s Degree in Data Analytics, Western Governors University

    Specializing in Power BI, SQL, Python, and transforming complex operations into executive insights.

  • Feature Engineering for Machine Learning | Logistic Regression, Decision Tree & Random Forest

    Feature Engineering for Machine Learning | Logistic Regression, Decision Tree & Random Forest

    Introduction

    For Day 4, I worked on feature engineering: creating new features that help models perform better.

    I also compared different model families: Logistic Regression, Decision Tree, and Random Forest.

    Why It Matters

    Feature engineering is one of the most important skills in ML.

    The quality of your features often matters more than the choice of algorithm.

    Approach

    • Dataset: Titanic
    • New features: family_size, is_child, fare_per_person
    • Models: Logistic Regression, Decision Tree, Random Forest
    • Validation: Stratified 5-fold CV
    • Evaluation: Accuracy, F1, ROC-AUC
    • Visualization: ROC overlay of all models

    Results

    Random Forest outperformed the simpler models, and the engineered features gave all models a boost. The ROC overlay made the performance gap clear.

    Takeaways

    • Small, thoughtful features can have a big impact.
    • Tree-based models are flexible and benefit from engineered features.
    • Comparing models side by side highlights trade-offs.

    Artifacts

    Video walkthrough

  • Cross-Validation and ROC Curves on the Titanic Dataset

    Cross-Validation and ROC Curves on the Titanic Dataset

    Introduction

    Day 3 was about going beyond a single train/test split.

    I added cross-validation and looked at ROC curves to better evaluate my model.

    Why It Matters

    One train/test split can give you a lucky (or unlucky) result.

    Cross-validation makes evaluation more robust. ROC curves show how your model performs at all thresholds, not just the default 0.5.

    Approach

    • Dataset: Titanic (expanded features)
    • Features: sex, age, fare, class, embarked, sibsp, parch, alone
    • Model: Logistic Regression
    • Validation: Stratified 5-fold cross-validation
    • Evaluation: Accuracy, F1, ROC-AUC
    • Visualization: ROC curve

    Results

    Cross-validation gave a more stable estimate of performance. The ROC curve showed the model does a decent job separating survivors from non-survivors, even if it’s not perfect.

    Takeaways

    • Always validate with multiple folds, it’s more reliable.
    • ROC-AUC is a better measure than just accuracy for classification.
    • Adding more features can improve a model, but only if they add real signal.

    Artifacts

    Video walkthrough

  • Titanic Classification with Logistic Regression (Accuracy, Precision, Recall, F1)

    Titanic Classification with Logistic Regression (Accuracy, Precision, Recall, F1)

    Introduction

    For Day 2, I switched to classification with the Titanic dataset.

    This dataset is the β€œHello World” of ML classification: predicting survival based on passenger features.

    Why It Matters

    Binary classification problems are everywhere: fraud vs not fraud, spam vs not spam, churn vs no churn. Titanic survival is just a teaching ground.

    Approach

    • Dataset: Titanic (Seaborn)
    • Features: sex, age, fare, class, embarked
    • Model: Logistic Regression
    • Evaluation: Accuracy, Precision, Recall, F1, ROC-AUC
    • Visualization: Confusion Matrix

    Results

    The model correctly picked up obvious signals like sex (women had higher survival) and class (first class had better survival).

    Takeaways

    • Accuracy isn’t the only metric: precision and recall tell a deeper story.
    • Logistic Regression is simple but powerful for binary problems.
    • Visualizations like confusion matrices make results tangible.

    Artifacts

    Video walkthrough

  • Predicting Housing Prices with Linear Regression in Python

    Predicting Housing Prices with Linear Regression in Python

    Introduction

    This was the very first step in my ML journey.

    I started simple: predicting California housing prices with Linear Regression.

    The goal wasn’t to get state-of-the-art results, but to get comfortable with the workflow: loading data, cleaning it, training a model, and evaluating it properly.

    Why It Matters

    Regression is one of the building blocks of machine learning.

    Almost everything, from sales forecasts to predicting energy usage, starts with this foundation.

    Approach

    • Dataset: California housing prices
    • Features: median income, house age, rooms, population, etc.
    • Model: Linear Regression (baseline) and Ridge Regression (regularized version)
    • Evaluation: Mean Squared Error (MSE), RΒ²

    Results

    Both models gave decent predictions, but Ridge handled multicollinearity a bit better. The main win here was learning the full pipeline end-to-end.

    Takeaways

    • Always start with a baseline, even a simple model can give insights.
    • Regularization (like Ridge) helps stabilize models when features overlap.
    • Visualization of residuals is just as important as raw metrics.

    Artifacts

    Video walkthrough