working-with-autoresearch
Installation
SKILL.md
Working with autoresearch
Autoresearch answers one standing question per model: who in a population will do a target within a horizon? For example, "which active users will open a report in the next 7 days?".
- The user names a target (an event or a PostHog action), a population and a horizon in days.
- A training agent runs in a PostHog sandbox. It writes feature SQL and a model, scores each experiment on a holdout set, keeps what improves holdout AUC and discards the rest.
- The server picks the champion from the kept experiments. The agent proposes; the backend decides.
- Every cadence (daily by default, at 02:00 UTC), the champion scores the inference population.
Each scored person gets an
autoresearch_predictionevent with their probability. When the model'swrite_person_propertyis on, a person who resolves to a current distinct ID also gets the model's output person property, for examplepredicted_p_adopt_insights_14d. It is off by default for new models. Turn it on withautoresearch-partial-updatebefore you target people by score in a flag, cohort, workflow or insight. Turning it off removes the property from the people the model scored. Changing the setting needs theperson:writescope. - When a prediction date's horizon has passed, online validation checks the scores against what really happened and records realized AUC.
- Training keeps going on a schedule. On each scoring day the model starts a research run (explore) until a run does not promote a better model, or until 5 research runs have run.
After that it starts one research run every
research_interval_days(maintain, default 7) after the latest training run, so a run started by hand resets the clock. Withresearch_interval_daysnull the model trains only when someone asks. A champion that cannot score still gets a short rescue run.training_phaseandnext_research_atonposthog:autoresearch-retrievesay where the model is.
In the PostHog UI the entity is a model. The API and tools call it a pipeline. Use "model" when you talk to people.