ctc_poc2026/specs/openspec.md

36 lines
4.2 KiB
Markdown
Raw Permalink Normal View History

- 对于以下的目标`*`尽量以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` 等)。