let
    CommencementDate = 
         if [Monitor.cID] = 21 then
              if [Monitor Date] <= DateTime.Date(DateTime.FromText("2025-08-15")) then
                   [clientcontract.FiT Commence Date]
              else
                  DateTime.Date(DateTime.FromText("2025-08-16"))
         else
              if [Monitor.cID] = 271 then
                   if [Monitor Date] <= DateTime.Date(DateTime.FromText("2025-07-06")) then
                        [clientcontract.FiT Commence Date]
                   else
                        DateTime.Date(DateTime.FromText("2025-07-07"))
              else
                  [clientcontract.FiT Commence Date],
    Nameplate_kWp = [Change Capacity],
    FirstYearDeg     = 0.02,
    AnnualDeg        = 0.0055,
    CurrentDate      = [Monitor Date],
    DaysElapsed      = Duration.Days(CurrentDate - CommencementDate),
    YearsElapsed     = DaysElapsed / 365.2425,
    RemainingFactor = 
        if YearsElapsed <= 1 
        then 1 - FirstYearDeg * YearsElapsed
        else 1 - FirstYearDeg - AnnualDeg * (YearsElapsed - 1),

    Expected_kWp = Number.Round(Nameplate_kWp * List.Max({0, RemainingFactor}), 3)
in
    Expected_kWp