Customer Pulse 360 · Hackathon

Hackathon challenge 4 · Advanced · Cloud & AI Platforms

Customer Intelligence Engine

Live Customer 360, behavioural segments and early churn warnings.

“You find out a customer left after they've already left. Build the AI that warns you 3 months early.”

Challenge card
Build
26 Oct – 6 Nov 2026
Video
5–10 minutes
Scenario
Mortgage Renewal Early Warning
Status
Proposal · not built

Proposed warning: about 90 days before a fixed-rate deal ends.

Illustrative

Scroll sideways to see the whole figure.

Today versus with the engine Today, portal activity, servicing contacts and mortgage payments sit in separate systems. The lender finds the loss after the customer leaves. The proposed engine combines these records and aims to warn about external refinancing 90 days before the fixed-rate deal ends. TODAY Portal activity Servicing Payments Signals sit in separate systems Loss found after the customer left WITH THE ENGINE Customer 360 + ML segments and churn score About 90 days to review and act Proposed target, tested against real departure dates Warning with drivers 90 days before fixed-rate deal end Fixed-rate deal end time
Here, deal end means the end of the fixed interest-rate period, not repayment of the whole mortgage. Churn means confirmed refinancing with another lender. The 90-day warning is a proposed target, not a measured result. The team must test it against actual refinancing dates.
Why this form

A time line shows the gap between finding the loss and having time to act. Trade-off: it hides the system design. Each blueprint page shows the architecture.

What the challenge asks for

Four requirements from the challenge card. Fabric is central. The suggested components are not mandatory.

1

Real-time Customer 360

Join live customer activity with history in one view.

Eventstream · Eventhouse

2

ML segments

Group customers by behaviour with a machine-learning model.

Fabric Data Science · MLflow

3

Churn model, about 90 days ahead

Score the risk that a customer leaves, and show the drivers behind each score.

Fabric Data Science · MLflow

4

Retention alert on live events

Fire an alert when a live event changes the picture, and send it to a person.

Activator · Power BI

Deliverable: churn risk scores with drivers, and a retention alert that fires on live events.

How we win

50 of 100 points
Business value and solution quality together carry 50 of 100 points. We prioritise a working, clear retention story over extra features.
Optional suggestions · stretch
The challenge page's “Solution” text lists ideas. The organiser says they are suggestions, not requirements. The blueprint includes KQL journey queries, segment history, accuracy and lift, Direct Lake and Purview sensitivity labels. Identity resolution, a Fabric IQ ontology and a Copilot Studio retention brief are stretch features. Building a custom software application, autonomous discounts and multiple agents are out of scope.

Milestones

  1. Scenario chosenThe team chose the mortgage scenario.
  2. Idea submissionSend the blueprint form. The submission pack has the answers.
  3. BuildData, model, alert and demo.
  4. Solution submissionInclude a 5–10 minute video.

The slide gives PST as the deadline timezone. Check the organiser's intended timezone.

The chosen blueprint

The illustrative mortgage provider is HomeBridge, a fictional company. The blueprint page gives the full design. The submission pack gives the form answers and the files to upload.

These are design judgements, not researched market rankings. The insurance scenario (HavenCover) and three earlier scenarios (software, broadband and retail) are archived and hidden.

Shared core: three clocks

Proposed target

The blueprint uses three timing targets. A live event and an ML score refresh are separate operations. The demo shows and measures both.

60 s

From a live event to its appearance in the Customer 360 view.

15 min

Between scoring runs that refresh features, assign segments and calculate refinancing risk scores. These runs do not retrain the models.

5 min

From a successful scoring run to the retention alert.

Do not claim more than the evidence shows

“90 days early”

Calculate the score 90 days before renewal. Freeze the information available at that checkpoint. Evaluate the later renewal outcome. Predicting churn "within 90 days" does not establish 90 days of warning. If the warning comes later, report the failed target.

“We know why”

Feature attributions explain how model inputs affect the score. Checked events support investigation. Neither proves the customer's true motivation. Neither proves that a retention action will work.

“We saved revenue”

A demo can show recurring revenue at risk and recorded actions. Proving improved retention requires evidence from real retention actions and a comparison group. Synthetic results prove only that the process works.

Show the proof

What the demo and video must show.

Access, Fabric capacity, alert integration, team availability and the dataset's source remain unconfirmed. Check these before promising the final stack.

