Maharshi Rohith Donthi · MS Data Science · Rutgers University

I built a model.
Then I built a baseline.
The baseline won.

Data Scientist specializing in credit risk modeling and energy market analytics. I build production-grade pipelines that drive measurable business outcomes, from better underwriting decisions to sharper generation forecasts, benchmarked honestly against the simplest possible alternative.

Rohith Donthi
photo.jpg
0.87
AUC ROC · Credit model
KS 0.42 · Holdout validated
50
States modeled · EIA thesis
1990-2023 · All fuel types
$180K
Annualized savings
50K+ account portfolio
22%
RMSE reduction · LGD model
Gradient boosting · Out-of-time

01 / Research finding

A persistence baseline outperformed the VAR model.
Here is why that is the correct result.

My MS capstone at Rutgers built a compositional forecasting pipeline for U.S. state-level electricity generation mix across 50 states (EIA data, 1990-2023). I applied CLR transformation to handle the compositional constraint, then fit per-state VAR models with AIC-based lag selection and rolling-window validation.

Then I ran the simplest possible baseline: next year's mix equals this year's mix. The baseline won across every fuel category.

Why this is correct, not a failure: Annual generation shares change slowly. With roughly 30 observations per state, the VAR overfits. To beat persistence, you need exogenous covariates such as fuel price shocks, Renewable Portfolio Standards, and carbon regulations. That is what I would build next.
Model Performance · 2023 Forecast MAE in percentage points
Category VAR Model Baseline Delta
Natural Gas 19.3 pp 3.2 pp 83% lower
Other Fossil 21.9 pp 4.9 pp 78% lower
Nuclear & Renewable 42.0 pp 9.8 pp 77% lower
Lower MAE is better · Baseline wins in all categories

02 / Case studies

Two pipelines built end to end.

Credit Risk · Production Pipeline
Underwriting Decisioning System
0.87
AUC ROC

Calibrated PD model mapped to a PDO/ODDS scorecard, producing APPROVE / REVIEW / DECLINE decisions with reason codes, plus PSI drift monitoring with automated retraining. Built on 1,200 synthetic Metro 2 bureau records with real bureau features.

Lower scoreHigher score
DECLINE
REVIEW
APPROVE
Decision bands alongside every score. Illustrative proportions.
AUC 0.87 · KS 0.42·Time-based validation· Sigmoid calibration·PDO scorecard· Reason codes·PSI drift monitoring
Energy Markets · MS Capstone Thesis
Energy Market Forecasting & Policy Analysis
50
States

Compositional time-series forecasting of U.S. electricity generation mix across all 50 states (EIA 1990-2023). CLR transformation, per-state VAR with AIC/BIC/HQIC lag selection, rolling-window validation, and honest benchmark against persistence baseline. See Research section above for full findings.

CLR transformation·Per-state VAR· ADF stationarity testing·AIC / BIC / HQIC· Rolling-window validation·EIA 1990-2023· Python · statsmodels · pandas
Interactive: 33 years of U.S. energy generation data
Click any state · Year slider 1990-2023 · 50 states · EIA generation mix
Explore the data →

All projects on GitHub →

03 / About

Who I am and what I care about.

I'm an MS Data Science graduate from Rutgers (Statistics Track, December 2025) based in Jersey City, NJ. My work sits at the intersection of quantitative modeling and domain expertise, specifically energy markets and credit risk, two fields where model evaluation matters as much as model building.

The thesis result I'm most proud of isn't the CLR methodology or the per-state VAR. It's the table that shows a persistence baseline beating the model in every category, with a clear explanation of why that's the correct finding, not a failure. Knowing when and why your model is wrong is the job.

Energy analytics sits at the intersection of physical systems, policy, and data, which is why it's harder and more interesting than most DS problems. Getting generation forecasts right requires both statistical rigor and genuine domain context.

Location
Jersey City, NJ
Education
MS Data Science (Statistics Track)
Rutgers University · Dec 2025
Currently
Open to full-time roles
Languages
English · Telugu (native) · Hindi · French

04 / Background

Where the experience comes from.

Oct - Dec 2025
Data Science Intern · Synergy Resources LLC
End-to-end credit underwriting pipeline across 50,000+ accounts. Logistic regression default model (AUC 0.87) and gradient boosting loss model (22% RMSE reduction). PSI drift detection, governance documentation, dashboards for 20+ loan officers. $180K annualized savings.
Jan 2024 - Dec 2025
Statistics Grader & Mentor · Rutgers University
Evaluated 200+ assignments across Regression Methods, Business Statistics, and Python Programming. Python automation reducing evaluation time by 30%. Mentored 15+ students on statistical reasoning.
May - Jul 2022
Data Analyst Intern · Jaaji Technologies
Random Forest and XGBoost models predicting Flash Point (97% accuracy). Automated Power BI dashboards for quality tracking. 15% efficiency improvement, $60K in savings.
Certifications: Bloomberg Market Concepts (BMC) · Financial Statistics & Risk Management (FSRM)

05 / Skills

The toolbox.

Programming

PythonSQLRJava

ML & Modeling

scikit-learnXGBoostLightGBMTensorFlowstatsmodelspandasNumPy

Analytics & BI

Power BITableauExcelMatplotlibSeaborn

Platforms

AWS S3/EC2/LambdaDockerGitStreamlitLinux

Statistical Methods

RegressionTime SeriesCompositional DataA/B TestingHypothesis Testing

Domain

Credit Risk (PD/LGD)Scorecard DevEnergy MarketsModel MonitoringPSI / Drift Detection
Code sample: PDO scorecard mapping
# Calibrated P(good) to interpretable scorecard score
# PDO=20 pts to double odds | SCORE0=600 at ODDS0=50
import numpy as np

def prob_to_score(p_good, score0=600, odds0=50, pdo=20):
    odds   = np.array(p_good) / (1 - np.array(p_good) + 1e-9)
    factor = pdo / np.log(2)
    offset = score0 - factor * np.log(odds0)
    return np.round(offset + factor * np.log(np.maximum(odds, 0.001))).astype(int)

# P(good)=0.09  score 421  DECLINE
# P(good)=0.86  score 650  APPROVE

06 / Interactive demo

Try the scorecard model.

The same PDO/ODDS logic from the Synergy pipeline, running directly in the browser. Adjust inputs and watch the score and decision update in real time.

Credit Underwriting Scorecard · Live Model
680
300850
35%
0%100%
0
020
Scorecard Score
647
PDO=20 · Base 600 · Odds 50
APPROVE
P(default): 8.1%
Reason codes
How it works: Inputs feed a logistic function producing P(default). PDO/ODDS scaling maps P(good) to an interpretable scorecard. Thresholds: <500 DECLINE · 500-620 REVIEW · >620 APPROVE. Full pipeline on Streamlit →

07 / Contact

Open to Data Scientist,
Analyst, and ML Engineer roles.

Particularly interested in energy analytics and credit risk, anywhere that honest model evaluation is valued as much as the model itself.

Phone 908-549-7158
Location Jersey City, NJ
Work Authorization F-1 OPT · No Sponsorship Required
RD
Ask Rohith
About my background
Hi! Ask me about my energy analytics or credit risk background, projects, tools, or availability.