Watches
Ask Oskar in plain English to look out for something, and how it turns that into checks it can actually make.
A watch is something you've asked Oskar to look out for, in your own words, such as "tell me when a renewal payment fails" or "watch for customers using every seat they pay for". Oskar turns what you said into a set of checks it can actually make against your data. If you ask for something it can't see, it tells you rather than pretending.
Creating a watch#
Open Watches and pick one of the examples, or tell Oskar what you want in Talk to Oskar. For example:
- "Tell me when a renewal payment fails."
- "Watch for customers who are using every seat they pay for."
- "Let me know if a new customer hasn't got going after a week."
- "Tell me when an annual customer is a month from renewing."
Oskar works out the details, names the watch, and keeps your original words with it. You don't build any rules.
What a watch can check#
Every watch is made of one or more of these checks. A customer matches a watch only when every check holds.
| Check | Matches a customer who… | Setting (default) |
|---|---|---|
| Payment failing | has a failed payment that's still unpaid, or a past-due subscription | |
| Usage down | used the product at least this much less in the last two weeks than in the two weeks before | percentage (30%) |
| Usage up | used the product at least this much more in the last two weeks than in the two weeks before | percentage (50%) |
| Inactive | has had no product activity for at least this many days, after being active before | days (10) |
| Every seat in use | had as many people using the product in a day as they pay seats for | |
| New customer | became a customer, or started a trial, within this many days | days (14) |
| Not set up yet | hasn't reached your first-week milestone, the action that shows a new customer is set up | |
| Set to cancel | has set their subscription to cancel at the end of the billing period | |
| Annual renewal soon | pays annually and renews within this many days | days (30) |
| On a plan | is on one of the named plans, as they're named in Stripe | plan names |
| Pays at least | pays at least this much a month, in their own currency | amount (0) |
| Stopped using a feature | used a tracked event in the two weeks before, but not in the last two weeks | event name, or any of your key features |
So "tell me when a Team plan customer's usage drops by half" becomes On a plan: Team and Usage down: 50%.
A few checks depend on what Oskar knows about your business. Not set up yet only works once you've told Oskar which action shows a new customer is set up. Stopped using a feature with no event named uses the key features you confirmed during setup. Usage checks need PostHog connected and customers matched.
What a watch can't check#
If your request needs something outside these checks, such as support tickets, emails, or event properties Oskar doesn't read, Oskar won't create a watch that claims to check it, and it tells you so.
When watches are checked#
Oskar checks every watch each time your data syncs, each morning, and after each assessment.
When a customer starts matching a watch:
- it's noted in Latest from Oskar
- Oskar passes it to Jev, its decision model, which weighs it in that customer's next assessment
When a customer stops matching, the match is quietly cleared. On the Watches page, each watch shows who matches it now and its most recent past match.
A watch match doesn't automatically put a customer on your focus list. It's one more thing Oskar weighs, alongside everything else it knows about them. See Decisions and feedback.
Pausing and deleting#
Each watch can be paused, resumed or deleted from the Watches page. Pausing keeps the watch but stops checking it.
What watches never do#
Watches are checks inside Oskar. They never contact customers or change anything in Stripe or PostHog. See Read-only by design.