What we submit

Two submissions: the blueprint form on 18 October and the solution on 6 November.

Open the submission pack →

Synthetic data shows that the process works. It does not show real predictive power. Real use needs privacy, responsible-AI and domain review.

Customer Pulse 360 · Submission blueprint

Submission blueprint · Fictional mortgage provider: HomeBridge

Mortgage Renewal Early Warning

Early warning when fixed deals end.

Prediction target
Checkpoint
90 days before deal end
Scoring unit
Renewal review owner
Servicing adviser
Status
Proposal · not built

Hackathon proposal. Fictional business and proposed targets. No implementation results are claimed.

Terms on this page: a product-transfer request is the customer's mortgage application for a new deal with HomeBridge. The renewal portal is HomeBridge's software for that request. Payment support means help with mortgage payments. Technical support investigates verified portal faults.

Open the detailed architecture →

How one warning becomes one action

Company, customer and counterexample (illustrative)

The company and customer

HomeBridge is a fictional mortgage lender. It services repayment mortgages and offers product transfers when fixed-rate deals end.

The customer unit is one mortgage account, not an individual borrower. Joint borrowers remain linked parties, not duplicate customers. A servicing adviser owns each renewal review.

The problem and counterexample

Score external refinancing risk at the checkpoint, 90 days before the fixed-rate deal ends. Payment-support needs take priority over commercial retention reviews.

Alex reports concern about future payments while the renewal portal repeatedly fails during a product-transfer request. The adviser must inspect both problems.

Sam completes a product transfer without payment problems. A quiet renewal-portal history alone does not justify an alert.

Build specification at a glance

The rules that must hold, the data shape, and the failure cases the demo must pass. Full detail is in the sections below.

Invariants

  1. INV-1An active payment-support request routes to trained servicing staff first, whatever the churn score.
  2. INV-2Features use only data known at the checkpoint. Both occurred_at and ingested_at must be at or before cutoff_at.
  3. INV-3At most one open internal review case exists per mortgage_id + cycle_id + action_family.
  4. INV-4An unknown or incomplete refinancing outcome gets no model label. It never counts as retained.
  5. INV-5risk_updated fires only after a scoring run succeeds. A failed run leaves the last score marked stale.
  6. INV-6The prototype sends no customer messages. It makes no rate or credit decisions.

Data contract

Mortgage account
One loan account and fixed-rate deal cycle.
Payment
One posted ledger change.
Transfer request
One product-transfer request state change.
Servicing history
Source case state changes and dated contacts linked to each case. These are separate from a new review case.
Feature snapshot
One mortgage, deal cycle and cutoff time. The observed refinancing outcome stays separate.
Segment assignment
One mortgage account, deal cycle and scoring run.

Key: mortgage_id + cycle_id. The cycle identifies a fixed-rate deal, not a scoring run. Every event carries event time and ingestion time. The risk_updated event carries snapshot, model version, refinancing risk score, segment, evidence IDs and score time.

Failure cases the demo must pass

IDCaseExpected result
T01The same eligible event is replayed.One review case for the same case key.
T02An unknown account or a conflicting borrower mapping arrives.The record goes to quarantine.
T03The payment feed is stale or missing.The view flags the feed as stale. A missing feed is not zero arrears.
T04A payment is reversed.Review and rescoring start. The audit record stays.
T05A scoring run fails.The last score is marked stale. The live view still updates. No new risk_updated event fires. Service alerts remain independent.
T06A review-case write fails.The write retries with the same key. No duplicate review case appears.
T07Three contacts concern one unresolved problem. Three other contacts concern separate enquiries.The history distinguishes repeat contacts about one case from contacts about separate cases. A case state change alone does not count as a contact.

Deliberately not specified

Full submission sections

The detail behind the specification above. Open a section to read it. Printing opens every section. Shared rules are on the overview page.

