{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/run-results/v6.json", "dbt_version": "1.11.7", "generated_at": "2026-10-06T14:30:52.384742Z", "invocation_id": "7135b4de-d73d-41d0-a231-c40ac4960987", "invocation_started_at": "2026-10-06T14:30:50.054020Z", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:51.752087Z", "completed_at": "2026-10-06T14:30:51.760826Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:51.795859Z", "completed_at": "2026-10-06T14:30:51.922412Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.18078374862670898, "adapter_response": {"_message": "CREATE VIEW", "code": "CREATE VIEW", "rows_affected": -1}, "message": "CREATE VIEW", "failures": null, "unique_id": "model.analytics.stg_llm_usage", "compiled": true, "compiled_code": "with source as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"strategist_llm_usage\"\n)\n\nselect\n    id,\n    feature_name,\n    model_name,\n    prompt_tokens,\n    completion_tokens,\n    total_tokens,\n    metadata,\n    'org_924cec28-4398-45ac-9f16-ee6375eb3b19' as tenant_id,\n    created_at\nfrom source", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_llm_usage\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:51.744934Z", "completed_at": "2026-10-06T14:30:51.757750Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:51.761330Z", "completed_at": "2026-10-06T14:30:51.925209Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.1850113868713379, "adapter_response": {"_message": "CREATE VIEW", "code": "CREATE VIEW", "rows_affected": -1}, "message": "CREATE VIEW", "failures": null, "unique_id": "model.analytics.stg_conversations", "compiled": true, "compiled_code": "with source as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"strategist_thread_analytics\"\n),\n\nrenamed as (\n    select\n        thread_id,\n        summary,\n        created_at,\n        last_analyzed_at as updated_at,\n        metadata\n    from source\n)\n\nselect * from renamed", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_conversations\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:51.758241Z", "completed_at": "2026-10-06T14:30:51.795440Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:51.804078Z", "completed_at": "2026-10-06T14:30:51.927498Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.18569564819335938, "adapter_response": {"_message": "CREATE VIEW", "code": "CREATE VIEW", "rows_affected": -1}, "message": "CREATE VIEW", "failures": null, "unique_id": "model.analytics.stg_thread_analytics", "compiled": true, "compiled_code": "with source as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"strategist_thread_analytics\"\n),\n\nrenamed as (\n    select\n        thread_id,\n        'org_924cec28-4398-45ac-9f16-ee6375eb3b19' as tenant_id,\n        sentiment_score,\n        intent,\n        is_high_intent,\n        is_lead_qualified,\n        is_resolved,\n        escalation_needed,\n        positive_points,\n        key_concerns,\n        pain_point,\n        feature_request,\n        objection,\n        cta_clicked,\n        summary,\n        metadata,\n        created_at,\n        last_analyzed_at\n    from source\n)\n\nselect * from renamed", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_thread_analytics\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:51.754988Z", "completed_at": "2026-10-06T14:30:51.771646Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:51.799952Z", "completed_at": "2026-10-06T14:30:51.931281Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.19085383415222168, "adapter_response": {"_message": "CREATE VIEW", "code": "CREATE VIEW", "rows_affected": -1}, "message": "CREATE VIEW", "failures": null, "unique_id": "model.analytics.stg_messages", "compiled": true, "compiled_code": "with source as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"strategist_feedback\"\n),\n\nunpivoted as (\n    -- User questions\n    select\n        id::text || '_q' as message_id,\n        thread_id,\n        user_name,\n        'org_924cec28-4398-45ac-9f16-ee6375eb3b19' as tenant_id,\n        'user' as role,\n        question as content,\n        metadata->>'intent' as intent,\n        (metadata->>'sentiment_score')::float as sentiment_score,\n        (metadata->>'cta_clicked')::boolean as cta_clicked_flag,\n        created_at as message_at\n    from source\n\n    union all\n\n    -- AI answers\n    select\n        id::text || '_a' as message_id,\n        thread_id,\n        user_name,\n        'org_924cec28-4398-45ac-9f16-ee6375eb3b19' as tenant_id,\n        'bot' as role,\n        answer as content,\n        null as intent,\n        null as sentiment_score,\n        null as cta_clicked_flag,\n        created_at as message_at\n    from source\n)\n\nselect * from unpivoted", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_messages\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:51.949405Z", "completed_at": "2026-10-06T14:30:51.971961Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:51.980991Z", "completed_at": "2026-10-06T14:30:52.064079Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.12810897827148438, "adapter_response": {"_message": "CREATE VIEW", "code": "CREATE VIEW", "rows_affected": -1}, "message": "CREATE VIEW", "failures": null, "unique_id": "model.analytics.int_sentiment_scoring", "compiled": true, "compiled_code": "with thread_analytics as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_thread_analytics\"\n)\n\nselect\n    thread_id,\n    sentiment_score as avg_sentiment_score,\n    case when sentiment_score < -0.5 then 1 else 0 end as churn_risk_flag\nfrom thread_analytics\nwhere sentiment_score is not null", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_sentiment_scoring\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:51.972559Z", "completed_at": "2026-10-06T14:30:51.986011Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:51.987856Z", "completed_at": "2026-10-06T14:30:52.065241Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.12125515937805176, "adapter_response": {"_message": "CREATE VIEW", "code": "CREATE VIEW", "rows_affected": -1}, "message": "CREATE VIEW", "failures": null, "unique_id": "model.analytics.int_chat_sessions", "compiled": true, "compiled_code": "with messages as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_messages\"\n),\n\nthread_analytics as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_thread_analytics\"\n),\n\nsession_metrics as (\n    select\n        m.thread_id,\n        m.tenant_id,\n        max(m.user_name) as user_name,\n        min(m.message_at) as session_start,\n        max(m.message_at) as session_end,\n        count(m.message_id) as total_messages,\n        count(case when m.role = 'user' then 1 end) as user_messages,\n        count(case when m.role = 'bot' then 1 end) as bot_messages,\n        -- Response Time: Avg time between user question and bot answer\n        avg(case when m.role = 'bot' then extract(epoch from (m.message_at - m.message_at_prev)) end) as avg_response_time_seconds\n    from (\n        select \n            *,\n            lag(message_at) over (partition by thread_id order by message_at) as message_at_prev\n        from messages\n    ) m\n    group by 1, 2\n)\n\nselect\n    s.thread_id,\n    s.tenant_id,\n    s.user_name,\n    s.session_start,\n    s.session_end,\n    s.avg_response_time_seconds,\n    t.sentiment_score,\n    t.intent,\n    t.is_high_intent,\n    t.is_lead_qualified,\n    t.is_resolved,\n    t.escalation_needed,\n    t.positive_points,\n    t.key_concerns,\n    t.pain_point,\n    t.feature_request,\n    t.objection,\n    t.cta_clicked,\n    t.summary,\n    extract(epoch from (s.session_end - s.session_start)) as session_duration_seconds\nfrom session_metrics s\nleft join thread_analytics t on s.thread_id = t.thread_id", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_chat_sessions\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:51.941876Z", "completed_at": "2026-10-06T14:30:51.948485Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:51.951969Z", "completed_at": "2026-10-06T14:30:52.076486Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.1415233612060547, "adapter_response": {"_message": "CREATE VIEW", "code": "CREATE VIEW", "rows_affected": -1}, "message": "CREATE VIEW", "failures": null, "unique_id": "model.analytics.stg_tickets", "compiled": true, "compiled_code": "with source as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"strategist_tickets\"\n),\n\nrenamed as (\n    select\n        ticket_id,\n        'org_924cec28-4398-45ac-9f16-ee6375eb3b19' as tenant_id,\n        user_name as user_id,\n        'General' as category, -- Assuming category might be in heading or content\n        priority,\n        status,\n        created_at,\n        created_at as first_response_at, -- Placeholder\n        null::timestamp as closed_at, -- Need resolution tracking\n        null::int as satisfaction_score\n    from source\n)\n\nselect * from renamed", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_tickets\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:51.944345Z", "completed_at": "2026-10-06T14:30:51.951459Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:51.956375Z", "completed_at": "2026-10-06T14:30:52.079162Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.142625093460083, "adapter_response": {"_message": "SELECT 0", "code": "SELECT", "rows_affected": 0}, "message": "SELECT 0", "failures": null, "unique_id": "model.analytics.mart_resource_usage", "compiled": true, "compiled_code": "\n\nwith usage_summary as (\n    select\n        tenant_id,\n        sum(total_tokens) as total_tokens_used\n    from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_llm_usage\"\n    group by 1\n),\n\nstorage_summary as (\n    select\n        'org_924cec28-4398-45ac-9f16-ee6375eb3b19' as tenant_id,\n        pg_total_relation_size(quote_ident('org_924cec28-4398-45ac-9f16-ee6375eb3b19') || '.strategist_knowledge_base') as vector_storage_bytes\n)\n\nselect\n    u.tenant_id,\n    u.total_tokens_used,\n    s.vector_storage_bytes,\n    pg_size_pretty(s.vector_storage_bytes) as vector_storage_formatted,\n    now() as last_updated_at\nfrom usage_summary u\njoin storage_summary s on u.tenant_id = s.tenant_id", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"mart_resource_usage\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:52.082625Z", "completed_at": "2026-10-06T14:30:52.089722Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:52.091314Z", "completed_at": "2026-10-06T14:30:52.145487Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.0686197280883789, "adapter_response": {"_message": "CREATE VIEW", "code": "CREATE VIEW", "rows_affected": -1}, "message": "CREATE VIEW", "failures": null, "unique_id": "model.analytics.int_intent_aggregation", "compiled": true, "compiled_code": "with messages as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_messages\"\n),\n\nintent_counts as (\n    select\n        intent,\n        count(*) as intent_count\n    from messages\n    where intent is not null\n    group by 1\n),\n\nproduct_interest as (\n    -- Weighted score heuristic: 0.4*mentions + 0.3*actions (CTA) + 0.3*completion\n    -- Assuming intent contains product name or category\n    select\n        intent as product_category,\n        count(*) as product_mentions,\n        sum(case when cta_clicked_flag then 1 else 0 end) as product_cta_clicks,\n        round(\n            (0.4 * count(*)) + \n            (0.3 * sum(case when cta_clicked_flag then 1 else 0 end))\n        , 2) as interest_score\n    from messages\n    where intent is not null\n    group by 1\n)\n\nselect * from product_interest", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_intent_aggregation\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:52.086096Z", "completed_at": "2026-10-06T14:30:52.095281Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:52.096960Z", "completed_at": "2026-10-06T14:30:52.265215Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.18611741065979004, "adapter_response": {"_message": "SELECT 0", "code": "SELECT", "rows_affected": 0}, "message": "SELECT 0", "failures": null, "unique_id": "model.analytics.mart_conversion_enablement", "compiled": true, "compiled_code": "with sessions as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_chat_sessions\"\n)\n\nselect\n    tenant_id,\n    sum(is_lead_qualified::int)::float / nullif(count(*), 0) * 100 as chat_to_lead_conversion_rate,\n    sum(case when intent = 'pricing' then 1 else 0 end)::float / nullif(count(*), 0) * 100 as chat_to_purchase_assist_rate,\n    sum(case when not cta_clicked and not is_resolved then 1 else 0 end)::float / nullif(count(*), 0) * 100 as drop_off_rate,\n    sum(cta_clicked::int)::float / nullif(count(*), 0) * 100 as cta_click_rate\nfrom sessions\ngroup by 1", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"mart_conversion_enablement\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:52.103007Z", "completed_at": "2026-10-06T14:30:52.109088Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:52.110278Z", "completed_at": "2026-10-06T14:30:52.267764Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.17532563209533691, "adapter_response": {"_message": "SELECT 0", "code": "SELECT", "rows_affected": 0}, "message": "SELECT 0", "failures": null, "unique_id": "model.analytics.mart_customer_experience", "compiled": true, "compiled_code": "with sessions as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_chat_sessions\"\n)\n\nselect\n    tenant_id,\n    avg(sentiment_score) as csat_score,\n    sum((not escalation_needed and is_resolved)::int)::float / nullif(count(*), 0) * 100 as bot_containment_rate,\n    sum((not escalation_needed)::int)::float / nullif(count(*), 0) * 100 as resolved_without_escalation_rate,\n    sum(escalation_needed::int)::float / nullif(count(*), 0) * 100 as escalation_rate_to_support,\n    avg(case when is_resolved then session_duration_seconds end) as avg_resolution_time_seconds\nfrom sessions\ngroup by 1", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"mart_customer_experience\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:52.106958Z", "completed_at": "2026-10-06T14:30:52.114468Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:52.115095Z", "completed_at": "2026-10-06T14:30:52.269588Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.1728208065032959, "adapter_response": {"_message": "SELECT 0", "code": "SELECT", "rows_affected": 0}, "message": "SELECT 0", "failures": null, "unique_id": "model.analytics.mart_customer_intent_demand", "compiled": true, "compiled_code": "with sessions as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_chat_sessions\"\n)\n\nselect\n    tenant_id,\n    intent,\n    count(*) as intent_count,\n    -- Interest Score: Weighted sum of engagement signals\n    sum(\n        case when is_high_intent then 0.5 else 0 end +\n        case when cta_clicked then 0.3 else 0 end +\n        case when is_lead_qualified then 0.2 else 0 end\n    ) as product_interest_score,\n    sum(is_lead_qualified::int)::float / nullif(count(*), 0) * 100 as lead_qualification_rate,\n    sum(is_high_intent::int)::float / nullif(count(*), 0) * 100 as high_intent_conversation_rate\nfrom sessions\nwhere intent is not null\ngroup by 1, 2", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"mart_customer_intent_demand\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:52.162081Z", "completed_at": "2026-10-06T14:30:52.172173Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:52.173463Z", "completed_at": "2026-10-06T14:30:52.311528Z"}], "thread_id": "Thread-4 (worker)", "execution_time": 0.15192341804504395, "adapter_response": {"_message": "SELECT 0", "code": "SELECT", "rows_affected": 0}, "message": "SELECT 0", "failures": null, "unique_id": "model.analytics.mart_general_chat_metrics", "compiled": true, "compiled_code": "with sessions as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_chat_sessions\"\n),\n\npop_metrics as (\n    select\n        tenant_id,\n        count(distinct case when date_trunc('month', session_start) = date_trunc('month', current_date) then thread_id end) as current_conversations,\n        count(distinct case when date_trunc('month', session_start) = date_trunc('month', current_date - interval '1 month') then thread_id end) as prev_conversations,\n        \n        count(distinct case when date_trunc('month', session_start) = date_trunc('month', current_date) then thread_id end) as current_users,\n        count(distinct case when date_trunc('month', session_start) = date_trunc('month', current_date - interval '1 month') then thread_id end) as prev_users,\n\n        avg(case when date_trunc('month', session_start) = date_trunc('month', current_date) then avg_response_time_seconds end) as current_avg_response_time,\n        avg(case when date_trunc('month', session_start) = date_trunc('month', current_date - interval '1 month') then avg_response_time_seconds end) as prev_avg_response_time,\n\n        sum(case when date_trunc('month', session_start) = date_trunc('month', current_date) then is_resolved::int else 0 end)::float / \n            nullif(count(case when date_trunc('month', session_start) = date_trunc('month', current_date) then thread_id end), 0) * 100 as current_resolution_rate,\n        sum(case when date_trunc('month', session_start) = date_trunc('month', current_date - interval '1 month') then is_resolved::int else 0 end)::float / \n            nullif(count(case when date_trunc('month', session_start) = date_trunc('month', current_date - interval '1 month') then thread_id end), 0) * 100 as prev_resolution_rate,\n\n        avg(case when date_trunc('month', session_start) = date_trunc('month', current_date) then sentiment_score end) as current_satisfaction,\n        avg(case when date_trunc('month', session_start) = date_trunc('month', current_date - interval '1 month') then sentiment_score end) as prev_satisfaction\n    from sessions\n    group by 1\n),\n\nmonthly_users as (\n    select\n        tenant_id,\n        extract(year from session_start) as year,\n        extract(month from session_start) as month,\n        count(distinct thread_id) as total_users\n    from sessions\n    group by 1, 2, 3\n),\nmonthly_users_agg as (\n    select\n        tenant_id,\n        json_agg(json_build_object('year', year, 'month', month, 'total_users', total_users) order by year, month) as users_by_month_year\n    from monthly_users\n    group by 1\n),\n\nmonthly_response as (\n    select\n        tenant_id,\n        extract(year from session_start) as year,\n        extract(month from session_start) as month,\n        avg(avg_response_time_seconds) as avg_response_time\n    from sessions\n    group by 1, 2, 3\n),\nmonthly_response_agg as (\n    select\n        tenant_id,\n        json_agg(json_build_object('year', year, 'month', month, 'avg_response_time', avg_response_time) order by year, month) as response_time_by_month_year\n    from monthly_response\n    group by 1\n),\n\nchannels as (\n    select\n        tenant_id,\n        'Website Chat' as channel, \n        count(distinct thread_id) as conversations\n    from sessions\n    group by 1\n),\nchannels_agg as (\n    select\n        tenant_id,\n        json_agg(json_build_object('channel', channel, 'conversations', conversations)) as channels_breakdown\n    from channels\n    group by 1\n)\n\nselect\n    p.*,\n    u.users_by_month_year,\n    r.response_time_by_month_year,\n    c.channels_breakdown\nfrom pop_metrics p\nleft join monthly_users_agg u on p.tenant_id = u.tenant_id\nleft join monthly_response_agg r on p.tenant_id = r.tenant_id\nleft join channels_agg c on p.tenant_id = c.tenant_id", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"mart_general_chat_metrics\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:52.284615Z", "completed_at": "2026-10-06T14:30:52.293501Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:52.294388Z", "completed_at": "2026-10-06T14:30:52.362145Z"}], "thread_id": "Thread-3 (worker)", "execution_time": 0.08307218551635742, "adapter_response": {"_message": "SELECT 0", "code": "SELECT", "rows_affected": 0}, "message": "SELECT 0", "failures": null, "unique_id": "model.analytics.mart_voc_insights", "compiled": true, "compiled_code": "with sessions as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_chat_sessions\"\n)\n\nselect\n    tenant_id,\n    count(pain_point) as pain_point_frequency,\n    count(feature_request) as feature_request_volume,\n    count(objection) as objection_trends_count,\n    -- Aggregating top unique signals\n    array_agg(distinct positive_points) filter (where positive_points is not null) as positive_points_list,\n    array_agg(distinct key_concerns) filter (where key_concerns is not null) as key_concerns_list,\n    array_agg(distinct pain_point) filter (where pain_point is not null) as pain_point_list,\n    array_agg(distinct feature_request) filter (where feature_request is not null) as feature_request_list\nfrom sessions\ngroup by 1", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"mart_voc_insights\"", "batch_results": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2026-10-06T14:30:52.287986Z", "completed_at": "2026-10-06T14:30:52.293946Z"}, {"name": "execute", "started_at": "2026-10-06T14:30:52.298854Z", "completed_at": "2026-10-06T14:30:52.365485Z"}], "thread_id": "Thread-2 (worker)", "execution_time": 0.07928204536437988, "adapter_response": {"_message": "SELECT 0", "code": "SELECT", "rows_affected": 0}, "message": "SELECT 0", "failures": null, "unique_id": "model.analytics.mart_helpdesk_ticketing", "compiled": true, "compiled_code": "with tickets as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"stg_tickets\"\n),\n\nsessions as (\n    select * from \"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"int_chat_sessions\"\n)\n\nselect\n    t.tenant_id,\n    -- Service Quality\n    avg(extract(epoch from (t.first_response_at - t.created_at))) as avg_first_response_time_seconds,\n    avg(extract(epoch from (t.closed_at - t.created_at))) as avg_resolution_time_seconds,\n    count(*) filter (where t.status = 'Open') as ticket_backlog_growth,\n    avg(t.satisfaction_score) as support_satisfaction_score,\n    \n    -- Brand Trust & Loyalty\n    count(*) filter (where t.user_id in (\n        select user_id from tickets group by 1 having count(*) > 1\n    ))::float / nullif(count(*), 0) * 100 as repeat_complaint_rate,\n    \n    -- Churn Risk: (High Urgency + Negative Sentiment)\n    count(*) filter (where t.priority = 'High' and s.sentiment_score < -0.3)::float / nullif(count(*), 0) * 100 as churn_risk_rate,\n    \n    -- Product & Market Fit\n    count(*) filter (where t.category = 'Bug')::float / nullif(count(*) filter (where t.category = 'Feature'), 0) as bug_vs_feature_ratio,\n    \n    -- Retention + Advocacy\n    avg(case when s.sentiment_score > 0.5 then 10 else 2 end) as nps_proxy -- Simple NPS proxy based on sentiment\nfrom tickets t\nleft join sessions s on t.user_id = s.user_name -- Approximation\ngroup by 1", "relation_name": "\"galaxiq_tenants\".\"org_924cec28-4398-45ac-9f16-ee6375eb3b19\".\"mart_helpdesk_ticketing\"", "batch_results": null}], "elapsed_time": 0.7846078872680664, "args": {"skip_nodes_if_on_run_start_fails": false, "require_resource_names_without_spaces": true, "log_file_max_bytes": 10485760, "warn_error_options": {"error": [], "warn": [], "silence": []}, "send_anonymous_usage_stats": true, "write_json": true, "cache_selected_only": false, "favor_state": false, "log_level": "info", "partial_parse_file_diff": true, "project_dir": "/var/www/html/strategist-ai/analytics", "static_parser": true, "indirect_selection": "eager", "vars": {}, "state_modified_compare_more_unrendered_values": false, "source_freshness_run_project_hooks": true, "empty": false, "require_nested_cumulative_type_params": false, "defer": false, "introspect": true, "require_explicit_package_overrides_for_builtin_materializations": true, "upload_to_artifacts_ingest_api": false, "version_check": true, "invocation_command": "dbt run --profiles-dir .", "log_level_file": "debug", "populate_cache": true, "log_format": "default", "partial_parse": true, "require_ref_searches_node_package_before_root": false, "log_format_file": "debug", "select": [], "quiet": false, "strict_mode": false, "exclude": [], "use_colors": true, "use_colors_file": true, "macro_debugging": false, "require_unique_project_resource_names": false, "show_resource_report": false, "validate_macro_args": false, "state_modified_compare_vars": false, "require_yaml_configuration_for_mf_time_spines": false, "use_fast_test_edges": false, "printer_width": 80, "print": true, "profiles_dir": ".", "require_all_warnings_handled_by_warn_error": false, "log_path": "/var/www/html/strategist-ai/analytics/logs", "require_batched_execution_for_custom_microbatch_strategy": false, "require_generic_test_arguments_property": true, "which": "run", "show_all_deprecations": false}}