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.
// 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:
{
"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:
// 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":
- Monday: New loop begins, fresh data collection starts
- Tuesday-Sunday: Events accumulate, patterns emerge
- Monday: AI analyzes the week's data and generates insights
- 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
// 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
// ❌ 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
// ✅ 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
// 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
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
, usefeature_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
andlogin_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
- Learn about common events to track →
- See example AI insights →
- Explore user identification →
- Review tracking best practices →
Ready to see your data flow in action? Start tracking events →