+
누적 성적표 (전략당 5,000장/회차)
+
+ | 전략 | 장수 | 3등 | 4등 | 5등 |
+
+ {order.filter((s) => byStrategy[s]).map((s) => {
+ const a = byStrategy[s];
+ return (
+
+ | {label[s]} | {a.n_tickets.toLocaleString()} |
+ {a['3rd']} | {a['4th']} | {a['5th']} |
+
+ );
+ })}
+
+
+
엔진이 무작위를 넘지 못하면 분석에 우위가 없다는 정직한 증거입니다.
+
+ );
+}
+```
+
+- [ ] **Step 4: CalibrationChart 작성** — `web-ui/src/pages/lotto/components/CalibrationChart.jsx`:
+```jsx
+import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';
+
+export default function CalibrationChart({ history }) {
+ if (!history?.length) return null;
+ const data = [...history].reverse().map((h) => ({
+ draw: h.draw_no, score: h.score_total, pct: h.percentile != null ? h.percentile : null,
+ }));
+ return (
+