Part A: Improve the rule engine

Add these test tickets:

var exerciseTickets = new[]
{
    "The amount has been debited again.",
    "The application crashes after login.",
    "I do not want to continue next month.",
    "Can you explain your premium plan?"
};

Without changing the expected departments, update the keyword configuration so they route to:

Ticket Expected category
Amount debited again Billing
Application crashes Technical
Do not want to continue Retention
Explain premium plan General

Part B: Identify the correct technology

Write one answer for each:

  1. Employee salary tax is calculated from fixed government slabs.
  2. Predict whether an insurance customer is likely to renew.
  3. Generate a polite response to a complaint.
  4. Return the total policies issued this month.
  5. Detect an unusual exam-proctoring activity pattern.

Choose from:

  • C# rules
  • SQL
  • Machine learning
  • Generative AI

Some real applications may combine approaches, but select the primary one.

Part C: Design your first training table

On paper or in SQL, design a customer-renewal training table with:

  • At least five potential features
  • One label
  • Five sample records

Possible starting structure:

CREATE TABLE PolicyRenewalTrainingData
(
    PolicyId              INT PRIMARY KEY,
    CustomerAge           INT,
    PremiumAmount         DECIMAL(18,2),
    ClaimCount            INT,
    DaysToExpiry          INT,
    PreviousRenewalCount  INT,
    Renewed               BIT
);

Mark these explicitly:

  • Features: all input columns used for prediction
  • Label: Renewed
  • Identifier: PolicyId, which may identify the row but may not be a useful predictive feature

Key lesson: just because a value exists in the database does not mean it should be given to the model.