ctc_poc2026/specs/openspec.md

36 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

- 对于以下的目标`*`尽量以ODS OTT 数据为主数, **tm_cell_grid_coverage_m 以ODS MR 数据为主数**
- 对于目标*的表ODS MR 只要需要的场景下才会涉及。比如重叠覆盖类指标过覆盖类指标MOD类指标
~~- 对于目标*表中的字段indoor_flag 只在 `tm_region_coverage_m` 中**必填**,其他表置空处理不考虑~~
- 对于数据计算的环境:分为 hivesql, postgis(pg) 两侧一般只有涉及到空间计算时才会涉及到postgis(pg) 比如:表 `tm_cluster_area_m`. 默认情况下,以 hivesql侧为主
- 所有的目标*表,其中涉及到的 `市场份额`, `驻留比``高价值`, `VIP` 等字眼 的字段,直接置空处理。
- **`tm_cluster_area_m`要单独进行梳理分析**
- **全量持久化要求**:本项目涉及的所有核心表,包括依赖维表 (`#`) 和 目标计算表 (`*`),最终必须全部持久化存储于 PostgreSQL (PG) 数据库中。
- **维表双侧冗余**:第一组 `td_grid`, `td_building_grid_m`, `td_building_cell_m` 等维表,在 PG 侧作为应用支撑的同时,必须在 HiveSQL 侧同步保留备份,以支撑 `tm_xxx` 系列表的月度大规模聚合计算。
- **计算逻辑 Skill 化**:所有目标 `*` 表的梳理结论必须沉淀为独立的 Skill 文档,存储于 `target_table_skills/` 目录下,文件名为 `表名.md`,作为指导开发智能体生成 SQL 的基准。
- **开发产物规范化**开发代码SQL、Shell必须按表归档于 `src/` 目录下的独立子目录以表名命名。SQL 与 Shell 脚本分离,并包含 `README.md` 执行说明。
- **维度补全与双源融合策略 (UNION 模式)**
1. **维度缺省填充**:在计算分支中,若数据源不具备目标表维度,必须采用默认值填充(如 `indoor_flag = -1`, `freq = 'all'`)。
2. **室内外明细粒度 (0/1)**:主数来源锁定为 **ODS MR**,代表电信本网深度覆盖。
3. **全量聚合粒度 (-1)**:主数来源锁定为 **ODS OTT**,代表全网大盘覆盖。
4. **结果集成**:两类数据执行 `UNION ALL` 后存入 PG禁止在同一行中混合两源原始采样指标。
- **用户数去重与近似计算**:跨栅格聚合(如区域、楼宇)的用户数统计必须基于 `device_id_list` 执行集合去重。为优化性能,接受并推荐使用近似计算函数(如 `approx_count_distinct`)。
- **聚类融合策略 (OTT 锚点 + MR 空间回填)**`tm_cluster_area_m` 聚类簇不再进行单源隔离。
1. **锚点聚类**:基于 `tm_grid_coverage_m``indoor_flag = -1` (OTT 侧) 的弱覆盖栅格执行空间聚类,确定簇的地理边界 (WKT) 和核心规模指标 (用户数)。
2. **空间回填**:利用生成的聚类区域边界,通过空间关联 (Spatial Join) 统计并回填该区域内 MR 侧 (`indoor_flag ∈ {0, 1}`) 的网络质差指标(如重叠覆盖、干扰点数等)。
3. **输出要求**:最终表结构不包含 `indoor_flag`,实现同一地理区域内规模与质量指标的合一。
- **楼宇分类判别规范**
1. **数据源限定**:由于涉及三网对比,`building_type` 的判定逻辑仅在 OTT 数据分支(`indoor_flag = -1`)下执行。
2. **判定依据**:严格执行 `specs\build_type_specs.md` 中的判定算法。
### 4. 栅格达标率 (Grid Coverage Rate) 计算标准
该指标用于衡量行政区、楼宇或场景内,网络覆盖“优秀”的栅格占比。其计算采用两级判定逻辑:
1. **栅格级判定 (Grid Level)**
*`tm_grid_coverage_m` 中计算。
* **判定标准**若单个栅格内的覆盖率RSRP >= -105dBm 或 -110dBm 的采样点占比)**≥ 90%**,则判定为该栅格“达标”。
2. **区域级聚合 (Region Level)**
*`tm_region_coverage_m``tm_building_coverage_m` 等表中聚合。
* **计算公式**`COUNT(达标栅格) / COUNT(该区域内所有有采样点的栅格)`
* **注意**分子分母均需按运营商operator_name和网络制式network_class进行隔离统计。
3. **字典映射**:分类结果必须映射至 `td_dict_item_202605031501111.csv` 定义的标准 Key`network_first`, `advantage` 等)。