PO

Commercial Analyst (Telco) Mr Price Money

Full-time Durban, Kwazulu Natal, South Africa, ZA
Posted 3 weeks, 1 day ago 66 views 0 applications

Job Description

Here's a thinking process: 1. **Analyze User Input:** - User is acting as a job listing editor - I receive raw scraped text from a job website - My job: extract ONLY actual job information, return clean, readable format - Must REMOVE: social sharing, author bylines, "you may also like", navigation, comments, ads/promotions, cookie notices, duplicate text, category labels not part of job, stray numbers/formatting artifacts - Must KEEP and STRUCTURE: job title, company/name, location, job description/responsibilities, requirements/qualifications, how to apply, salary, deadline, job ID/reference, contract type/level - Return ONLY the cleaned job text. No commentary, no headers like "Here is the cleaned version", no markdown. Wait, the actual prompt I received is different. Let re-read carefully. The user message starts: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." Then there are rules: - Use

for intro paragraphs and general text - Use

for section headers (Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role) - Use
  • for list items (duties, requirements, qualifications, skills) - No CSS classes, no inline styles, no
    s, no
    tags - Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase - If text has no clear sections, just wrap paragraphs in

    tags - Return ONLY the HTML. No markdown fences, no explanation, no preamble. Then there's a "Job description:" section with the actual text to format. Important: The very first part of the user message ("You are a job listing editor...") seems to be system/context, but the actual task is clearly the HTML formatting task described after "Rules:". The job description text is provided in the final block. Let me extract the job description text and format it as clean semantic HTML per the rules. Job description text: ```

    We are looking for a commercially minded analyst who can turn data into insights, identify revenue opportunities, and help shape decisions that improve customer value and business performance.

    Qualifications

    • Matric.

    • Relevant certifications in SQL, Python, Microsoft Office, or analytics tools

    • Relevant Diploma or Degree in Analytics, Finance, Business Management, Information Technology, Data Science, or a related field.

    Experience

    • Minimum 3 years' experience in a Commercial Analyst, BI Analyst, CVM Specialist, Data Analyst, Reporting Analyst, or similar analytical role.

    • Proven experience in commercial performance analysis, revenue growth initiatives, customer base management, revenue forecasting, and business performance reporting.

    • Telecommunications industry experience is highly advantageous, particularly within an MVNO or subscription-based environment.

    Technical Skills

    • Advanced SQL skills (non-negotiable).

    • Advanced Excel skills (non-negotiable).

    • Experience using analytics, reporting, and business intelligence tools.

    • Python experience is advantageous.

    Key Competencies

    • Strong commercial acumen with a passion for identifying growth opportunities.

    • Ability to interpret complex data and translate insights into business actions.

    • Strong analytical, forecasting, and problem-solving skills.

    • High attention to detail and commitment to data accuracy.

    • Ability to influence stakeholders through data-driven recommendations.

    • Analyse customer, revenue, and usage data to identify growth opportunities.

    • Provide insights that support commercial decisions and drive revenue performance.

    • Monitor trends, customer behaviour, and key business metrics.

    • Build and maintain reports, dashboards, and forecasting models.

    • Identify revenue leakage, business risks, and areas for improvement.

    • Partner with Commercial, Finance, Risk, and other stakeholders.

    • Support customer value management (CVM) initiatives and campaigns.

    • Deliver analysis that improves engagement, retention, and profitability. 

    ``` Rules for HTML formatting: - Use

    for introductory paragraphs and general text - Use

    for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role) - Use
    • for list items (duties, requirements, qualifications, skills) - No CSS classes, no inline styles, no
      s, no
      tags - Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase - If text has no clear sections, just wrap paragraphs in

      tags - Return ONLY the HTML. No markdown fences, no explanation, no preamble. Key challenge: The input has inline CSS styles and formatting artifacts from the original scraped text. I need to strip the CSS inline styles but keep the content word-for-word. The rule says "no inline styles", so I must remove `style="..."` attributes. Also remove tags like ``, ``, `

        `, `
      • `, etc., but keep the text content. Wait, the rule says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This means I must keep all the text exactly as it appears, but I can strip the formatting tags (HTML tags that aren't

        ,

        ,
          ,
        • ). The content inside those tags must be preserved exactly. Let me parse the text and decide how to structure it. The text has: 1. Intro paragraph: "We are looking for a commercially minded analyst who can turn data into insights, identify revenue opportunities, and help shape decisions that improve customer value and business performance." 2. A heading-like element: "Qualifications" (bold, with inline style) 3. Unordered list under Qualifications: Matric., Relevant certifications..., Relevant Diploma or Degree... 4. "Experience" heading 5. Unordered list under Experience: Min 3 years experience..., Proven experience..., Telecoms experience... 6. "Technical Skills" heading 7. Unordered list under Technical Skills: Advanced SQL..., Advanced Excel..., Experience using analytics..., Python experience... 8. "Key Competencies" heading 9. Unordered list under Key Competencies: Strong commercial acumen..., Ability to interpret..., Strong analytical..., High attention to detail..., Ability to influence... 10. Another unordered list with bullet points starting with "Analyse customer..." etc. (these look like key duties/responsibilities) The rules say: - Use

          for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role) - Use
          • for list items - No CSS classes, no inline styles, no
            s, no
            tags - Preserve ALL original content word-for-word So I need to: - Extract the text content from each section - Create

            for each section header - Create
            • for each list item - Create

              for the introductory paragraph - Remove all inline styles, outer

              , ,

                presentational attributes, , etc., but keep the text. Wait, the rule says "Use

                for introductory paragraphs and general text". The first line is a paragraph. I should wrap it in

                . "Use

                for section headers". So each section title (Qualifications, Experience, Technical Skills, Key Competencies, and maybe the last list section?) should be

                . "Use
                • for list items (duties, requirements, qualifications, skills)". So all list items go in
                  • . But there are two sets of
                    • : one under each heading, and the last big list of duties. I need to combine or structure them appropriately. The rule says "If text has no clear sections, just wrap paragraphs in

                      tags". But this text has clear sections. Let me list all the sections I can identify: - Intro paragraph (no heading, just text) - Qualifications (heading + list items) - Experience (heading + list items) - Technical Skills (heading + list items) - Key Competencies (heading + list items) - Key Duties/Responsibilities (the last

                        with 8 items starting "Analyse customer...") The headings in the rules list: Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role. My text has: Qualifications, Experience, Technical Skills, Key Competencies, and the duties list. I should map them appropriately. The duties list could be "Key Duties" or "Responsibilities". The last list doesn't have a heading in the original text, but I can infer it's duties/responsibilities. I'll add an

                        Key Duties

                        or

                        Responsibilities

                        before it. But the rule says "Preserve ALL original content word-for-word". Does adding a new heading count as adding content? The rule says "do not add, remove, summarise, or rephrase". But the structure requires

                        for section headers. The original text has headings like "Qualifications", "Experience", etc. I should use those existing headings as

                        , and for the last duties section, since it has no heading, I might need to add one, but the rule says don't add content. Hmm. Let re-read carefully: "Use

                        for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". This suggests I should use

                        tags for section headers, and the examples given are possible headers. It doesn't say I must only use headers that exist in the text; it says use

                        for section headers. The text has some headers already. I should extract those and wrap them in

                        . For sections that don't have a heading, I might need to add one, but the "preserve all original content word-for-word" might conflict. However, the content of the headings is original text; wrapping them in

                        isn't adding new content, it's markup. The text inside

                        is the original heading text. For the last duties section, there's no heading text in the original; the first item is "Analyse customer, revenue, and usage data...". I could wrap that entire section in

                        or add an

                        Key Duties

                        . But the rule says "Preserve ALL original content word-for-word — do not add, remove, summarise, or

    Apply Now ↗

    How well do you match?

    Get an instant AI match score for this role — free, takes 3 minutes.

    Tailor your CV for this role

    The concierge rewrites your whole CV and writes a matching cover letter for this job — opens right here, nothing to paste.

    Tailor My CV to This Job ✍️

    Free cover letter for this job

    Upload your CV and get a tailored cover letter in seconds — free, no account needed.

    Generate a Cover Letter 📝

MJC
ECHO
Your MJC Assistant

I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.

How was your experience with ECHO?