Quick Start Guide¶
This guide walks through the complete Askalot workflow from questionnaire design to statistical analysis.
Time to complete: ~15 minutes
Step 1: Design in Armiger¶
Navigate to armiger.askalot.io for AI-assisted questionnaire creation with real-time SMT validation.
Create Your Questionnaire¶
Using AI Assistant:
Describe your survey requirements:
"Create a customer satisfaction survey. Ask about overall satisfaction, then conditionally ask about specific issues if satisfaction is low."
The AI generates QML code while the SMT solver validates logical consistency in real-time.
Example QML:
qmlVersion: "1.0"
questionnaire:
title: "Customer Satisfaction Survey"
codeInit: |
satisfaction_level = 0
needs_followup = 0
blocks:
- id: b_main
title: "Your Experience"
items:
- id: q_overall
kind: Question
title: "How satisfied are you with our service?"
codeBlock: |
satisfaction_level = q_overall.outcome
if q_overall.outcome <= 6:
needs_followup = 1
input:
control: Slider
min: 0
max: 10
labels:
0: "Very Dissatisfied"
5: "Neutral"
10: "Very Satisfied"
- id: q_reason
kind: Question
title: "What is the primary reason for your low rating?"
precondition:
- predicate: needs_followup == 1
input:
control: Radio
labels:
1: "Product quality"
2: "Delivery time"
3: "Customer service"
4: "Pricing"
- id: q_recommend
kind: Question
title: "Would you recommend us to others?"
input:
control: Switch
on: "Yes"
off: "No"
SMT Validation¶
Armiger automatically validates:
- ✓ Reachability: All questions can be reached
- ✓ Consistency: Validation rules are satisfiable
- ✓ Acyclicity: No circular dependencies
- ✓ Global satisfiability: Valid completion paths exist
Validation Output:
✓ All items reachable
✓ No circular dependencies detected
✓ Postconditions satisfiable
✓ Global formula: SAT
Flow paths: 2
Path 1: q_overall → q_recommend (satisfaction > 6)
Path 2: q_overall → q_reason → q_recommend (satisfaction ≤ 6)
Step 2: Build Campaign in Targetor¶
Navigate to targetor.askalot.io to configure demographic targeting and launch your campaign.
Create Campaign¶
- Click "New Campaign"
- Configure settings:
- Name: "Q4 Customer Satisfaction"
- Target responses: 500
- Duration: 14 days
Import Respondents¶
Upload CSV or connect to user database:
user_id,email,age,gender,customer_segment
1001,user1@example.com,34,M,premium
1002,user2@example.com,28,F,standard
Configure Demographics¶
Target demographic distribution:
Age Distribution: - 18-24: 15% | 25-34: 30% | 35-44: 25% | 45-54: 20% | 55+: 10%
Customer Segment: - Premium: 30% | Standard: 70%
Targetor automatically calculates sample sizes and monitors real-time completion by segment.
Launch¶
- Upload
customer-satisfaction.qml - Review configuration
- Click "Launch Campaign"
Targetor generates unique survey links and begins distribution.
Step 3: Execute in SirWay¶
Respondents access sirway.askalot.io via unique links.
Lazy Evaluation¶
SirWay evaluates questions dynamically based on current state:
- Initial state: Load questionnaire, initialize variables
- Dynamic flow: Present questions with satisfied preconditions
- Collect response: Execute
codeBlock, update state - Re-evaluate: Check preconditions for remaining questions
- Present next: Show newly eligible questions
Example Flow¶
Respondent: Slides satisfaction to 4/10
→ codeBlock executes: needs_followup = 1
→ Precondition evaluated: needs_followup == 1 ✓
→ Question appears: "What is the primary reason?"
→ Selects: "Delivery time"
→ Final question: "Would you recommend us?"
→ Survey complete
Contradiction-Free Guarantee¶
SirWay ensures respondents never encounter:
- ❌ Questions with unsatisfiable preconditions
- ❌ Validation rules contradicting previous answers
- ❌ Dead ends with no path forward
- ❌ Circular dependencies
Step 4: Analyze in Balansor¶
Navigate to balansor.askalot.io for statistical correction and data export.
Load Campaign Data¶
- Select campaign: "Q4 Customer Satisfaction"
- Balansor imports all responses
- Displays actual vs. target demographics
Response Distribution¶
| Segment | Target % | Actual % | Deviation |
|---|---|---|---|
| Age 18-24 | 15% | 12% | -3% |
| Age 25-34 | 30% | 33% | +3% |
| Premium | 30% | 35% | +5% |
| Standard | 70% | 65% | -5% |
Apply Post-Stratification¶
Balansor calculates adjustment weights:
Example Weights: - Age 18-24: 1.25 (under-represented) - Age 25-34: 0.91 (over-represented) - Premium: 0.86 (over-represented) - Standard: 1.08 (under-represented)
Corrected Results¶
Before Rebalancing: - Average satisfaction: 6.8/10 - Recommend rate: 72%
After Rebalancing: - Average satisfaction: 6.5/10 (adjusted) - Recommend rate: 68% (adjusted)
Export Data¶
Export in multiple formats:
CSV:
user_id,q_overall,q_reason,q_recommend,weight,segment
1001,4,2,0,1.08,standard
1002,8,NULL,1,0.86,premium
SPSS: Variable labels and weights included
R: Data frame with weight column
Summary Statistics: Weighted means, confidence intervals, cross-tabulations
Complete Workflow Trace¶
Design → Campaign → Execute → Analyze¶
Armiger:
AI generates questionnaire
→ SMT validates: ✓ SAT, ✓ No cycles, ✓ All reachable
→ Export customer-satisfaction.qml
Targetor:
Import 10,000 users
→ Select 1,200 (stratified sampling, 2.4× oversampling)
→ Launch campaign
→ Send unique survey links
SirWay:
User 1001 clicks link
→ Load QML, init: satisfaction_level=0, needs_followup=0
→ Present: q_overall
→ Collect: 4 → Execute: needs_followup=1
→ Present: q_reason (precondition satisfied)
→ Collect: 2 (Delivery time)
→ Present: q_recommend
→ Collect: 0 (No)
→ Complete: 3 items, 45 seconds
Balansor:
Load 500 responses
→ Calculate weights by demographic
→ Apply post-stratification
→ Export corrected data
→ Result: Weighted satisfaction 6.5/10 (CI: 6.2-6.8)
Next Steps¶
→ Creating Surveys - Learn QML syntax in depth
→ Theory - Understand mathematical foundations
→ API Reference - Integrate Askalot programmatically
Summary¶
Key Workflow:
- ✓ Design with AI + SMT validation in Armiger
- ✓ Build campaigns with demographic targeting in Targetor
- ✓ Execute surveys with lazy evaluation in SirWay
- ✓ Analyze with statistical correction in Balansor
Key Innovation: Cognitive offloading—AI generates questions, SMT ensures consistency, you focus on research goals.