• Live group demo of Marketing Hub + Data Agent

    Standardize reporting, reduce manual work, and introduce AI without cleanup

    Join us on March 12
  • Marketing that's efficient and human? That's Loop Marketing.

    Explore HubSpot Academy's 39-video playlist and put it into practice.

    Start learning

How to tell "Days Open" until a deal actually closes

KG6
Participant

I created a property called "Days Open" that tells you how many days a deal has been open. It's a calculated property type "time since" with the start date as "date entered SQL" and the end date as "today". My issue is, I want it to stop calculating when the deal is closed. I tried making the property be "time between" but I can only choose "date entered won" OR "date entered lost" as the end date, not both. Is there a way I can write a custom equation that does this? Or is there another fix I'm not thinking of?

0 Upvotes
2 Accepted solutions
karstenkoehler
Solution
Hall of Famer | Partner
Hall of Famer | Partner

Hi @KG6,

 

If the missing piece is a date property that stores either the value from "Date entered won" or "Date entered lost", why not use "Close date"?

 

Alternatively, have you considered using this default property?

 

Days to close: the time between Create date and Close date. This can be used as a filter when building a custom single object report.

 

Best regards

Karsten Köhler
HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer

Beratungstermin mit Karsten vereinbaren

 

Did my post help answer your query? Help the community by marking it as a solution.

View solution in original post

0 Upvotes
RubenBurdin
Solution
Key Advisor

Hi @KG6 , this is a very common edge case, and you’re not missing some hidden “custom equation” feature. HubSpot simply doesn’t let calculated properties branch logic like “if won use X, if lost use Y”.

The key thing to know, especially with how HubSpot works now in 2025, is that Close date already solves this problem for you. Close date is automatically set when a deal moves to either Closed Won or Closed Lost, and it stops changing after that. That makes it the only native date that cleanly represents “the moment the deal stopped being open.”

 

Because of that, you have two solid options.

First, if you want a property that freezes once the deal closes, use a Time between calculated property with:

  • Start date: Create date (or Date entered pipeline, if that’s your definition)

  • End date: Close date

This will calculate while the deal is open, and the moment the deal closes, the value becomes fixed.

Second, you may not need a custom property at all.

 

HubSpot’s default Days to close property already does exactly this: it measures time from Create date to Close date and naturally stops counting once the deal is closed. You can use it in filters and in single-object deal reports without any extra setup (https://knowledge.hubspot.com/properties/hubspots-default-deal-properties )

Where your original “time since Date entered SQL” approach breaks down is that “time since” always evaluates against today. There’s no way to tell it to stop evaluating after a lifecycle change. That’s a platform limitation, not your configuration.

 

If your reporting specifically needs “days open so far” only for open deals, you can still use your original property and just filter reports to exclude Closed Won and Closed Lost. But if you need a single number that freezes at close, Close date is the anchor you want.

Hope this saves you some over-engineering.

Did my answer help? Please mark it as a solution to help others find it too.

Ruben Burdin Ruben Burdin
HubSpot Advisor
Founder @ Stacksync
Real-Time Data Sync between any CRM and Database
Stacksync Banner

View solution in original post

2 Replies 2
RubenBurdin
Solution
Key Advisor

Hi @KG6 , this is a very common edge case, and you’re not missing some hidden “custom equation” feature. HubSpot simply doesn’t let calculated properties branch logic like “if won use X, if lost use Y”.

The key thing to know, especially with how HubSpot works now in 2025, is that Close date already solves this problem for you. Close date is automatically set when a deal moves to either Closed Won or Closed Lost, and it stops changing after that. That makes it the only native date that cleanly represents “the moment the deal stopped being open.”

 

Because of that, you have two solid options.

First, if you want a property that freezes once the deal closes, use a Time between calculated property with:

  • Start date: Create date (or Date entered pipeline, if that’s your definition)

  • End date: Close date

This will calculate while the deal is open, and the moment the deal closes, the value becomes fixed.

Second, you may not need a custom property at all.

 

HubSpot’s default Days to close property already does exactly this: it measures time from Create date to Close date and naturally stops counting once the deal is closed. You can use it in filters and in single-object deal reports without any extra setup (https://knowledge.hubspot.com/properties/hubspots-default-deal-properties )

Where your original “time since Date entered SQL” approach breaks down is that “time since” always evaluates against today. There’s no way to tell it to stop evaluating after a lifecycle change. That’s a platform limitation, not your configuration.

 

If your reporting specifically needs “days open so far” only for open deals, you can still use your original property and just filter reports to exclude Closed Won and Closed Lost. But if you need a single number that freezes at close, Close date is the anchor you want.

Hope this saves you some over-engineering.

Did my answer help? Please mark it as a solution to help others find it too.

Ruben Burdin Ruben Burdin
HubSpot Advisor
Founder @ Stacksync
Real-Time Data Sync between any CRM and Database
Stacksync Banner
karstenkoehler
Solution
Hall of Famer | Partner
Hall of Famer | Partner

Hi @KG6,

 

If the missing piece is a date property that stores either the value from "Date entered won" or "Date entered lost", why not use "Close date"?

 

Alternatively, have you considered using this default property?

 

Days to close: the time between Create date and Close date. This can be used as a filter when building a custom single object report.

 

Best regards

Karsten Köhler
HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer

Beratungstermin mit Karsten vereinbaren

 

Did my post help answer your query? Help the community by marking it as a solution.

0 Upvotes