Understand how per-student question randomization works — tag allocations, hierarchical picking, and how each student gets a unique quiz.
BanglaTech supports per-student randomized quizzes. Instead of manually adding fixed questions to a quiz, you configure Tag Allocations — the system randomly picks questions from your Question Bank for each student. Every student gets a different set of questions!
The Question Bank is a pool of questions stored at the group level. Each question can be tagged with one or more tags (topics). Tags can be organized in a parent-child hierarchy:
Parent Tag: বাংলা সাহিত্য
├── Child Tag: কবিতা
│ ├── Sub-child: রবীন্দ্রনাথ
│ └── Sub-child: নজরুল
└── Child Tag: উপন্যাস
When creating a quiz, you set Tag Allocations — how many questions to randomly pick from each tag. For example:
If you allocate 5 questions from Parent-tag1 with no child allocations:
Parent-tag1 → 16 questions (directly tagged)
├── child_tag1 → 10 questions
│ ├── child_tag2 → 4 questions
│ └── child_tag3 → 6 questions
└── child_tag2 → 6 questions
Total pool = up to 42 questions (all levels combined)
Allocation: Parent-tag1 → 5 questions
Result: 5 random questions picked from the entire pool of 42
Important: There is NO proportional distribution across child tags in this mode. All questions from the hierarchy are equally likely to be selected.
For more control, you can set child allocations within a parent. The system uses a depth-first, children-first strategy:
Allocation:
বাংলা সাহিত্য → 10 questions total
├── কবিতা → 4 questions
└── উপন্যাস → 3 questions
Step 1: Pick 4 random questions from কবিতা's pool (including রবীন্দ্রনাথ, নজরুল)
Step 2: Pick 3 random questions from উপন্যাস's pool
Step 3: 10 - 4 - 3 = 3 remaining → pick 3 more from the entire বাংলা সাহিত্য pool (excluding already-picked questions)
This gives you precise control: guarantee a minimum number of questions from each subtopic, while the remaining slots are filled randomly from the broader pool.
In addition to question randomization, the answer options are also shuffled per student. So even if two students get the same question, the options appear in a different order. The system stores a shuffle map in the session to correctly grade answers.
As an admin, you can preview the quiz to see a sample random selection. Each preview generates a fresh set — this is useful for verifying that your allocations produce a good mix of questions.
When Allow multiple attempts is enabled, you can also turn on Unique questions per attempt. This ensures each retake gives the student questions they haven't seen before.
Student A, Attempt 1: picks from full pool (30) → gets Q1-Q10
Student B, Attempt 1: picks from full pool (30) → can also get Q1-Q10
Student A, Attempt 2: excludes Q1-Q10 → picks from Q11-Q30
Student A, Attempt 3: excludes Q1-Q20 → picks from Q21-Q30
Student A, Attempt 4: all 30 seen → fallback kicks in, allows repeats
If the question bank doesn't have enough unseen questions to fill the allocation, the system automatically falls back to previously seen questions to fill the remaining slots. No error occurs — students always get a complete quiz.
Tip: For best results with this feature, keep your question bank at least 3x larger than your quiz allocation. For example, if your quiz picks 10 questions, have at least 30 in the bank so students get 3 fully unique attempts.