01 / Submission summary
  • Title: Mortgage Renewal Early Warning.
  • Problem: HomeBridge finds out about external refinancing only after the borrower leaves.
  • Solution: Fabric joins mortgage, payment, product-transfer request and servicing history with live renewal-portal events. It scores external refinancing risk at the checkpoint, 90 days before the fixed-rate deal ends. It explains each score to a servicing adviser.
  • Business impact: Advisers get time to arrange fixes for portal faults and review renewal needs before the borrower leaves. The 90-day lead time is a proposed target. Payment-support needs reach trained staff first.
  • Distinctive value: The design separates commercial loss from payment distress. A retained mortgage is not always a good customer outcome.
  • Scope: Fixed-rate repayment mortgage accounts, one renewal cohort, one renewal-portal fault replay and one payment-support case.
  • Out of scope: Lending decisions, rate changes, product recommendations and mortgage default prediction.
  • Form answers: The submission pack gives the text for each field of the blueprint form.
02 / Data contracts and account view
Dataset and grainRequired fieldsChecks
Mortgage: one loan account and fixed-rate deal cycle.mortgage_id, cycle_id, deal_end_at, balance, current_payment, product_type, owner_id.Keep dated product terms. Deal end is not the end of the loan. Link joint borrowers through an approved account mapping.
Payment: one posted ledger change.entry_id, mortgage_id, due_at, posted_at, ingested_at, amount_due, amount_received, reversal_of.Keep reversals. A failed collection is not proof of default.
Product-transfer request: one request state change.event_id, application_id, mortgage_id, occurred_at, ingested_at, stage, error_code, status.application_id identifies the product-transfer request. Separate request rejection or abandonment from a verified portal fault.
Source servicing case: one recorded state change.case_id, mortgage_id, changed_at, recorded_at, category, status, owner_id, support_route.Categories include general enquiries, complaints and billing enquiries. This is source history, not a new SharePoint review case. Reconstruct each case's resolved or unresolved status at the cutoff. Keep sensitive notes out of features. Show only routing information to authorised advisers.
Servicing contact: one customer contact linked to a source case.contact_id, case_id, mortgage_id, occurred_at, ingested_at.Link each contact to its case and mortgage. Keep the contact date. Count each contact_id once, not each case state change. Both timestamps must be at or before the cutoff for model inputs. Quarantine unknown or conflicting case links.
Feature snapshot: one mortgage, deal cycle and cutoff time. Observed outcome: one mortgage and deal cycle, recorded separately.snapshot_id, cutoff_at, feature_version, source_watermark, outcome_type, outcome_at, outcome_observed_at.Keep observed outcomes separate from prediction inputs. Account closure alone does not prove external refinancing.
Segment membership: one account, cycle and scoring run.mortgage_id, cycle_id, run_id, segment_id, cluster_model_version, assigned_at, valid_from, valid_to.Append one row per scheduled run. Never overwrite a row. An auditor can see each account's segment on any past date.

Account view

The mortgage view shows fixed-rate deal end, current terms, request status, portal faults, segment, refinancing risk score age and source evidence. It also shows the assigned review owner and payment-support priority.

Support history shows the enquiry type, contacts per case and whether each problem is resolved or unresolved.

Synthetic data

  • Include complete outcomes, reversals, delayed feeds and successful transfers.
  • Include three contacts about one unresolved problem and three contacts about separate enquiries.
  • Generate model outcome labels from separate hidden factors, not from the alert rule.
  • Label any future payment figure as an illustration. It is not an offer or an affordability decision.
03 / Architecture and interfaces

Keep the high-level design as the entry point. These four detailed views name components, stores, messages and failure paths.

Proposed implementation detail, not a deployed system. Table names and job boundaries are proposed. Tenant access and connector permissions remain unconfirmed.

Processing steps

  1. Step 1Fabric pipelines load dated mortgage account, payment, product-transfer request and servicing exports into raw Lakehouse tables. See components
  2. Step 2Notebooks validate keys and ledger history. They build clean account histories and frozen feature snapshots. See components
  3. Step 3Notebooks train the renewal model and the behavioural clusters. MLflow records experiments, feature signatures and model versions. See data and evidence
  4. Step 4Scores, segments, attributions and evidence references go to curated Gold Delta tables. A completed-run marker makes them eligible for publication. A Power BI semantic model reads completed outputs in Direct Lake mode. See components
  5. Step 5Eventstream replays a renewal-portal software fault into Eventhouse. Each event keeps its original ID and timestamps. See components
  6. Step 6KQL journey queries in Eventhouse find three patterns: See components
    • each product-transfer request's stages and portal errors in time order
    • days that a request remains at one stage, for example while documents are outstanding or an offer is in review
    • retries after a renewal-portal software error.
  7. Step 7A Fabric pipeline copies versioned account context and completed score summaries into Eventhouse. KQL joins these copies with accepted live events. See components
  8. Step 8A separate pipeline copies cutoff-filtered KQL journey results into Lakehouse staging tables. Notebooks combine these results with dated history. See scoring sequence
  9. Step 9A Fabric pipeline runs scoring and segment assignment on a schedule. For the replay, the team also starts one scoring run by hand. See scoring sequence
  10. Step 10Activator and Power Automate create an internal review case, assigned to a person, in a secured SharePoint list. See case routing

