fipi-bank личная копия открытого банка ФИПИ методология распределения по номерам заданий →
← к списку заданий

Methodology: mapping FIPI bank items to official EGE task numbers

Question this answers: the open FIPI task bank tags every question with a КЭС (content codifier, e.g. 7.1 Фигуры на плоскости) and an answer type (Краткий ответ / Развёрнутый ответ) — but it does not tag items with the official exam task number (№1 through №19). Ivan needs a "Номер задания ЕГЭ" filter in the dashboard, so this document derives that mapping from FIPI's own official specification and codifier documents, and is honest about where the derivation is exact vs. where it's a best-effort grouping.

Sources (official, 2026 profile-level math): - https://doc.fipi.ru/ege/demoversii-specifikacii-kodifikatory/2026/ma_11_2026.zip — the official FIPI zip containing: - «МА-11 ЕГЭ 2026 СПЕЦ_профильный.pdf» (specification) — has the "Обобщённый план варианта КИМ ЕГЭ 2026 года" table (Приложение), which lists, for each of the 19 task numbers: the checked requirement codes, the content-element code (a single digit 1–7, matching the top-level codifier sections below), difficulty level (Б/П/В), max score, and which part of the exam it's in (part 1 = tasks 1–12 = Краткий ответ; part 2 = tasks 13–19 = Развёрнутый ответ). - «МА-11 ЕГЭ 2026_КОДИФ.pdf» (codifier) — Раздел 2 lists every codifier subtopic (e.g. 7.1, 7.2, ...) with its full name. This is what the live bank filter's theme values (and our scraped codifiers column) actually are. - Cross-checked against the live bank filter (ege.fipi.ru/bank/index.php?proj=...) — confirms the theme checkbox values match the codifier document's numbering exactly.

The core limitation, stated upfront

The specification's task table only records the content-element code at the section level (a bare 7 for any geometry task, 2 for any equations/inequalities task, etc.) — never the specific subtopic (7.1 vs 7.2), and never a difficulty level in a form the open bank exposes per item. The open bank's own per-question info panel only ever shows two things: КЭС (which can go down to subtopic level, e.g. 7.1) and Тип ответа. It has no "level" or "task number" field at all.

This means: - Where a task's qualitative description in the spec clearly points at one specific subtopic (e.g. task 1's description says "теоремы планиметрии", which is unambiguously subtopic 7.1, not 7.27.4 which are 3D), we can assign that task number with high confidence. - Where several task numbers share the exact same content-section code and the exact same answer type (the only two things the bank tells us), they are not distinguishable from bank metadata alone — no amount of clever parsing recovers information FIPI didn't record. We group these task numbers together rather than pretend to split them.

Geometry (content-element code 7) — the exact, high-confidence part

Task № Answer type Spec description (quoted) Codifier subtopic(s) Confidence
1 Краткий ответ "плоский угол, площадь фигуры, подобные фигуры... факты и теоремы планиметрии" 7.1 Фигуры на плоскости Exact — confirmed live: theme=7.1&qkind=ILI_STD_SHORT on the real bank returns exactly 60 items, matching Ivan's manual count.
2 Краткий ответ "вектор, координаты вектора, сумма векторов, произведение вектора на число, скалярное произведение, угол между векторами" 7.5 Координаты и векторы Exact — vectors are the only content of 7.5.
3 Краткий ответ "точка, прямая, плоскость... двугранный угол... расстояние между плоскостями... объём" 7.2 Прямые и плоскости в пространстве, 7.3 Многогранники, 7.4 Тела и поверхности вращения (any of these three) Exact as a group — task 3 is "basic stereometry," which spans all three 3D subtopics; the spec doesn't further split them, and neither does the bank.
14 Развёрнутый ответ Same content code (7) and same requirement codes (9,10,11) as task 3, but part 2 (proof-style, П level) Same as task 3: 7.2/7.3/7.4 Exact — separable from task 3 purely by answer_type = Развёрнутый ответ.
17 Развёрнутый ответ "точка, прямая, отрезок, луч, величина угла... факты и теоремы планиметрии" 7.1 Фигуры на плоскости Exact — separable from task 1 purely by answer_type = Развёрнутый ответ.

Everything else — best-effort grouping, documented per bucket

For content sections 1–6, multiple task numbers frequently share identical (content-code, answer-type) pairs. Where that happens, we cannot split them further, so the filter groups them and labels the group honestly (e.g. "Задания 6, 9, 10") rather than guessing.

Task number(s) Content section Answer type Why grouped (or not)
7 1 (Числа и вычисления) Краткий Only task using content 1 alone — no grouping needed.
6, 9, 10 2 (Уравнения и неравенства) Краткий All three are content-code 2, part 1 (краткий). Task 6 is "solve an equation," 9/10 are "word problem → equation" — a real pedagogical difference, but not one the codifier or answer-type records.
13, 15 2 Развёрнутый Both content-code 2, part 2, both П level, both worth 2 points — identical on every field the bank exposes.
11 3 (Функции и графики) Краткий Pure-content-3 краткий task (task 8 also touches content 3, but combined with 4 — see below). Some real bank items carry a mixed codifier spanning more than one of {1,2,3} (e.g. 1.3 + 3.1 together) without matching any single-section rule — these ~1% of items are folded into an extended "6,9,10,11" bucket rather than left unclassified, since they clearly live in the same part-1 algebra/functions territory.
8 3, 4 (combined) Краткий Task 8's own spec description spans both sections (tangent line = 3, derivative/extrema/integral = 4). Treated as its own bucket by codifier membership in either section, since it can't be cleanly assigned to just one.
12 4 Краткий Content-4-only, краткий. Overlaps conceptually with task 8's derivative content — a question tagged only 4.x could genuinely belong to either task 8 or 12 in a real exam; we bucket pure-4 items as "8/12" together.
4, 5 6 (Вероятность и статистика) Краткий Same content code, same answer type; differ only by Б vs П level, which isn't recorded.
16 1, 2, 3 (combined) Развёрнутый Personal-finance/modeling word problems; spec explicitly lists multiple content codes for this one task.
18 2, 3, 4 (combined) Развёрнутый Parameter problems draw on equations + functions + calculus together.
19 1, 2, 5 (combined) Развёрнутый Number theory / proof problems; spans arithmetic, equations, and logic content codes.
16 (residual) any subset of {1,2,3} not equal to the full triple Развёрнутый Same "modeling word problem" territory as task 16's exact triple, just a partial codifier combo — grouped under 16 rather than left unclassified.

Implementation

scraper/assign_task_numbers.py applies this table as a rule engine over the codifiers + answer_type columns already in the database (no re-scraping needed — this is a pure derived classification), writing: - questions.ege_task_number — a single int when the mapping is exact (1, 2, 3, 7, 11, 12, 14, 17), NULL when it's a group - questions.ege_task_group — e.g. '6,9,10' when the item falls into a grouped bucket, NULL when exact - questions.ege_task_confidence'exact' or 'grouped'

The dashboard's "Номер задания ЕГЭ" filter shows all 19 numbers; picking a grouped one (e.g. "9") filters by ege_task_group containing that number and the UI shows a note that this bucket is shared with the other numbers listed. Picking an exact one filters by ege_task_number = N and shows no caveat.

Re-run assign_task_numbers.py any time the mapping table above is revised (e.g. if FIPI changes the spec next year) — it's idempotent, just re-derives and overwrites these three columns for every row.