Skip to content

Events → Schema → Insights ​

Understanding how LoopKit transforms your raw events into actionable business insights.

Overview ​

LoopKit follows a unique three-stage data pipeline that automatically converts your events into structured insights:

Raw Events → Auto-Generated Schema → AI-Powered Insights

This flow eliminates the need for manual dashboard creation and provides you with relevant insights about your users and product.

Stage 1: Events Collection ​

What Are Events? ​

Events are discrete actions that happen in your application. Each event represents something meaningful that a user did.

javascript
// Example: User signs up
LoopKit.track('user_signup', {
  method: 'email',
  source: 'pricing_page',
  plan: 'pro',
});

// Example: Feature usage
LoopKit.track('export_data', {
  format: 'csv',
  rows: 1250,
  user_plan: 'enterprise',
});

Event Structure ​

Every event follows this structure:

json
{
  "name": "feature_used",
  "properties": {
    "feature": "api_integration",
    "user_id": "user_123",
    "success": true
  },
  "timestamp": "2025-01-15T10:30:00Z",
  "userId": "user_123",
  "anonymousId": "anon_456"
}

Key Components:

  • Name: What happened (verb + noun format recommended)
  • Properties: Context about the event
  • Timestamp: When it happened (automatically added)
  • User Context: Who did it (automatically managed)

Stage 2: Schema Generation ​

Automatic Schema Discovery ​

LoopKit automatically analyzes your events to understand your product's data model. It identifies:

  • Event Types: All the different actions in your app
  • Property Patterns: Common properties across events
  • User Journey Flows: How events connect to form user journeys
  • Data Relationships: How different events relate to each other

Schema Evolution ​

As you send more events, LoopKit's schema adapts:

javascript
// Week 1: Simple signup event
LoopKit.track('user_signup', {
  method: 'email',
});

// Week 3: More detailed signup tracking
LoopKit.track('user_signup', {
  method: 'email',
  source: 'homepage',
  referrer: 'google',
  utm_campaign: 'summer_sale',
});

// LoopKit automatically recognizes the new properties
// and updates insights accordingly

Event Categorization ​

LoopKit automatically categorizes your events into meaningful groups:

  • Acquisition Events: user_signup, trial_started, demo_requested
  • Activation Events: first_feature_used, onboarding_completed, data_imported
  • Engagement Events: feature_used, dashboard_viewed, report_generated
  • Revenue Events: subscription_upgraded, payment_completed, invoice_paid
  • Retention Events: daily_login, weekly_active, feature_revisited

Stage 3: AI-Generated Insights ​

Insight Types ​

LoopKit generates several types of insights automatically:

1. Trend Analysis ​

"Your 'export_data' feature usage increased 150% this week,
primarily driven by enterprise users. This suggests the recent
CSV export improvements are resonating with power users."

2. User Behavior Patterns ​

"Users who complete onboarding within 24 hours are 3x more
likely to become paying customers. Consider sending a
follow-up email to users who haven't finished setup."

3. Conversion Insights ​

"Users from organic search have a 23% higher conversion rate
than paid traffic, but represent only 15% of your signups.
Investing in SEO could improve both volume and quality."

4. Feature Performance ​

"The 'team_collaboration' feature is used by 89% of users on
the enterprise plan but only 12% of pro users. This could be
a key differentiator for plan upgrades."

5. Churn Predictions ​

"Users who haven't logged in for 7 days have a 73% probability
of churning within the next month. Consider a re-engagement
campaign for this segment."

Loop Cycles ​

Insights are generated in weekly "loops":

  1. Monday: New loop begins, fresh data collection starts
  2. Tuesday-Sunday: Events accumulate, patterns emerge
  3. Monday: AI analyzes the week's data and generates insights
  4. Loop Report: Delivered to your dashboard with actionable recommendations

Data Flow Example ​

Here's how a complete user journey flows through the system:

1. Raw Events Collected ​

javascript
// User visits pricing page
LoopKit.track('page_view', { page: 'pricing' });

// User starts trial
LoopKit.track('trial_started', {
  plan: 'pro',
  source: 'pricing_page',
});

// User completes onboarding
LoopKit.track('onboarding_completed', {
  time_to_complete: 180,
  steps_skipped: 0,
});

// User uses core feature
LoopKit.track('report_generated', {
  type: 'analytics',
  data_points: 1500,
});

// User upgrades
LoopKit.track('subscription_upgraded', {
  from_plan: 'trial',
  to_plan: 'pro',
  days_since_trial: 5,
});

2. Schema Recognizes Patterns ​

LoopKit identifies this as a successful conversion funnel:

  • Acquisition: page_view (pricing)
  • Activation: trial_started
  • Engagement: onboarding_completed, report_generated
  • Revenue: subscription_upgraded

3. AI Generates Insights ​

Based on this and similar patterns:

"Users who generate their first report within 3 days of trial
start are 4.2x more likely to upgrade. Your current average
time-to-first-report is 6.8 days. Consider adding a guided
tutorial to accelerate this key activation moment."

Benefits of This Approach ​

1. No Dashboard Maintenance ​

  • Traditional analytics require constant dashboard updates
  • LoopKit automatically adapts to your evolving product

2. Focus on Product, Not Analytics ​

  • Spend time building features, not configuring charts
  • Get insights without being an analytics expert

3. Discover Unknown Patterns ​

  • AI finds correlations you might miss manually
  • Surfaces insights about user segments you didn't know existed

4. Actionable Intelligence ​

  • Not just "what happened" but "what to do about it"
  • Specific, concrete recommendations for product improvements

Best Practices for Data Flow ​

1. Send Rich Event Context ​

javascript
// ❌ Too minimal
LoopKit.track('button_click');

// ✅ Rich context
LoopKit.track('export_initiated', {
  format: 'csv',
  data_type: 'user_analytics',
  row_count: 1250,
  user_plan: 'enterprise',
  feature_area: 'reports',
});

2. Use Consistent Naming ​

javascript
// ✅ Consistent pattern
LoopKit.track('report_generated');
LoopKit.track('report_shared');
LoopKit.track('report_downloaded');

// ❌ Inconsistent
LoopKit.track('create_report');
LoopKit.track('sharing_report');
LoopKit.track('download');

3. Track User Journey Milestones ​

javascript
// Key moments in the user lifecycle
LoopKit.track('signup_completed');
LoopKit.track('onboarding_started');
LoopKit.track('first_value_moment'); // First meaningful action
LoopKit.track('feature_discovery'); // Finding key features
LoopKit.track('habit_formation'); // Regular usage pattern

4. Include Business Context ​

javascript
LoopKit.track('feature_used', {
  feature: 'advanced_filtering',
  user_plan: 'enterprise', // Business context
  team_size: 25, // Organizational context
  usage_frequency: 'daily', // Behavioral context
  success: true, // Outcome context
});

Troubleshooting Data Flow ​

Common Issues ​

Q: My insights seem generic or irrelevant

  • Solution: Add more context properties to your events
  • Example: Instead of button_click, use feature_enabled with feature details

Q: I'm not seeing patterns I expect

  • Solution: Ensure you're tracking the complete user journey, not just successful actions
  • Example: Track both login_attempted and login_successful

Q: Insights take too long to appear

  • Solution: Send more events to help AI identify patterns faster
  • Example: Track micro-interactions, not just major milestones

Next Steps ​


Ready to see your data flow in action? Start tracking events →