Savings Date missing for many 2026 deemed claims
In our testing we compared the deemed claims CEDARS “Savings Date” column in the record-level Claims 2026 download to SDGE & SCG internal systems. This revealed a large number of blank “Savings Date” values for deemed claims in the CEDARS record-level download. We believe all deemed claims should have “Savings Date” populated there.
Log in to comment and vote
Comments17
cedars team
Aug 4
Hi @ecorona2,
This is the current logic CEDARS uses to populate the
SavingsDatefield:When
Measure.DeliveryType = 'UpDeemed'andMeasure.Upstream_Flag = 'true'SavingsDate = ShipmentDateIf
ShipmentDateis null,SavingsDate = ApplicationDateWhen
Measure.DeliveryType = 'UpDeemed'andMeasure.Upstream_Flag = 'false'SavingsDate = SalesDateIf
SalesDateis null,SavingsDate = ApplicationDateWhen
Measure.DeliveryType = 'DnDeemed'SavingsDate = PermitIssuanceDateIf
PermitIssuanceDateis null,SavingsDateis set to the earliest date ofApplicationDate,InstallationDate, orComplianceCertDateWhen
Measure.DeliveryType = 'DnDeemDI'SavingsDate = PermitIssuanceDateIf
PermitIssuanceDateis null,SavingsDateis set to the earliest date ofApplicationDateorInstallationDateBased on this logic, could you provide some additional guidance on the scenarios where you're expecting
SavingsDateto be populated but is currently blank? Any examples of affected records would also be helpful for our investigation.Regards,
Erika
ecorona1
Aug 5
The issue is this logic needs to include the 2026 DeliveryType values: Down, DI, Mid-Retail, Mid-Distr, and Up-Manuf. Also, the DeliveryType alone does not define a deemed or custom claim for 2026 and after. I believe the correct logic is below but this should be verified with PGE and SCE.
· When (Measure.DeliveryType = 'UpDeemed' and Measure.Upstream_Flag = 'true') or ( Measure.DeliveryType = 'Up-Manuf' and m.MeasImpactType like 'Deem%' )
o SavingsDate = ShipmentDate
o If ShipmentDate is null, SavingsDate = ApplicationDate
· When (Measure.DeliveryType = 'UpDeemed' and Measure.Upstream_Flag = 'false') or ( Measure.DeliveryType in ('Mid-Distr', 'Mid-Retail') and m.MeasImpactType like 'Deem%' )
o SavingsDate = SalesDate
o If SalesDate is null, SavingsDate = ApplicationDate
· When Measure.DeliveryType = 'DnDeemed'
o SavingsDate = PermitIssuanceDate
o If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate, InstallationDate, or ComplianceCertDate
· When ( Measure.DeliveryType = 'Down' and and m.MeasImpactType like 'Deem%' )
o SavingsDate = PermitIssuanceDate
o If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate, InstallationDate, or ComplianceCertDate
· When Measure.DeliveryType = 'DnDeemDI'
o SavingsDate = PermitIssuanceDate
o If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate or InstallationDate
· When ( Measure.DeliveryType = 'DI' and and m.MeasImpactType like 'Deem%' )
o SavingsDate = PermitIssuanceDate
o If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate or InstallationDate
Roopa Reddy
Aug 5
@cedars team Revised logic to accommodate the new DEER delivery types looks good to me. As discussed, the condition
m.MeasImpactType like 'Deem%'can be replaced withupper(claim.claimtype) = 'DEEMED'.cedars team
Aug 6
I meant to ask during the development demo, do we know how often the DEER value lists get updated, especially the Delivery Type? We are wondering if we need to prepare for more changes later on.
Roopa Reddy
Aug 6
@cedars team Table 4 of D. 21-05-031, starting on p. 61, appears to provide the most comprehensive list of applicable regulatory requirements. DEER updates are implemented biennially during even-numbered years. The next DEER update is expected in mid-2028. The image below shows a subset of table 4.
ecorona1
Aug 10
Changing DeliveryType values in 2026 was an major effort for Sempra. The hope is DeliveryType, MeasAppType, and MeasImpactType remain static moving forward.
cedars team
Aug 7
Hi, @ecorona1
This fix has been deployed to cedars-3.
Could you please test this again and verify that each of the following new validations is populating as expected on the "Record-level Measure Input and Cost Effectiveness Output" card on the Confirmed Dashboard? This file contains the same data as the Record-level Data tab, so you shouldn't need to go through the full statewide and local confirmation flow to verify this.
Please note: We have implemented this using
Claim.ClaimTypeinstead ofMeasure.MeasImpactTypeto validate whether a claim is deemed.Could you please verify that:
When
Measure.DeliveryType = 'Up-Manuf'andClaim.ClaimType = 'Deemed':SavingsDate = ShipmentDate(falling back toApplicationDateif null)When
Measure.DeliveryType = 'Mid-Distr'orMeasure.DeliveryType = 'Mid-Retail'andClaim.ClaimType = 'Deemed':SavingsDate = SalesDate(falling back toApplicationDateif null)When
Measure.DeliveryType = 'Down'andClaim.ClaimType = 'Deemed':SavingsDate = PermitIssuanceDate(falling back to the earliest non-null value amongApplicationDate,InstallationDate, andComplianceCertDate)When
Measure.DeliveryType = 'DI'andClaim.ClaimType = 'Deemed':SavingsDate = PermitIssuanceDate(falling back to the earliest non-null value betweenApplicationDateandInstallationDate)Thanks,
Alex
cedars team
Aug 11
Hi @ecorona2,
A fresh production clone has been completed, and this work has now been deployed to cedars-2 for re-testing.
Apologies that the inconsistencies in the
cedars-3environment made it difficult to complete testing at the end of last week. As a result, we decided to remove this work from the 2026 Claim Spec release and proceed with it separately once it has completed testing and received the appropriate sign-off.Regards,
Erika
Roopa Reddy
Aug 14
@cedars team
I completed UAT for the Savings Date enhancement in cedars-2.
The good news is that the Savings Date is being populated correctly for all deemed claims, and the logic appears to be working as expected for PG&E’s Q2 claims.
However, I noticed one issue. The Savings Date is also being populated for custom claim type pertaining to ESA and placeholder claims. I was not expecting this behavior! Could you please explain why the Savings Date is being populated for the custom claim types and whether this is the intended functionality?
For reference:
The SW upload contains 5 placeholder claims: https://cedars-2.cpuc.ca.gov/claims/statewide/upload-summary/90/
The PA upload contains 72 placeholder claims and 26 ESA claims: https://cedars-2.cpuc.ca.gov/claims/upload-summary/767/
These are custom claims but the Savings Date is populated.
Thank you
cedars team
Aug 14
Thank you for testing Roopa, we will look into why the ESA and placeholder custom claims are being included and let you know our findings soon.
Thanks,
Sonja
cedars team
Aug 17
Hi @Roopa Reddy,
I’ve investigated the uploads you referenced, and I found that the custom claim types where you’re seeing
SavingsDatepopulated are records withMeasure.DeliveryType = 'DnDeemed'.The reason this is happening is that the existing DnDeemed logic is based solely on
Measure.DeliveryTypeand does not checkClaim.ClaimType. This is the current logic and predates the new 2026 delivery types:When Measure.DeliveryType = 'DnDeemed'
SavingsDate = PermitIssuanceDate
If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate, InstallationDate, or ComplianceCertDate
If the expectation is that those DnDeemed custom claims should not receive a
SavingsDate, we should confirm whether the existing DnDeemed condition should also be updated to checkClaim.ClaimType = 'Deemed'.Regards,
Erika
cedars team
Aug 17
For additional context, here is the current and most up-to-date logic for
SavingsDate, consolidated in one place:When (Measure.DeliveryType = 'UpDeemed' & Measure.Upstream_Flag = 'true') or ( Measure.DeliveryType = 'Up-Manuf' & Claim.ClaimType = 'Deemed' )
SavingsDate = ShipmentDate
If ShipmentDate is null, SavingsDate = ApplicationDate
When (Measure.DeliveryType = 'UpDeemed' & Measure.Upstream_Flag = 'false') or ( Measure.DeliveryType in {'Mid-Distr', 'Mid-Retail'} & Claim.ClaimType = 'Deemed')
SavingsDate = SalesDate
If SalesDate is null, SavingsDate = ApplicationDate
When Measure.DeliveryType = 'DnDeemed'
SavingsDate = PermitIssuanceDate
If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate, InstallationDate, or ComplianceCertDate
When Measure.DeliveryType = 'Down' & Claim.ClaimType = 'Deemed'
SavingsDate = PermitIssuanceDate
If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate, InstallationDate, or ComplianceCertDate
When Measure.DeliveryType = 'DnDeemDI'
SavingsDate = PermitIssuanceDate
If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate or InstallationDate
When Measure.DeliveryType = 'DI' & Claim.ClaimType = 'Deemed'
SavingsDate = PermitIssuanceDate
If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate or InstallationDate
cedars team
Aug 19
Hi @ecorona1 @Jake Richardson (PG&E) @wilson_wxwd@pge.com,
Since Roopa is currently OOO, we’d appreciate your help confirming the intended
SavingsDaterequirements.Based on the investigation above, there are currently two delivery types where the
SavingsDatelogic does not include aClaim.ClaimType = 'Deemed'condition:Measure.DeliveryType = 'DnDeemed'Measure.DeliveryType = 'DnDeemDI'Could you please confirm whether DnDeemed and DnDeemDI should populate
SavingsDateregardless ofClaim.ClaimType, or only whenClaim.ClaimType = 'Deemed'?Thank you,
Erika
cedars team
Aug 25
Hi @Jake Richardson (PG&E) @ecorona2 @wilson_wxwd@pge.com , we have extended the validation to check that Claim.ClaimType = 'Deemed' for every savings date combination. This is up on cedars-2 for testing and the go-ahead to release this to production.
For reference this is the implemented logic:
When (Measure.DeliveryType = 'UpDeemed' & Measure.Upstream_Flag = 'true' & Claim.ClaimType = 'Deemed') or When (Measure.DeliveryType = 'Up-Manuf' & Claim.ClaimType = 'Deemed') - SavingsDate = ShipmentDate - If ShipmentDate is null, SavingsDate = ApplicationDateWhen (Measure.DeliveryType = 'UpDeemed' & Measure.Upstream_Flag = 'false' & Claim.ClaimType = 'Deemed') or When (Measure.DeliveryType in {'Mid-Distr', 'Mid-Retail'} & Claim.ClaimType = 'Deemed') - SavingsDate = SalesDate - If SalesDate is null, SavingsDate = ApplicationDateWhen (Measure.DeliveryType = 'DnDeemed' & Claim.ClaimType = 'Deemed') or When (Measure.DeliveryType = 'Down' & Claim.ClaimType = 'Deemed') - SavingsDate = PermitIssuanceDate - If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate, InstallationDate, or ComplianceCertDateWhen (Measure.DeliveryType = 'DnDeemDI' & Claim.ClaimType = 'Deemed') or When (Measure.DeliveryType = 'DI' & Claim.ClaimType = 'Deemed') - SavingsDate = PermitIssuanceDate - If PermitIssuanceDate is null, SavingsDate is set to the earliest date of ApplicationDate or InstallationDateThanks,
Sonja
wilson_wxwd@pge.com
Aug 27
Hi CEDARS team, PG&E has retested our 2026Q2 claims and all deemed measures now has a savings date populated. I recall we also had a concern with ESA records with a savings date and this fix has corrected that by removing the sales date since the claim type is Custom. We are good with moving this to production.
cedars team
Sep 15
This work has been released to production.
Changelog post: https://cpuccedars.featurebase.app/changelog/claims-savingsdate-output-validation-and-guidance
ecorona1
Sep 16
The 2026 record-level claim data in CEDARS production is still missing the SavingsDate for deemed claims with a 2026 DeliveryType. I believe the 2026 record-level file needs to be refreshed.