Interfaces

  • risk_updated carries event_id, mortgage_id, cycle_id, run_id, snapshot_id, model_version, cluster_model_version, segment_id, scored_at, cutoff_at, target, score and evidence IDs.
  • A persisted publication record keeps the same event_id on retry. Activator passes the required fields to a Power Automate custom action.
  • The review-case key is mortgage_id + cycle_id + action_family. A duplicate write reads the existing review case. Other write failures stay visible.
  • The case writer checks current payment-support needs before creating a review case. Payment-support priority does not depend on refinancing risk or loan balance.

Capability sources and unresolved settings

Microsoft documents KQL database copy activities and Activator custom actions for Power Automate. These capabilities do not confirm tenant access.

  • Confirm context-copy frequency, live-view presentation and report refresh settings. The 60-second view target is not a Direct Lake guarantee.
  • Confirm retry limits, timeout values and exception ownership before the build. No automatic retry can bypass an eligibility check.
04 / Prediction and segments

Target

  • Checkpoint: deal_end_at minus 90 days.
  • Positive model label: confirmed external refinancing between the checkpoint and deal_end_at plus 30 days. Use known redemption reasons or verified refinance records.
  • Negative model label: a same-lender product transfer or continued servicing. Assign it only after the observation window ends, 30 days after deal end.
  • Excluded: sales, bereavement closures and redemptions with no known reason.

Features

  • Use product-transfer request completion, renewal-portal errors, complaint age, case category, contacts per case and case resolution status.
  • Support case status is resolved or unresolved at the checkpoint. A resolution recorded after the cutoff is not an input.
  • Derive three behavioural signals from dated history:
    • failed product-transfer request attempts in the last 30 days compared with the last 90 days
    • days that a request remains at one stage, for example while documents are outstanding or an offer is in review
    • support history: enquiry type, contacts per case, repeat contacts about unresolved problems and monthly contact trends.
  • Exclude sensitive support details, protected characteristics, names and fine-grained location. Check the remaining features for unjustified proxies.
  • Payment difficulty follows the payment-support policy. It is not a hidden external-refinancing outcome label.

Models and segments

  • Compare logistic regression and a small tree model with a product-transfer request-friction rules baseline.
  • Fit two to five clusters on product-transfer request and servicing features. Inspect stability and centroids before naming groups.
  • Fit clusters once per model release. Each scheduled run assigns accounts to those clusters, so a segment ID keeps its meaning.

Evaluation

  • Test on later deal cohorts. Keep their borrowers out of training.
  • Training outcome labels must exist before the simulated model release. Freeze thresholds on model-validation data.
  • Report accuracy, precision, recall, calibration and lift at ten reviews per run.
  • Lift compares the refinancing rate in the ten highest-scored accounts with the cohort's base rate. Accuracy alone misleads when few accounts leave.

Explanations

Store per-account feature attributions with each score. Use SHAP values for the tree model and coefficient contributions for logistic regression. They explain the score, not the borrower's motive.

05 / Alert routing and audit

Routing order

  1. An active payment-support request goes to trained servicing staff. Commercial renewal tasks wait while the payment-support case needs review.
  2. A verified renewal-portal software fault goes to technical support.
  3. An eligible external-refinancing risk candidate goes to a servicing adviser for a renewal review.

Eligibility here permits an internal review case. It does not approve a mortgage, a rate, or customer contact. A human checks contact policy and suitability before any customer-facing action.

Audit record

Every review case records evidence IDs, routing policy, assigned owner and decision. Score-based cases also record model version, run and snapshot. Record ingestion, scoring, alert and case-creation times separately where those operations apply.

Failure handling follows cases T01 to T06 above.

