Define labels and horizons
Decide what ‘risk’ means (e.g. cost overrun > X within 90 days) and label historical projects consistently before modelling.
Predict project risk. Assess predicted risk levels.
Project-risk prediction frames project outcomes (delays, overruns, failures) as a supervised classification or regression problem. Useful error modes include label noise from subjective outcome definitions, missing event timelines, and covariate shift when process or reporting changes occur.
Learning concept · Not a validated service
Project-risk prediction frames project outcomes (delays, overruns, failures) as a supervised classification or regression problem. Useful error modes include label noise from subjective outcome definitions, missing event timelines, and covariate shift when process or reporting changes occur.
A proposed application: surface high-risk active projects to project managers and the PMO so a human reviewer can prioritise audits or interventions. Any deployment must keep a human decision-maker in the loop and avoid automated project termination.
Decide what ‘risk’ means (e.g. cost overrun > X within 90 days) and label historical projects consistently before modelling.
Assemble timelines, milestones, resource allocations and ticketing signals, impute or encode missing values, and keep time order for validation.
Fit a reproducible pipeline (scaling, classifier) with cross-validation and probability calibration; report business-aligned metrics such as AUC and cost-weighted recall.
Expose scores and key feature attributions on a dashboard, include a feedback mechanism for corrections and monitor drift in production.
The supplied starter generates synthetic classification data with sklearn.make_classification, builds a Pipeline with StandardScaler and RandomForestClassifier, fits on a train split and prints a sklearn classification_report. It does not use CRM/ERP/project data, nor implement a dashboard, nor calibrate probabilities or cost-aware decision rules.
model = Pipeline(
steps=[
("scale", StandardScaler()),
("classifier", RandomForestClassifier(n_estimators=250, random_state=RANDOM_STATE)),
]
)
model.fit(X_train, y_train)The code uses simulated features from make_classification rather than project-management or CRM data, so reported performance does not reflect real project-risk prediction. There is no feature mapping to project entities, no probability calibration, no cost-sensitive evaluation, and no API or dashboard components.
Proposed extension: replace the synthetic data with historical project records (milestones, budgets, ticket counts), calibrate predicted probabilities, and surface risk scores and top contributors in a simple dashboard with human review controls.
This is a potential application pathway, not a delivered product. The supplied starter does not implement this service or validate it with real users.
Networkers Home runs this topic inside its AI Engineer Course, with placement support and hands-on labs.