mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-08 03:00:28 -04:00
Introduces an analytics/ layer that wraps production Postgres data in safe, read-only views exposed under the analytics schema. - 14 documented query files in queries/ (one per Looker data source) covering auth activities, user activity, execution metrics, onboarding funnel, and cohort retention (login + execution, weekly + daily) - setup.sql — one-time schema creation and role/grant setup for the analytics_readonly role (auth, platform, analytics schemas) - generate_views.py — reads queries/*.sql and applies CREATE OR REPLACE VIEW analytics.<name> to the database; supports --dry-run, --only, and --db-url flags - views.sql — pre-generated combined reference output - README.md — full setup, deployment, and integration guide Looker, PostHog Data Warehouse, and Supabase MCP (for Otto) all connect to the same analytics.* views instead of raw tables.
46 lines
1.8 KiB
SQL
46 lines
1.8 KiB
SQL
-- =============================================================
|
|
-- View: analytics.user_onboarding
|
|
-- Looker source alias: ds68 | Charts: 3
|
|
-- =============================================================
|
|
-- DESCRIPTION
|
|
-- One row per user onboarding record. Contains the user's
|
|
-- stated usage reason, selected integrations, completed
|
|
-- onboarding steps and optional first agent selection.
|
|
-- Full history (no date filter) since onboarding happens
|
|
-- once per user.
|
|
--
|
|
-- SOURCE TABLES
|
|
-- platform.UserOnboarding — Onboarding state per user
|
|
--
|
|
-- OUTPUT COLUMNS
|
|
-- id TEXT Onboarding record UUID
|
|
-- createdAt TIMESTAMPTZ When onboarding started
|
|
-- updatedAt TIMESTAMPTZ Last update to onboarding state
|
|
-- usageReason TEXT Why user signed up (e.g. 'work', 'personal')
|
|
-- integrations TEXT[] Array of integration names the user selected
|
|
-- userId TEXT User UUID
|
|
-- completedSteps TEXT[] Array of onboarding step enums completed
|
|
-- selectedStoreListingVersionId TEXT First marketplace agent the user chose (if any)
|
|
--
|
|
-- EXAMPLE QUERIES
|
|
-- -- Usage reason breakdown
|
|
-- SELECT "usageReason", COUNT(*) FROM analytics.user_onboarding GROUP BY 1;
|
|
--
|
|
-- -- Completion rate per step
|
|
-- SELECT step, COUNT(*) AS users_completed
|
|
-- FROM analytics.user_onboarding
|
|
-- CROSS JOIN LATERAL UNNEST("completedSteps") AS step
|
|
-- GROUP BY 1 ORDER BY users_completed DESC;
|
|
-- =============================================================
|
|
|
|
SELECT
|
|
id,
|
|
"createdAt",
|
|
"updatedAt",
|
|
"usageReason",
|
|
integrations,
|
|
"userId",
|
|
"completedSteps",
|
|
"selectedStoreListingVersionId"
|
|
FROM platform."UserOnboarding"
|