06 / Build plan and demo
Work packageOutput
Data and replay.Account histories, reversal fixtures, cutoff checks and the event contract.
Models and evaluation.Classifier, clusters, rules baseline, later-cohort report with lift, and registered model.
Dashboard and action.Power BI mortgage report (Direct Lake), segment history, sensitivity labels, payment-support-first routing, review-case writer and audit.

Demo script

  1. Show Alex's checkpoint, deal date, evidence and proposed renewal review.
  2. Run the KQL journey query for Alex's product-transfer request. Show the stage history behind the stalled-request signal.
  3. Replay a renewal-portal fault and a payment-support request. Show rescoring and payment-support-first routing.
  4. Replay the same event. Show one review case for the same key, not two.
  5. Show Sam's completed product transfer and a reversed payment collection. Explain why neither proves mortgage default.
  6. Show the evaluation, measured latency and limits.

Acceptance tests

The demo passes INV-1 to INV-6 and T01 to T06. It also shows these results:

  • Each checkpoint warning comes 90 days before deal end.
  • Each scheduled run adds segment rows. Earlier segment rows never change.
  • Every Fabric item that holds personal data carries a Purview sensitivity label.
07 / Value and controls

Value measures

Measure review effort, renewal-portal faults fixed, payment-support routing time and confirmed external-refinancing outcomes. Loan balance is exposure, not saved revenue.

Data protection

  • Use pseudonymous accounts and least-privilege roles. Restrict support information separately.
  • Exclude bank details and borrower documents.
  • Apply Purview sensitivity labels to the Lakehouse, Eventhouse, semantic model and report.

Before real use

Get lending, privacy and responsible-AI review. Confirm jurisdiction, contact policy and fairness checks.

Customer Pulse 360 · Blueprint submission

Blueprint submission · Fictional mortgage provider: HomeBridge

Submission pack

Copy five answers into the form. Then upload the files in the second section.

Form
Architecture Blueprint
Idea submission
18 Oct 2026
Solution submission
6 Nov 2026
Status
Draft · not sent

The answers describe a proposal. The system is not built. The 90-day lead time and the timing targets are proposed targets, not measured results.

1 · Form answers

The boxes follow the layout of the organiser's form. Each box has a copy button. The copied text is plain text, so it pastes cleanly into the form. A red star marks a required field.

Why this form

Each box sits where its field sits on the organiser's form, so you can copy each answer to the matching field. Trade-off: the answers are short. The blueprint page gives the full detail.

2 · Architecture and design documents

The form accepts PDF, PNG, JPG, SVG, Excel, CSV, video, PPTX and DOCX files, up to 100 MB each. Upload files 1 and 2 as a minimum. Files 3 to 9 add evidence and architectural detail.

  1. 1
    High-level architecturePNG or SVG

    The proposed design in five zones: history, live events, scheduled scoring, review action and independent support. Files 6 to 9 expand this view.

  2. 2
    Blueprint documentPDF

    The full Mortgage Renewal Early Warning blueprint for the fictional mortgage provider HomeBridge. The button opens the blueprint page and the print window. Select “Save as PDF”. Printing opens every section.

  3. 3
    Signals-to-action diagramPNG

    An illustrative case. Three signals lead to one action, and the payment-support check runs first.

  4. 4
    Checkpoint time linePNG

    The checkpoint 90 days before the deal ends, and the outcome window.

  5. 5
    Data contractCSV

    Each dataset with its grain, its required fields and its checks. Excel opens this file.

  6. 6
    Components and data movementPNG or SVG

    Fabric items, storage boundaries, explicit context copies, KQL joins and the two reporting paths.

  7. 7
    Data relationships and keysPNG or SVG

    Snapshots, scores, model versions, segment history, publication records and review cases.

  8. 8
    Scoring and publication sequencePNG or SVG

    Event arrival, scheduled scoring, frozen inputs, completed outputs and publication retries.

  9. 9
    Payment-support-first review-case routingPNG or SVG

    Independent service rules, review-case eligibility checks, unique case writes and visible failure handling.

Do not use the protected page URL instead of file uploads. Submission reviewers do not receive the page password. Upload the exported files.

Downloads use the light theme. Previews of files 1, 3 and 4 follow.

Preview the four detailed architecture diagrams

3 · Solution submission · 6 November

The team builds from 26 October to 6 November. Then the team sends this package.

Still to confirm: Power BI sharing, Power Automate licences and connector permissions. Synthetic data shows that the process works. It does not show real predictive power.