{"version":3,"sources":["images/dk_logo_primary.svg","layouts/NavBar.js","images/icons/linkedin.svg","images/icons/facebook.svg","images/icons/twitter.svg","images/dk_logo_no_text.svg","images/icons/up_arrow_round.svg","layouts/Footer.js","helpers/ScrollToTop.js","layouts/Hero.js","images/homepage_hero2.svg","images/homepage_hero_mobile.svg","images/homepage_squares.svg","components/ServicesCardVertical.js","images/icons/data_presentation.svg","images/icons/data_science.svg","images/icons/data_management.svg","images/icons/data_collection.svg","images/tentacles-homepage-services.svg","layouts/HomepageServices.js","images/tentacles-homepage-work.svg","layouts/HomepageWork.js","images/homepage_team.svg","images/homepage_team_mobile.svg","layouts/HomepageTeam.js","components/BlogPostPreview.js","images/blog/three_family_members_with_same_birthday/banner.jpg","images/blog/exciting_changes_our_new_website/banner.png","images/blog/why_churn_prediction_aint_churn_prevention/minority-report.png","images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/banner_main.png","images/blog/three_family_members_with_same_birthday/family_tree.png","pages/blog/Three_family_members_with_same_birthday.js","images/blog/exciting_changes_our_new_website/laptop_mock.jpg","images/blog/exciting_changes_our_new_website/page_designs.jpg","pages/blog/Exciting_changes_Our_new_website.js","images/blog/why_churn_prediction_aint_churn_prevention/predictive-modelling.png","images/blog/why_churn_prediction_aint_churn_prevention/true-negative.png","images/blog/why_churn_prediction_aint_churn_prevention/true-positive.png","images/blog/why_churn_prediction_aint_churn_prevention/false-negative.png","images/blog/why_churn_prediction_aint_churn_prevention/false-positive.png","images/blog/why_churn_prediction_aint_churn_prevention/tom1.png","images/blog/why_churn_prediction_aint_churn_prevention/tom2.png","images/blog/why_churn_prediction_aint_churn_prevention/tom3.png","images/blog/why_churn_prediction_aint_churn_prevention/tom4.png","pages/blog/Why_churn_prediction_aint_churn_prevention.js","images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/picture1.png","images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/picture2.png","images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/picture3.png","images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/picture4.png","pages/blog/Whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world.js","pages/blog/BlogList.js","layouts/HomepageBlog.js","images/work/reath/reath-logo.png","images/work/insure-and-go/insure-and-go-logo.png","images/work/tuenti-argentina/tuenti-logo.png","images/icons/testimonial--prev.svg","images/work/48/48-logo.png","images/icons/testimonial--next.svg","images/tentacles-testimonials.svg","layouts/Testimonials.js","images/tentacles-homepage-contact.svg","images/tentacles-homepage-contact-2.svg","layouts/HomepageContact.js","images/clients.png","pages/Homepage.js","images/about_hero.svg","images/team-photos-gope.jpg","layouts/AboutIntro.js","images/team-photos-work.jpg","layouts/AboutMission.js","images/team-photos-gaming.jpg","layouts/AboutVision.js","images/team-photos-simon.jpg","images/team-photos-jack.jpg","images/team-photos-christian.jpg","images/team-photos-artur.jpg","images/team-photos-ayub.jpg","layouts/AboutTeam.js","images/icons/environment.svg","images/tentacles-about.svg","images/tentacles-about-2.svg","layouts/AboutEnvironment.js","pages/About.js","images/icons/right_arrow.svg","components/ServicesCardHorizontal.js","images/data_collection_preview.svg","images/data_science_preview.svg","images/data_management_preview.svg","images/data_presentation_preview.svg","layouts/ServicesMain.js","images/icons/process--arrow.svg","images/icons/process--sources.svg","images/icons/process--imports.svg","images/icons/process--manipulation.svg","images/icons/process--bi.svg","images/icons/process--output.svg","layouts/ServicesProcess.js","images/fit-who-are-you.svg","images/who-are-you-widget.svg","layouts/FitWhoAreYou.js","images/looking-for-1.svg","images/looking-for-2.svg","images/looking-for-3.svg","layouts/FitLookingFor.js","images/tentacles-services.svg","layouts/FitWhyNow.js","images/services_hero.svg","pages/Services.js","images/data_collection_hero.svg","images/work/tuenti-argentina/preview.jpg","images/work/O2Wifi/preview.jpg","images/work/48/preview.jpg","images/work/insure-and-go/preview.jpg","images/work/reath/preview.jpg","pages/work/WorkList.js","components/WorkPostPreview.js","layouts/WorkNextPreview.js","images/tentacles-service-page.svg","pages/ServicesDataCollection.js","images/data_management_hero.svg","pages/ServicesDataManagement.js","images/data_science_hero.svg","pages/ServicesDataScience.js","images/data_presentation_hero.svg","pages/ServicesDataPresentation.js","images/blog_bg.svg","images/tentacles-blog.svg","layouts/BlogListPreview.js","pages/Blog.js","layouts/BlogPostHeader.js","layouts/BlogPostContent.js","layouts/BlogNextPosts.js","images/tentacles-blog-post.svg","pages/BlogPost.js","layouts/WorkListPreview.js","images/work_hero.svg","pages/Work.js","layouts/ContactHero.js","layouts/ContactLinks.js","layouts/ContactMap.js","pages/Contact.js","images/about_vision.svg","pages/PrivacyPolicy.js","images/tentacles-work-post.svg","layouts/WorkHero.js","images/work/tuenti-argentina/tuenti-banner.jpg","components/WorkPostSummaryPoints.js","pages/work/TuentiArgentina.js","images/work/reath/reath-banner.jpg","pages/work/Reath.js","images/work/O2Wifi/O2-wifi-logo.png","images/work/O2Wifi/O2-wifi-banner.jpg","pages/work/O2Wifi.js","images/work/insure-and-go/insure-and-go-banner2.jpg","pages/work/InsureAndGo.js","pages/Error404.js","App.js","index.js"],"names":["NavBar","about","setAbout","useState","services","setServices","blog","setBlog","work","setWork","useEffect","currentPath","window","location","pathname","split","_jsx","className","children","_jsxs","href","src","logo","alt","type","id","concat","Footer","Fade","duration","delay","target","rel","LinkedInIcon","FacebookIcon","TwitterIcon","onClick","scrollTo","top","behavior","UpArrowRound","MainLogo","withRouter","_ref","history","unlisten","listen","left","Hero","heading","subheading","cta","icon","icon_width","icon_padding","small_icon","icon_mobile","particles","style","width","padding","ServicesCardVertical","description","url","ServicesHomepage","Tentacles","ServiceCard","DataCollectionIcon","DataManagementIcon","DataScienceIcon","DataPresentationIcon","HomepageWork","WorkIcon","HomepageTeam","TeamIcon","TeamIconMobile","BlogPostPreview","Title","Date","Banner","Snippet","URL","Three_family_members_with_same_birthday","family_tree","Exciting_changes_our_new_website","laptop_mock","design_mock","margin","Why_churn_prediction_aint_churn_prevention","predictive_moddeling","true_negative","tom1","true_positive","tom2","false_positive","tom3","false_negative","tom4","Whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world","ImgPicture1","ImgPicture2","ImgPicture3","ImgPicture4","blogList","title","date","author","tags","snippet","banner","banner_whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world","content","banner_why_churn_prediction_aitn_churn_prevention","banner_exciting_changes_our_new_website","banner_three_family_members_with_same_birthday","BlogListContext","createContext","BlogListProvider","props","Provider","value","HomepageBlog","useContext","slice","map","post","Author","Testimonials","sliderRef","useRef","Slider","dots","infinite","speed","slidesToShow","slidesToScroll","fade","adaptiveHeight","arrows","ref","ReathLogo","TuentiArgentinaLogo","InsureAndGoLogo","current","slickPrev","TestimonialPrevIcon","slickNext","TestimonialNextIcon","HomepageContact","TentaclesLeft","TentaclesRight","Homepage","MetaTags","name","property","HeroBG","HeroBGMobile","HomepageSquares","Clients","HomepageServices","AboutIntro","GopePhoto","distance","AboutMission","right","MissionIcon","AboutVision","VisionIcon","AboutTeam","TeamPhotosSimon","TeamPhotosJack","TeamPhotosChristian","TeamPhotosArtur","TeamPhotosAyub","AboutEnvironment","EnvironmentIcon","About","ServicesCardHorizontal","service","service_details","preview_img","preview_img_width","preview_img_padding","link","item","detail","key","right_arrow","ServicesMain","DataCollectionPreview","DataSciencePreview","DataManagementPreview","DataPresentationPreview","ServicesProcess","SourcesIcon","ProcessArrow","ImportsIcon","ManipulationIcon","BIIcon","OutputIcon","FitWhoAreYou","WhoAreYouIcon","WhoAreYouWidget","FitLookingFor","LookingFor1","LookingFor2","LookingFor3","FitWhyNow","TentaclesServices","Services","WhoAreYou","WhatAreYouLookingFor","WhyNow","WorkListContext","WorkListProvider","workList","setWorkList","subtitle","TuentiArgentinaPreview","O2WifiPreview","InsureAndGoPreview","ReathPreview","WorkPostPreview","Subtitle","WorkNextPreview","preview1","preview2","post1","filter","post2","ServicesDataCollection","ServicesDataManagement","ServicesDataScience","ServicesDataPresentation","BlogList","Blog","BlogListPreview","BlogPostHeader","BlogHeader","BlogPostContent","BlogContent","BlogNextPosts","BlogNext","BlogPrev","BlogPost","nextPost","prevPost","origin","WorkListPreview","WorkList","Work","ContactHero","btnLoad","setBtnLoad","btnSent","setBtnSent","onSubmit","e","preventDefault","setTimeout","emailjs","sendForm","then","result","console","log","text","error","reset","placeholder","required","ContactLinks","ContactMap","height","border","allowFullScreen","loading","Contact","PrivacyPolicy","WorkHero","Overview","Logo","logo_width","logo_padding","WorkPostSummaryPoints","Client","Industry","Service","Location","TuentiArgentina","TuentiLogo","TuentiBanner","WorkListSummaryPoints","Reath","ReathBanner","O2Wifi","O2WifiLogo","O2WifiBanner","InsureAndGo","InsureAndGoBanner","Error404","App","createBrowserHistory","ga","search","Router","ScrollToTop","Switch","Route","path","exact","component","idx","Tuenti","CookieConsent","buttonText","cookieName","buttonStyle","color","background","borderColor","borderWidth","fontSize","borderRadius","expires","ReactDOM","render","React","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.9b95948a.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/dk_logo_primary.5c1ebd17.svg\";","import React, { useState, useEffect } from \"react\";\nimport logo from \"../images/dk_logo_primary.svg\";\n\nconst NavBar = () => {\n const [about, setAbout] = useState(false);\n const [services, setServices] = useState(false);\n const [blog, setBlog] = useState(false);\n const [work, setWork] = useState(false);\n\n useEffect(() => {\n const currentPath = window.location.pathname.split(\"/\")[1];\n\n if (currentPath === \"about\") {\n setAbout(true);\n } else if (currentPath === \"services\") {\n setServices(true);\n } else if (currentPath === \"blog\") {\n setBlog(true);\n } else if (currentPath === \"work\") {\n setWork(true);\n }\n }, []);\n\n return (\n
\n
\n
\n \n \n
\n );\n};\n\nexport default NavBar;\n","export default __webpack_public_path__ + \"static/media/linkedin.2f595ba7.svg\";","export default __webpack_public_path__ + \"static/media/facebook.92829386.svg\";","export default __webpack_public_path__ + \"static/media/twitter.24375631.svg\";","export default __webpack_public_path__ + \"static/media/dk_logo_no_text.1914c3a8.svg\";","export default __webpack_public_path__ + \"static/media/up_arrow_round.b04bdd05.svg\";","import React from \"react\";\nimport LinkedInIcon from \"../images/icons/linkedin.svg\";\nimport FacebookIcon from \"../images/icons/facebook.svg\";\nimport TwitterIcon from \"../images/icons/twitter.svg\";\nimport MainLogo from \"../images/dk_logo_no_text.svg\";\nimport UpArrowRound from \"../images/icons/up_arrow_round.svg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst Footer = () => {\n return (\n \n );\n};\n\nexport default Footer;\n","import { useEffect } from \"react\";\nimport { withRouter } from \"react-router-dom\";\n\nfunction ScrollToTop({ history }) {\n useEffect(() => {\n const unlisten = history.listen(() => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: \"smooth\",\n });\n });\n return () => {\n unlisten();\n };\n }, []);\n\n return null;\n}\n\nexport default withRouter(ScrollToTop);\n","import React from \"react\";\nimport Fade from \"react-reveal/Fade\";\n\nconst Hero = ({\n heading,\n subheading,\n cta,\n icon,\n icon_width,\n icon_padding,\n small_icon,\n icon_mobile,\n particles,\n}) => {\n return (\n
\n
\n
\n
\n
\n \n \n

{heading}

\n
\n
\n \n
\n
{subheading}
\n
\n
\n\n {cta ? (\n \n \n \n ) : null}\n
\n
\n
\n\n {particles ? (\n \n \n \n ) : (\n
\n )}\n\n {icon_mobile ? (\n \n \n \n \n ) : (\n \n \n \n )}\n
\n );\n};\n\nexport default Hero;\n","export default __webpack_public_path__ + \"static/media/homepage_hero2.30f25f7b.svg\";","export default __webpack_public_path__ + \"static/media/homepage_hero_mobile.af889986.svg\";","export default __webpack_public_path__ + \"static/media/homepage_squares.f6d290d3.svg\";","import React from \"react\";\n\nconst ServicesCardVertical = ({ icon, heading, description, url }) => {\n return (\n
\n
{heading}
\n
\n \n
\n \n
\n
\n
\n\n
\n

{description}

\n
\n
\n );\n};\n\nexport default ServicesCardVertical;\n","export default __webpack_public_path__ + \"static/media/data_presentation.1439aaa1.svg\";","export default __webpack_public_path__ + \"static/media/data_science.11bfaa04.svg\";","export default __webpack_public_path__ + \"static/media/data_management.f5419127.svg\";","export default __webpack_public_path__ + \"static/media/data_collection.3b61f700.svg\";","export default __webpack_public_path__ + \"static/media/tentacles-homepage-services.a14ad1aa.svg\";","import React from \"react\";\nimport ServiceCard from \"../components/ServicesCardVertical\";\nimport Fade from \"react-reveal/Fade\";\n\nimport DataPresentationIcon from \"../images/icons/data_presentation.svg\";\nimport DataScienceIcon from \"../images/icons/data_science.svg\";\nimport DataManagementIcon from \"../images/icons/data_management.svg\";\nimport DataCollectionIcon from \"../images/icons/data_collection.svg\";\n\nimport Tentacles from \"../images/tentacles-homepage-services.svg\";\n\nconst ServicesHomepage = () => {\n return (\n \n
\n \n
\n

\n Our solutions put data\n
at the heart of your business\n

\n\n
\n\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n );\n};\n\nexport default ServicesHomepage;\n","export default __webpack_public_path__ + \"static/media/tentacles-homepage-work.1a6d1f56.svg\";","import React from \"react\";\nimport WorkIcon from \"../images/tentacles-homepage-work.svg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst HomepageWork = () => {\n return (\n
\n
\n
\n
\n
\n \n

\n We take pride in\n
our work\n

\n
\n\n \n

\n However large or small your business is, all of our customers\n receive the highest standard of service. Honest, highly-rated\n and reliable, why not see what Data Kraken can do for you?\n

\n
\n \n \n Our case studies\n \n \n
\n
\n
\n \n \n \n
\n );\n};\n\nexport default HomepageWork;\n","export default __webpack_public_path__ + \"static/media/homepage_team.8ffdcb7b.svg\";","export default __webpack_public_path__ + \"static/media/homepage_team_mobile.549ab657.svg\";","import React from \"react\";\nimport TeamIcon from \"../images/homepage_team.svg\";\nimport TeamIconMobile from \"../images/homepage_team_mobile.svg\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst HomepageTeam = () => {\n return (\n
\n
\n
\n
\n \n

\n A passionate team\n
that cares\n

\n
\n \n

\n The unique group of driven like-minded individuals at Data\n Kraken are bonded by a passion to develop the best data\n solutions for each customer, whilst delivering a friendly, yet\n professional service.\n

\n
\n \n \n Meet the team\n \n \n
\n
\n
\n\n \n \n \n \n
\n );\n};\n\nexport default HomepageTeam;\n","import React from \"react\";\n\nconst BlogPostPreview = ({ Title, Date, Banner, Snippet, URL }) => {\n return (\n
\n \n
\n \"blog-banner\"\n
\n\n
\n
{Title}
\n
{Date}
\n

{Snippet}

\n
\n
\n
\n );\n};\n\nexport default BlogPostPreview;\n","export default __webpack_public_path__ + \"static/media/banner.692cd012.jpg\";","export default __webpack_public_path__ + \"static/media/banner.f9a16cae.png\";","export default __webpack_public_path__ + \"static/media/minority-report.f781b17e.png\";","export default __webpack_public_path__ + \"static/media/banner_main.8d37059a.png\";","export default __webpack_public_path__ + \"static/media/family_tree.2bd57d2c.png\";","import React from \"react\";\nimport family_tree from \"../../images/blog/three_family_members_with_same_birthday/family_tree.png\";\nimport Fade from \"react-reveal/Fade\";\n\nconst Three_family_members_with_same_birthday = () => {\n // Write blog content here\n return (\n
\n \n

\n \n \n The Sun{\" \"}\n \n \n reported a story last year of a baby, mother, and grandmother who all\n shared the same birthday, the 8th Feb. Isn’t that lovely! Furthermore,\n the headline suggests they beat odds of 50 million to one to achieve\n this feat. Hmm, sounds fishy to me - let's do some investigation.\n

\n\n

Some basic math(s)

\n

\n We all know there’s 365 days in a year, or more precisely 365 and a\n quarter. We’re pretty sure The Sun wouldn’t be anything less than\n accurate, so let’s try and see how they’ve got their 50 million to 1\n figure. Lets assume they multiplied 365.25 three times.\n

\n\n
\n 365.25 days x 365.25 days x 365.25 days = 48.72M\n
\n\n

\n Well, that is pretty close. 48.72M to 1 just isn’t as catchy - we’ll\n grant them some artistic license.\n

\n

\n Indeed, according to the article a William Hill representative agreed,\n stating:\n

\n\n
\n \"We would put the odds in the region of 50 million to one for three\n generations of the same family sharing a birthday.\"\n
\n\n

Is it that remarkable?

\n

\n The problem with this calculation is that it makes a large assumption.\n Nobody specified which day the grandmother was to be born on, so the\n chances of her being born on her birthday are a rather less exciting 1\n to 1, or 100%. Therefore the calculation becomes:\n

\n\n
\n 1 x 365.25 days x 365.25 days = 133,407\n
\n\n

This produces a rather less exciting figure of 133K to 1.

\n

Hey, that’s still pretty high odds

\n

\n The story does show an image of the granddaughter Evie with her SISTER\n Georgia. There’s no mention of Georgia having the same birthday as the\n mum, so presumably she hasn’t. So it’s not just a single grandmother,\n mother, granddaughter situation? How does that impact the odds?\n

\n

\n The more children in the family, the more likely this is to happen.\n Let’s look at an example:\n

\n\n \"family-tree\"\n\n

\n Imagine the grandmother had five children, who all went on to have\n five children each. How would that affect the odds?\n

\n\n

\n The odds of at least one of the five children being born on her\n birthday would drop to:\n

\n\n
356.25 / 5 = 73
\n\n

\n And the odds of at least one of the twenty-five grandchildren being\n born on her birthday would drop to:\n

\n\n
365.25 / 25 = 14.61
\n\n

Making the new calculation:

\n\n
73 x 14.61 = 1066
\n\n

\n That’s just over a thousand to one. But without knowing how many\n children are in the family, it’s impossible to work out what the real\n odds are. It’s certainly much lower than the 50 million to 1 nonsense\n in the headline.\n

\n\n

Conclusion

\n\n

\n In this non-story, the odds have been badly calculated and don’t\n resemble the real odds of such an event happening. Realistically, the\n chances of a grandchild being born the same day as her mother and\n grandmother would probably be less than 365. The following are\n factors:\n

\n

\n

\n Always take such sensational stories with a pinch of salt. I was\n pretty excited to read about the 50 million to 1 odds, but have been\n left feeling deflated. The Sun has let me down, what a surprise!\n

\n
\n
\n );\n};\n\nexport default Three_family_members_with_same_birthday;\n","export default __webpack_public_path__ + \"static/media/laptop_mock.7665b3ee.jpg\";","export default __webpack_public_path__ + \"static/media/page_designs.4125d57e.jpg\";","import React from \"react\";\nimport laptop_mock from \"../../images/blog/exciting_changes_our_new_website/laptop_mock.jpg\";\nimport design_mock from \"../../images/blog/exciting_changes_our_new_website/page_designs.jpg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst Exciting_changes_our_new_website = () => {\n // Write blog content here\n return (\n
\n \n

\n After a challenging 2020, Data Kraken has been rapidly expanding in\n 2021 with new fun and fantastic clients as well as several new bright\n staff joining the team. We're hard at work with all of our internal\n and external projects, to increase our workflow efficiency and give\n the best possible deliverables for our clients. As part of our\n workstack, updating our website to showcase our new product portfolio\n was high on our priority list.\n

\n\n

\n \n We had lots of different ideas and we're very excited to share our\n end result!\n \n

\n\n

\n The feedback we’d received was that the previous design didn't show\n off enough of what we think makes us special. We also asked around for\n what some of our clients and partners thought about us, and it became\n clear that the website was missing some of our core characteristics\n and qualities. Words and phrases such as:\n

\n\n

\n

\n

\n\n

\n are what makes us proud to run our company and perform our work in the\n way that we do.\n

\n\n \"laptop\"\n\n

\n Big changes were made. We expanded upon some of the features we did\n like in the previous design whilst adding a new host of flair and\n custom icons. We touched up our general brand with a more relevant,\n but still friendly typography scheme. More colours were added\n throughout, making things bolder and fresher. We added in some\n genuine, personable images of the team around the office. All of\n these, wrapped around subtle animations for a more dynamic feel.\n

\n\n

\n Plus, we took the time to refine our About Us page. We came together\n and took in all the opinions of our staff, clients and partners to\n really articulate why we're here and doing what we do. We're crazy\n passionate and are proud geeks with data. We love giving the best we\n can for our clients and we want this to reflect on how we're presented\n to the world. We also added in a statement about our strong support\n for the environment - something important to each member of staff at\n Data Kraken.\n

\n\n

\n Last, but definitely not least, we have officially started our blog!\n Be sure to follow our socials for updates on all of our new posts!\n We'll be writing about company updates, funky data topics/analysis and\n much more goodies.\n

\n\n

\n We hope you enjoy the website as much as we do and we're so excited to\n show you what else we have in store this year! If you have any\n questions or queries feel free to message us at\n hello@datakraken.net \n and we'll happily get back to you soon!\n

\n\n \n
\n
\n );\n};\n\nexport default Exciting_changes_our_new_website;\n","export default __webpack_public_path__ + \"static/media/predictive-modelling.1c9d4678.png\";","export default __webpack_public_path__ + \"static/media/true-negative.859cd6b8.png\";","export default __webpack_public_path__ + \"static/media/true-positive.c629538e.png\";","export default __webpack_public_path__ + \"static/media/false-negative.310e4ebe.png\";","export default __webpack_public_path__ + \"static/media/false-positive.3377b31b.png\";","export default __webpack_public_path__ + \"static/media/tom1.935a0bba.png\";","export default __webpack_public_path__ + \"static/media/tom2.1fe74ad2.png\";","export default __webpack_public_path__ + \"static/media/tom3.abbc6d09.png\";","export default __webpack_public_path__ + \"static/media/tom4.c49f1fe2.png\";","import React from \"react\";\n\nimport predictive_moddeling from \"../../images/blog/why_churn_prediction_aint_churn_prevention/predictive-modelling.png\";\nimport true_negative from \"../../images/blog/why_churn_prediction_aint_churn_prevention/true-negative.png\";\nimport true_positive from \"../../images/blog/why_churn_prediction_aint_churn_prevention/true-positive.png\";\nimport false_negative from \"../../images/blog/why_churn_prediction_aint_churn_prevention/false-negative.png\";\nimport false_positive from \"../../images/blog/why_churn_prediction_aint_churn_prevention/false-positive.png\";\n\nimport tom1 from \"../../images/blog/why_churn_prediction_aint_churn_prevention/tom1.png\";\nimport tom2 from \"../../images/blog/why_churn_prediction_aint_churn_prevention/tom2.png\";\nimport tom3 from \"../../images/blog/why_churn_prediction_aint_churn_prevention/tom3.png\";\nimport tom4 from \"../../images/blog/why_churn_prediction_aint_churn_prevention/tom4.png\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst Why_churn_prediction_aint_churn_prevention = () => {\n // Write blog content here\n return (\n
\n \n

\n As a self-confessed stats geek and CEO of an analytical consultancy, I\n should probably be the first person to try to sell you the benefits of\n churn prediction models.\n

\n\n

\n Just so we’re all clear, the churn prediction I’m talking about isn’t\n the likelihood of milk turning into butter - that will perhaps be in a\n future blog. The churn prediction I’m talking about is the one about\n customers leaving your business. The Internet describes it as, ‘\n churn prediction modelling techniques attempt to understand the\n precise customer behaviours and attributes which signal the risk and\n timing of customer churn.'\n

\n\n

\n Basically, it’s about predicting customers leaving before they’ve\n left. The theory is that if you can identify them before they leave,\n you can act on that information, tell them how much you love them, and\n then they’ll stay. If you think you’ve heard of a similar concept\n before, you have - it’s a central theme in Steven Spielberg’s 2002\n film,{\" \"}\n \n Minority Report\n {\" \"}\n (based on the 1956 short story \"\n \n The Minority Report\n \n \" by{\" \"}\n \n Philip K. Dick\n \n )\n

\n\n

\n The film stars Mr runs-around-a-lot Tom Cruise as a police officer\n where{\" \"}\n \n PreCrime\n \n , a specialized police department, apprehends criminals based on\n \n {\" \"}\n foreknowledge\n {\" \"}\n provided by three psychics called \"{\" \"}\n \n precogs\n \n \".{\" \"}\n

\n

\n I’ll not spoil it for you, but things didn’t go according to plan as\n sometimes predictions can go wrong.\n

\n\n

\n From a statistical point of view, predictive modelling can be split\n into 4 different sections, which are laid out in the chart below with\n Minority Report as an example:\n

\n\n \n

\n Let's look at each of these individually and explain what they mean…\n

\n \n\n
\n
\n

\n This makes Tom Cruise and statistical modellers happy. Tom gets to\n lock away bad guys before they get to commit a crime and\n statistical modellers get to prove that their models are accurate\n by correctly predicting people who are about to leave. Tom heads\n to the pub with his friends at{\" \"}\n \n PreCrime\n {\" \"}\n and the data modeller goes home and plays with their Lego\n Millennium Falcon.\n

\n
\n\n
\n \"true-negative\"\n

Happy bunny Mr C

\n
\n
\n\n \n\n
\n
\n \"true-negative\"\n

Ambivalent TC

\n
\n\n
\n

\n This is the picture you get when you type ‘Tom Cruise ambivalent’\n in Google, which describes how he and statistical modellers feel\n about ‘True Positives’. In Minority Report, the{\" \"}\n \n precogs\n {\" \"}\n do not care about innocent people being innocent. In the same ilk,\n statistical modellers or retention managers don’t care about\n existing customers who are staying (even if the Marketing\n department do).\n

\n
\n
\n\n \n\n
\n
\n

\n Tom is quite mournful with Type I Errors. This is where he finds a\n person guilty who is actually innocent. There have been a lot of\n famous Type I Errors throughout history, so I’ll just leave this\n here…{\" \"}\n \n List of exonerated death row inmates\n \n

\n\n

\n From a Statistical Modeller's point of view, these are customers\n who are incorrectly identified as leaving. This is an unfortunate\n truth of model building - that no model will ever be perfect. For\n a company, this means you may be wasting valuable resources on\n trying to retain customers which were anyway going to stay, which\n can be costly. This could be improved through creating a better\n model or gathering more data on your customers.\n

\n
\n\n
\n \"true-negative\"\n

Pensive Tommy

\n
\n
\n\n \n\n
\n
\n \"true-negative\"\n

Angry Thomas

\n
\n\n
\n

\n Tom isn’t a happy bunny, statistical modeller isn’t a happy bunny\n and the retention manager DEFINITELY isn’t a happy bunny. Tom\n knows a guilty person has got away, the statistical modeller’s\n model didn’t predict someone leaving and the retention manager’s\n Customer Base has gone down as they’ve lost a customer. Unhappy\n times all round.\n

\n
\n
\n\n

\n Obviously, Type I and Type II errors are bad and one solution to\n reduce them is through small adjustments to the model, or gathering\n more data on the customers. However, even with a 100% accurate churn\n prediction model, that isn’t going to keep customers who were\n intending to leave. Ultimately, the overall business goal is churn\n prevention (i.e. preventing customers from leaving), not just creating\n a great statistical model after all.\n

\n\n

Let’s talk churn prevention

\n\n

\n If you have a super-duper Churn Prediction model that will correctly\n predict if a customer will leave or not, that is only half the battle.\n If your Statistical Modeller creates something that lets you know a\n customer is definitely going to leave in the next 28 days, what do you\n do?\n

\n\n

\n

    \n
  1. \n Call them and beg them to stay with a new contract at a better\n rate?\n
  2. \n
  3. \n Give them 3 months free or half price to lock them in for a bit\n longer?\n
  4. \n
  5. Give them free vouchers from Just Eat or Amazon?
  6. \n
  7. \n Send them some flowers asking them that you’ll change and try\n harder from now on?\n
  8. \n
\n

\n\n

\n I could go on, but can you see the point? There are lots of different\n churn prevention tools, but which is the right one, and more\n specifically, how am I supposed to know?{\" \"}\n

\n\n

\n {\" \"}\n \n Gamble and Huff\n {\" \"}\n who wrote a song in the 1950s called{\" \"}\n \n ‘If you don’t know me by now'\n {\" \"}\n If You Don't Know Me By Now - Harold Melvin. You may think it was\n written about a relationship between a man and a women, but I choose\n to believe it was about a disgruntled customer and a service contract\n provider.{\" \"}\n

\n\n

\n Ultimately, if you are worried about your customers leaving and you\n don’t know what to do about it, it’s a bit too late I’m afraid.\n Successful businesses aim to know their customers from day one, and\n nurture that relationship from the start. That relationship should be\n treated like any other relationship, whether it’s with a partner,\n friend, pet or plant, i.e. learn about what they like and what they\n don’t like and, whatever you do, don’t take them for granted.{\" \"}\n

\n\n

\n The biggest predictor I’ve consistently seen in churn prediction model\n building is users' answers to the question ‘Why are you joining us?’.\n From my 22 years of working with Churn Prediction models, this is THE\n Golden Question to ask during the onboarding process. If you know why\n people are joining, you’ll be able to determine why they may want to\n leave in the future and what you can do about it.{\" \"}\n

\n\n

\n Then, after a customer has joined, learning as much as possible about\n them will help you shape their relationship with you. If you do\n everything right, they won’t want to leave and hence Churn Prediction\n isn’t required. The big caveat here is ‘do everything right’, this is\n a difficult task but understanding your customers through usage\n segmentation, demographic profiling and relevant & timely CRM{\" \"}\n \n Customer relationship management\n {\" \"}\n is key.\n

\n\n

\n Ultimately, if you are worried about your customers leaving and you\n don’t know what to do about it, it may be too late for your existing\n customers - but never too late to start for your new customers.\n

\n\n

\n However, to have effective churn prevention you need to have robust\n and accurate data at the heart of your business….and you know who can\n help you create this, don’t you? (Hint: It’s not Tom Cruise!)\n

\n
\n
\n );\n};\n\nexport default Why_churn_prediction_aint_churn_prevention;\n","export default __webpack_public_path__ + \"static/media/picture1.80d0faee.png\";","export default __webpack_public_path__ + \"static/media/picture2.dbd503ef.png\";","export default __webpack_public_path__ + \"static/media/picture3.717c9472.png\";","export default __webpack_public_path__ + \"static/media/picture4.023a4e0d.png\";","import React from \"react\";\nimport Fade from \"react-reveal/Fade\";\n\nimport ImgPicture1 from \"../../images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/picture1.png\";\nimport ImgPicture2 from \"../../images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/picture2.png\";\nimport ImgPicture3 from \"../../images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/picture3.png\";\nimport ImgPicture4 from \"../../images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/picture4.png\";\n\nconst Whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world =\n () => {\n // Write blog content here\n return (\n
\n \n

\n \n \n Introducing Hirosha, based in Sri Lanka and in his 6th year of\n working with Data Kraken.\n \n \n

\n\n

\n As we find ourselves more than 12 months into a pandemic, a question\n we’re all starting to ask ourselves is ‘Do I like working in an\n office, or would I rather be working at home?’ Depending on your\n job, you’ve most probably had to work in an office in the past, as\n there was often no alternative unless you were self-employed. Back\n in the office itself, we’re all familiar with its pros and cons -\n you might have found it a distracting environment, with silent wars\n over the temperature and waiting for the microwave. On the other\n hand, you might have enjoyed the entertainment, team bonding and\n social aspect that is so unique to the office.\n

\n\n \"img-1\"\n

\n \n This isn’t an easy choice when you’re based in Sri Lanka and the\n office is in the UK…\n \n

\n\n

\n So, when based 6000 miles away from where you work, how do you make\n it work? And what are the complications of working for a foreign\n company? There are a few solutions, such as basing yourself in near\n the company for a few months at a time and coming back home for few\n weeks. However, the easiest and most environmentally friendly way is\n working remotely, keeping in touch via video call, email, and chat\n systems. This has grown exponentially since 2019, as the whole world\n faced (and still faces) travel restrictions and the spread of\n contagious diseases.\n

\n\n \"img-2\"\n\n

Let’s look at the pros and cons:

\n

Employee

\n\n

\n One of the most loathed aspects of office work is before you even\n arrive - the commute. Whether it be by foot, bike, bus, train or\n plane, physical tiredness is proven to impact wellbeing. Remote\n working solves the multiple issues of commuting - no travelling\n reduces physical tiredness and wasting time, extra hours of sleep\n improve cognitive ability and no additional costs. In the comfort of\n your own home, you can be present with your loved ones and take\n regular breaks, such as taking 5 to enjoy breathing in the fresh air\n of your own garden.\n

\n\n

\n However, the grass isn’t always greener on the other side. Whilst at\n home, it might be challenging to communicate when it comes to\n managing clients. Clear and consistent communication is needed\n within your teams to ensure no ‘doubling up’ on messages, or worse,\n no communication at all due to the assumption that someone else was\n dealing with it. There have been past reports of video calls getting\n hacked, which can also be a concern when dealing with highly\n confidential material. Socially, it can be hard to feel like part of\n the team when you’re missing lunches out, day trips, company\n parties, birthdays, and end-of-the-week pub trips.\n

\n\n \"img-3\"\n\n

\n There will always be challenges working from home, from your lousy\n broadband provider to your unpredictable children/pets, which are\n entertaining to everyone else. Accidents happen, and back-up plans\n need to be put in place if you’re uncontactable and suddenly without\n a working machine. Even though the company may be able to manage,\n and your team can share the load, it’s unfair to rely on them to\n sort your issues - just because you’re working from home.\n

\n\n

\n A permanent office space at home will be a must, and somewhere quiet\n where you won’t be interrupted. This is much easier said than done,\n depending on your living situation. It’s also very easy to slip into\n unhealthy habits when working from home, and you may feel yourself\n becoming more withdrawn, both socially and workwise. Fewer meetings\n with friends or teammates can take a toll on an anyone’s mental\n health.\n

\n\n

Employer

\n\n

\n From the employer’s point of view, it can be financially appealing\n to have staff working from home, as it means renting or purchasing\n less office space and lower equipment costs, unless providing desks\n and chairs. It can even reduce additional unseen costs like\n cleaning, utilities, insurance, and maintenance. If a company can\n provide a team of employees from different time zones to offer\n services and support 24 hours around the clock, this gives fantastic\n coverage to clients, offering excellent service which in turn can be\n charged at a higher rate.{\" \"}\n

\n\n

\n However, with employees at home, nothing is face-to-face, and even\n small queries require a call instead of a quick catch up by the\n watercooler. If you’re not reachable when you’re expected to be,\n this can cause bottlenecks and delays on workloads. From a\n cyber-security perspective, it might be a challenge to ensure the\n same guidelines in both the office and WFH staff are being adhered\n to when it comes to leaving PC’s unattended, password safety habits\n and having all anti-virus software up to date.\n

\n\n

\n Sometimes sensitive information might be shared during work video\n calls, which can reach ears of visitors or people passing through\n the house, and poor audio quality and background noise might lead to\n miscommunication among the video call participants. Will we ever\n hear the end of “You’re on mute”?{\" \"}\n

\n \"img-4\"\n\n

My Experience?

\n\n

\n Based on my years at Data Kraken, there have been very few issues\n that can’t be solved. Although I’m thousands of miles away, it feels\n like I’m there in the office thanks to frequent friendly messaging\n and the team regularly checking in. I’m included in group chats and\n given opportunities to share my ideas for things such as Birthday\n gifts for other members of the team, event ideas, and fantasy\n football leagues. We spend an hour each week to gather as a team and\n share our thoughts, suggestions and discuss updates on where we are\n as an organization which helps keep me feeling involved and\n motivated. I also received a box of our new merchandise recently\n with some mugs, a hoodie, pens, a cap, and notepad so I can\n represent in my town!\n

\n\n

Final verdict:

\n

\n There’s a lot of things to balance in life, and while there will\n always be advantages and disadvantages, it can be a win-win to work\n from home. As long as you have a company that values you and cares\n about your wellbeing, you’ll be able to find a solution that works\n for both of you.\n

\n
\n
\n );\n };\n\nexport default Whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world;\n","import React, { useState, createContext, useContext } from \"react\";\n\n// Import all blog banners\nimport banner_three_family_members_with_same_birthday from \"../../images/blog/three_family_members_with_same_birthday/banner.jpg\";\nimport banner_exciting_changes_our_new_website from \"../../images/blog/exciting_changes_our_new_website/banner.png\";\nimport banner_why_churn_prediction_aitn_churn_prevention from \"../../images/blog/why_churn_prediction_aint_churn_prevention/minority-report.png\";\nimport banner_whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world from \"../../images/blog/whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world/banner_main.png\";\n\n// Import all blog components\nimport Three_family_members_with_same_birthday from \"./Three_family_members_with_same_birthday\";\nimport Exciting_changes_our_new_website from \"./Exciting_changes_Our_new_website\";\nimport Why_churn_prediction_aint_churn_prevention from \"./Why_churn_prediction_aint_churn_prevention\";\nimport Whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world from \"./Whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world\";\n\n// Add new blog header details here\nconst blogList = [\n {\n id: 4,\n title:\n \"What’s it like working for an IT company located in another region of the world? \",\n date: \"November 19th 2021\",\n author: \"Hirosha Liyanage\",\n tags: [],\n snippet:\n \"Introducing Hirosha, based in Sri Lanka and in his 6th year of working with Data Kraken.\",\n banner:\n banner_whats_it_like_working_for_an_IT_company_located_in_another_region_of_the_world,\n url: \"whats-it-like-working-for-an-IT-company-located-in-another-region-of-the-world\",\n content: (\n \n ),\n },\n {\n id: 3,\n title: \"Why Churn Prediction ain't Churn Prevention\",\n date: \"September 14th 2021\",\n author: \"Gope Walker\",\n tags: [],\n snippet:\n \"As a self-confessed stats geek and CEO of an analytical consultancy, I should probably be the first person to try to sell you the benefits of churn prediction models...\",\n banner: banner_why_churn_prediction_aitn_churn_prevention,\n url: \"why-churn-prediction-aint-churn-prevention\",\n content: ,\n },\n {\n id: 2,\n title: \"Exciting Changes - Our New Website\",\n date: \"August 3rd 2021\",\n author: \"Christian Liu\",\n tags: [],\n snippet:\n \"We also asked around for what some of our clients and partners thought about us, and it became clear that the old website was missing some of our core characteristics...\",\n banner: banner_exciting_changes_our_new_website,\n url: \"exciting-changes-our-new-website\",\n content: ,\n },\n {\n id: 1,\n title: \"Three family members with same birthday - what are the odds?\",\n date: \"July 12th 2021\",\n author: \"Simon Singh\",\n tags: [],\n snippet:\n \"The Sun reported a story last year of a baby, mother, and grandmother who all shared the same birthday! Isn’t that remarkable.\",\n banner: banner_three_family_members_with_same_birthday,\n url: \"three-family-members-with-same-birthday\",\n content: ,\n },\n];\n\nexport const BlogListContext = createContext();\n\nexport const BlogListProvider = (props) => {\n return (\n \n {props.children}\n \n );\n};\n","import React, { useContext } from \"react\";\nimport BlogPostPreview from \"./../components/BlogPostPreview\";\nimport Fade from \"react-reveal/Fade\";\n\nimport { BlogListContext } from \"../pages/blog/BlogList\";\n\nconst HomepageBlog = () => {\n const [blogList] = useContext(BlogListContext);\n\n return (\n
\n
\n \n

\n Explore our latest
\n news & insights\n

\n
\n
\n\n
\n {blogList.slice(0, 4).map((post) => (\n \n
\n \n
\n
\n ))}\n
\n\n
\n \n \n
View All
\n
\n
\n
\n
\n
\n );\n};\n\nexport default HomepageBlog;\n","export default __webpack_public_path__ + \"static/media/reath-logo.bfa2f86d.png\";","export default __webpack_public_path__ + \"static/media/insure-and-go-logo.cd92f87c.png\";","export default __webpack_public_path__ + \"static/media/tuenti-logo.4a4896b1.png\";","export default __webpack_public_path__ + \"static/media/testimonial--prev.4b35fac9.svg\";","export default __webpack_public_path__ + \"static/media/48-logo.3175a247.png\";","export default __webpack_public_path__ + \"static/media/testimonial--next.2b2e378e.svg\";","export default __webpack_public_path__ + \"static/media/tentacles-testimonials.646f49ea.svg\";","import React, { useRef } from \"react\";\n\nimport ReathLogo from \"../images/work/reath/reath-logo.png\";\nimport InsureAndGoLogo from \"../images/work/insure-and-go/insure-and-go-logo.png\";\nimport TuentiArgentinaLogo from \"../images/work/tuenti-argentina/tuenti-logo.png\";\nimport Mobile48Logo from \"../images/work/48/48-logo.png\";\n\nimport TestimonialPrevIcon from \"../images/icons/testimonial--prev.svg\";\nimport TestimonialNextIcon from \"../images/icons/testimonial--next.svg\";\n\nimport Slider from \"react-slick\";\n\nimport Fade from \"react-reveal/Fade\";\nimport Tentacles from \"../images/tentacles-testimonials.svg\";\n\nconst Testimonials = () => {\n const sliderRef = useRef();\n\n const gotoNext = () => {\n sliderRef.current.slickNext();\n };\n\n const gotoPrev = () => {\n sliderRef.current.slickPrev();\n };\n\n const settings = {\n dots: false,\n infinite: true,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n fade: false,\n adaptiveHeight: false,\n arrows: false,\n };\n\n return (\n
\n
\n \n \n \n\n \n

\n What our clients \n say
about us\n

\n
\n\n
\n\n \n \n {/*
\n
\n
\n
\n
\n
\n

\n
\n\n
\n

\n We have been working together for several years, and\n the geographical distance has never been a barrier to\n implement large projects. Their service and support\n have been a pillar in the growth of Tuenti, and helped\n us identify business opportunities that we may have\n missed without them.\n

\n
\n\n
\n
\n \n
\n\n
\n
\n Marketing & BI Team,\n
\n Tuenti Argentina\n
\n
\n
\n
\n
\n
\n
\n
*/}\n\n
\n
\n
\n
\n
\n
\n

\n
\n\n
\n

\n We knew Data Kraken would bring a huge amount of\n energy and enthusiasm, and appreciated the passion and\n dedication they had for the project. They went\n above-and-beyond to ensure the deliverables met the\n scope, and they communicated progress well throughout.\n

\n
\n\n
\n
\n \n
\n\n
\n
\n Claire Rampen,\n
\n Co-founder & Managing Director\n
\n
\n
\n
\n
\n
\n
\n
\n\n {/*
\n
\n
\n
\n
\n
\n

\n
\n\n
\n

\n Data Kraken go over and beyond to share their\n knowledge and expertise of the Telco industry by\n highlighting and extracting new and exciting insights\n from our data. It is clear they really care about\n their clients. They always deliver on time and are\n enthusiastic to collaborate on all projects big and\n small, and best of all are a pleasure to work with.\n

\n
\n\n
\n
\n \n
\n\n
\n
\n Joanne Bracken,\n
\n 48 Lead Manager\n
\n
\n
\n
\n
\n
\n
\n
*/}\n\n
\n
\n
\n
\n
\n
\n

\n
\n\n
\n

\n Thanks to comprehensive data analysis delivered\n swiftly by Data Kraken, we have achieved extraordinary\n results, becoming one of the top three mobile brands\n in Ecuador and gaining an NPS score (measure of\n customer satisfaction) of 70%, a truly unique score in\n the telecoms industry.\n

\n
\n\n
\n
\n \n
\n\n
\n
\n Carlos Jaime\n
\n Head of IT, Tuenti Ecuador\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n

\n
\n\n
\n

\n Data Kraken has a wealth of experience managing data\n needs for different industries. From day one, Gope\n understood our strategy, needs and context. He was\n fully involved in helping us to get over the line, by\n supporting and mentoring the team and working with the\n stakeholders in the company.\n

\n
\n\n
\n
\n \n
\n\n
\n
\n Ana Vilda,\n
\n Chief Information Officer\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n
\n );\n};\n\nexport default Testimonials;\n","export default __webpack_public_path__ + \"static/media/tentacles-homepage-contact.5f1d9e45.svg\";","export default __webpack_public_path__ + \"static/media/tentacles-homepage-contact-2.0480e3e1.svg\";","import React from \"react\";\nimport TentaclesLeft from \"../images/tentacles-homepage-contact.svg\";\nimport TentaclesRight from \"../images/tentacles-homepage-contact-2.svg\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst HomepageContact = () => {\n return (\n
\n
\n \n
\n

\n See how we can
\n help you today\n

\n
\n\n \n\n \n \n
\n
\n
\n );\n};\n\nexport default HomepageContact;\n","export default __webpack_public_path__ + \"static/media/clients.fed73cd4.png\";","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport HeroBG from \"../images/homepage_hero2.svg\";\nimport HeroBGMobile from \"../images/homepage_hero_mobile.svg\";\nimport HomepageSquares from \"../images/homepage_squares.svg\";\n\nimport HomepageServices from \"../layouts/HomepageServices\";\nimport HomepageWork from \"../layouts/HomepageWork\";\nimport HomepageTeam from \"../layouts/HomepageTeam\";\nimport HomepageBlog from \"../layouts/HomepageBlog\";\nimport Testimonials from \"../layouts/Testimonials\";\nimport HomepageContact from \"../layouts/HomepageContact\";\nimport MetaTags from \"react-meta-tags\";\n\nimport Fade from \"react-reveal/Fade\";\n\nimport Clients from \"../images/clients.png\";\n\nconst Homepage = () => {\n return (\n
\n \n \n Data Kraken - Improve your business's decision-making using logic,\n reason and data.\n \n \n \n \n \n \n\n \n Improve your business's
\n decision-making using\n
logic,\n reason and{\" \"}\n data\n \n }\n subheading=\"We can help find the solutions that best utilise your data, enabling you to make better informed decisions.\"\n cta=\"How we can help\"\n icon={HeroBG}\n icon_mobile={HeroBGMobile}\n particles={HomepageSquares}\n />\n\n
\n \n
\n \"clients\"\n
\n
\n
\n\n \n \n \n \n \n \n
\n );\n};\n\nexport default Homepage;\n","export default __webpack_public_path__ + \"static/media/about_hero.225bc47b.svg\";","export default __webpack_public_path__ + \"static/media/team-photos-gope.1978dd5f.jpg\";","import React from \"react\";\nimport GopePhoto from \"../images/team-photos-gope.jpg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst AboutIntro = () => {\n return (\n
\n
\n
\n
\n \"gope\"\n
\n \n
\n

Empowering businesses with actionable insights since 2014

\n

\n After working for blue chip companies for 16 years, Gope was\n disheartened by the lack of innovation in the analytics arm of\n most businesses. The desire to innovate in order to optimise and\n improve businesses using data-driven techniques was rarely seen\n at the level Gope deemed appropriate - hence the birth of Data\n Kraken.
\n
Today, the Data Kraken team are working with clients\n across multiple continents, offering data-driven insights that\n allow companies to manage their business as effectively and\n efficiently as possible.\n

\n
\n
\n
\n
\n
\n );\n};\n\nexport default AboutIntro;\n","export default __webpack_public_path__ + \"static/media/team-photos-work.8c39f7be.jpg\";","import React from \"react\";\nimport MissionIcon from \"../images/team-photos-work.jpg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst AboutMission = () => {\n return (\n
\n
\n
\n \n
\n

Our Mission

\n

\n Data is the most precious commodity a business has. But\n making sense of data, creating insights and turning them into\n decisions is even more important.\n
\n
\n Our mission is to help you understand your business’s data and\n help you utilise this information, improving all aspects of your\n business. We always aim to provide the most insightful data\n solutions through our professional, reliable and friendly\n expertise.\n

\n
\n
\n
\n \"mission\"\n
\n
\n
\n
\n );\n};\n\nexport default AboutMission;\n","export default __webpack_public_path__ + \"static/media/team-photos-gaming.4f025efa.jpg\";","import React from \"react\";\nimport VisionIcon from \"../images/team-photos-gaming.jpg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst AboutVision = () => {\n return (\n
\n
\n
\n
\n \"values\"\n
\n \n
\n

Our Values

\n

\n Data Kraken is a fun and dynamic business which is constantly\n pushing the boundaries in analytics to develop new and\n innovative solutions for our clients. We are results driven and believe in\n continuous improvement for ourselves as well as our clients.\n
\n
\n We strive to go above and beyond and we value\n creating personal relationships with our clients. Being authentic and\n developing strong connections is key to get the very best\n solutions for our clients.\n

\n
\n
\n
\n
\n
\n );\n};\n\nexport default AboutVision;\n","export default __webpack_public_path__ + \"static/media/team-photos-simon.cbb962d7.jpg\";","export default __webpack_public_path__ + \"static/media/team-photos-jack.5273c94c.jpg\";","export default __webpack_public_path__ + \"static/media/team-photos-christian.930c7a42.jpg\";","export default __webpack_public_path__ + \"static/media/team-photos-artur.5ed4f2fe.jpg\";","export default __webpack_public_path__ + \"static/media/team-photos-ayub.1f479f75.jpg\";","import React from \"react\";\nimport Fade from \"react-reveal/Fade\";\nimport TeamPhotosSimon from \"../images/team-photos-simon.jpg\";\nimport TeamPhotosJack from \"../images/team-photos-jack.jpg\";\nimport TeamPhotosChristian from \"../images/team-photos-christian.jpg\";\nimport TeamPhotosArtur from \"../images/team-photos-artur.jpg\";\nimport TeamPhotosAyub from \"../images/team-photos-ayub.jpg\";\n\nconst AboutTeam = () => {\n return (\n
\n
\n
\n \n

\n The team making it
\n all happen\n

\n

\n An energetic group that love a challenge, we embrace our inner (or\n outer) geek and are passionate about smart data solutions. We\n strive to communicate effectively, focus on our goals and support\n each other, not forgetting to have fun along the way!\n

\n \n Get in touch\n \n
\n
\n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n
\n
\n );\n};\n\nexport default AboutTeam;\n","export default __webpack_public_path__ + \"static/media/environment.1ae91fbc.svg\";","export default __webpack_public_path__ + \"static/media/tentacles-about.3a844746.svg\";","export default __webpack_public_path__ + \"static/media/tentacles-about-2.135e0045.svg\";","import React from \"react\";\nimport EnvironmentIcon from \"../images/icons/environment.svg\";\nimport TentaclesLeft from \"../images/tentacles-about.svg\";\nimport TentaclesRight from \"../images/tentacles-about-2.svg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst AboutEnvironment = () => {\n return (\n
\n \n
\n
\n \n

Our support for the environment

\n

\n We at Data Kraken are avid believers of helping the environment\n for a better tomorrow. We take pride in actively reducing our\n carbon footprint by sourcing locally, reducing our waste,\n utilising green energy providers and being conscious of our energy\n usage.\n

\n
\n
\n\n \n \n
\n
\n );\n};\n\nexport default AboutEnvironment;\n","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport HeroBG from \"../images/about_hero.svg\";\n\nimport AboutIntro from \"../layouts/AboutIntro\";\n\nimport AboutMission from \"../layouts/AboutMission\";\nimport AboutVision from \"../layouts/AboutVision\";\n\nimport AboutTeam from \"../layouts/AboutTeam\";\nimport AboutEnvironment from \"../layouts/AboutEnvironment\";\n\nimport MetaTags from \"react-meta-tags\";\n\nconst About = () => {\n return (\n
\n \n About - Data Kraken\n \n \n\n \n \n\n \n \n \n \n
\n );\n};\n\nexport default About;\n","export default __webpack_public_path__ + \"static/media/right_arrow.88824313.svg\";","import React from \"react\";\nimport right_arrow from \"../images/icons/right_arrow.svg\";\n\nconst ServicesCardHorizontal = ({\n id,\n icon,\n service,\n service_details = [],\n preview_img,\n preview_img_width,\n preview_img_padding,\n link,\n}) => {\n return (\n
\n \n
\n
\n \n
\n
\n
\n
\n

{service}

\n
    \n {service_details.map((item) => (\n
  • \n

    {item.detail}

    \n
  • \n ))}\n
\n
\n
\n
\n \"card\n \n\n \n \n
\n );\n};\n\nexport default ServicesCardHorizontal;\n","export default __webpack_public_path__ + \"static/media/data_collection_preview.29b97ca2.svg\";","export default __webpack_public_path__ + \"static/media/data_science_preview.0f96d74f.svg\";","export default __webpack_public_path__ + \"static/media/data_management_preview.780d25f3.svg\";","export default __webpack_public_path__ + \"static/media/data_presentation_preview.c4ec661a.svg\";","import React from \"react\";\nimport ServicesCardHorizontal from \"../components/ServicesCardHorizontal\";\n\nimport DataPresentationIcon from \"../images/icons/data_presentation.svg\";\nimport DataScienceIcon from \"../images/icons/data_science.svg\";\nimport DataManagementIcon from \"../images/icons/data_management.svg\";\nimport DataCollectionIcon from \"../images/icons/data_collection.svg\";\n\nimport DataCollectionPreview from \"../images/data_collection_preview.svg\";\nimport DataSciencePreview from \"../images/data_science_preview.svg\";\nimport DataManagementPreview from \"../images/data_management_preview.svg\";\nimport DataPresentationPreview from \"../images/data_presentation_preview.svg\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst ServicesMain = () => {\n return (\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n );\n};\n\nexport default ServicesMain;\n","export default __webpack_public_path__ + \"static/media/process--arrow.a08d6845.svg\";","export default __webpack_public_path__ + \"static/media/process--sources.8259c0ee.svg\";","export default __webpack_public_path__ + \"static/media/process--imports.7f89db2f.svg\";","export default __webpack_public_path__ + \"static/media/process--manipulation.5ecd4f12.svg\";","export default __webpack_public_path__ + \"static/media/process--bi.916802f1.svg\";","export default __webpack_public_path__ + \"static/media/process--output.e110f427.svg\";","import React from \"react\";\nimport ProcessArrow from \"../images/icons/process--arrow.svg\";\n\nimport SourcesIcon from \"../images/icons/process--sources.svg\";\nimport ImportsIcon from \"../images/icons/process--imports.svg\";\nimport ManipulationIcon from \"../images/icons/process--manipulation.svg\";\nimport BIIcon from \"../images/icons/process--bi.svg\";\nimport OutputIcon from \"../images/icons/process--output.svg\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst ServicesProcess = () => {\n return (\n
\n
\n \n

\n Our Process\n
\n

\n
\n\n
\n
\n \n
\n \n \n
\n Sources\n
\n {\"\\u00A0\"}\n
\n

\n We gather your data from internal or external sources.\n

\n
\n
\n \n
\n \n \n
\n Imports\n
\n {\"\\u00A0\"}\n
\n

\n Data is imported into a data warehouse via API, DB link,\n flat file or email.\n

\n
\n
\n \n
\n \n \n
\n Manipulation\n
\n {\"\\u00A0\"}\n
\n

\n To make the data usable, we then cleanse, aggregate and optimise.\n

\n
\n
\n \n
\n \n \n
\n Business\n
\n Intelligence\n
\n

\n We provide data analytics and models that reveal actionable\n insights.\n

\n
\n
\n \n
\n \n\n
\n Output\n
\n {\"\\u00A0\"}\n
\n

\n Your data can now empower your business through reports, analysis, campaigns and\n more.\n

\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default ServicesProcess;\n","export default __webpack_public_path__ + \"static/media/fit-who-are-you.0079ef01.svg\";","export default __webpack_public_path__ + \"static/media/who-are-you-widget.11d4e5de.svg\";","import React from \"react\";\nimport WhoAreYouIcon from \"../images/fit-who-are-you.svg\";\nimport WhoAreYouWidget from \"../images/who-are-you-widget.svg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst FitWhoAreYou = () => {\n return (\n
\n
\n \n

\n Your Needs\n

\n
\n\n
\n
\n \n {\" \"}\n \n
\n
\n \n

Who Are You?

\n
\n
\n
\n
Executive Manager
\n

\n Are you unable to get the right KPIs on how your business\n is performing? Having a solid data strategy in place can\n help you convert your masses of data into valuable and\n easily digestable insight.\n

\n
\n\n
\n
Data Manager
\n

\n You may have data spread across different systems, areas\n and teams. Having a consolidated centralised system will\n reduce overheads and stress. We can help architect, build\n and manage a solution to suit your needs.\n

\n
\n
\n\n
\n
\n
Marketing/Sales Manager
\n

\n If you had £1 extra to spend, where exactly would you\n spend it to maximise your return? Increasing Google Ad\n budget? Giving customer discounts? Spend within customer\n service? If you don’t know, we can help you answer this.\n

\n
\n
\n
\n
\n
\n
\n
\n \n \"\"\n \n
\n );\n};\n\nexport default FitWhoAreYou;\n","export default __webpack_public_path__ + \"static/media/looking-for-1.70129cf0.svg\";","export default __webpack_public_path__ + \"static/media/looking-for-2.9e8a4255.svg\";","export default __webpack_public_path__ + \"static/media/looking-for-3.6e2bd832.svg\";","import React from \"react\";\nimport LookingFor1 from \"../images/looking-for-1.svg\";\nimport LookingFor2 from \"../images/looking-for-2.svg\";\nimport LookingFor3 from \"../images/looking-for-3.svg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst FitLookingFor = () => {\n return (\n
\n
\n \n

What are you looking for?

\n
\n\n
\n \n
\n
\n KPI / Reporting
Overview\n
\n

\n With one glance, it should be possible to see the most important\n information for your business. We can create the reports and\n dashboards to provide you with this information.\n

\n
\n
\n\n \n
\n
\n Customer
understanding\n
\n

\n Great sales and service requires knowing your market and\n customers. The foundation for this is having a data-driven\n approach to sales and marketing areas. This requires Business\n Intelligence to be at the heart of your business.\n

\n
\n
\n\n \n
\n
\n Data
solution\n
\n

\n Strong Data Governance and a robust Data Architecture will build\n a solid foundation for your business’ information. Having a\n robust and secure Data Warehouse will help eradicate many\n ETL/reporting issues and minimise delays when they do occur.\n

\n
\n
\n
\n\n \n \"\"\n \"\"\n \"\"\n \n
\n
\n );\n};\n\nexport default FitLookingFor;\n","export default __webpack_public_path__ + \"static/media/tentacles-services.8b07ca6d.svg\";","import React from \"react\";\nimport TentaclesServices from \"../images/tentacles-services.svg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst FitWhyNow = () => {\n return (\n
\n
\n
\n
\n \n

Why Now?

\n
\n
\n
\n
Outdated legacy system
\n

\n An outdated legacy system can cripple a business in ways\n you may not be aware until it is too late. We can migrate\n your data to a new system or audit and fix problems in\n your existing system.\n

\n
\n\n
\n
Increase efficiency
\n

\n Old processes may be slowing you down. We’ll streamline\n your existing processes through automation, using the\n latest technology to free you up to focus on other areas\n of your business.\n

\n
\n
\n\n
\n
\n
Growing business
\n

\n Being unaware of key metrics now can cause problems down\n the line. We’ll help address these issues giving you\n confidence for the ongoing growth of your company.\n

\n
\n
\n
\n
\n
\n\n
\n \n \n \n
\n
\n
\n
\n );\n};\n\nexport default FitWhyNow;\n","export default __webpack_public_path__ + \"static/media/services_hero.d00c46d5.svg\";","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport ServicesMain from \"../layouts/ServicesMain\";\nimport ServicesProcess from \"../layouts/ServicesProcess\";\nimport WhoAreYou from \"../layouts/FitWhoAreYou\";\nimport WhatAreYouLookingFor from \"../layouts/FitLookingFor\";\nimport WhyNow from \"../layouts/FitWhyNow\";\nimport HeroBG from \"../images/services_hero.svg\";\nimport MetaTags from \"react-meta-tags\";\n\nconst Services = () => {\n return (\n
\n \n Services - Data Kraken\n \n \n \n\n \n \n \n \n \n
\n );\n};\n\nexport default Services;\n","export default __webpack_public_path__ + \"static/media/data_collection_hero.732cd796.svg\";","export default __webpack_public_path__ + \"static/media/preview.8f2dc6f9.jpg\";","export default __webpack_public_path__ + \"static/media/preview.4f7e9f7a.jpg\";","export default __webpack_public_path__ + \"static/media/preview.035177bc.jpg\";","export default __webpack_public_path__ + \"static/media/preview.b9761635.jpg\";","export default __webpack_public_path__ + \"static/media/preview.7a18eef8.jpg\";","import React, { useState, createContext } from \"react\";\n\n// Import all blog banners\nimport TuentiArgentinaPreview from \"../../images/work/tuenti-argentina/preview.jpg\";\nimport Preview48 from \"../../images/work/48/preview.jpg\";\nimport O2WifiPreview from \"../../images/work/O2Wifi/preview.jpg\";\nimport InsureAndGoPreview from \"../../images/work/insure-and-go/preview.jpg\";\nimport ReathPreview from \"../../images/work/reath/preview.jpg\";\n\nexport const WorkListContext = createContext();\n\nexport const WorkListProvider = (props) => {\n // Add work preview details here\n const [workList, setWorkList] = useState([\n {\n id: 1,\n title: \"Tuenti\",\n subtitle:\n \"We assisted Tuenti from the beginning of their journey in South America providing services such as business intelligence and data analytics.\",\n banner: TuentiArgentinaPreview,\n url: \"/work/tuenti\",\n },\n {\n id: 2,\n title: \"O2 Wifi\",\n subtitle:\n \"We deliver a full range of services from managing O2 WiFi’s databases to providing actionable insights to helping their Business Intelligence teams.\",\n banner: O2WifiPreview,\n url: \"/work/O2-wifi\",\n },\n {\n id: 3,\n title: \"Insure and go\",\n subtitle:\n \"We architected and project managed a strategic data warehouse.\",\n banner: InsureAndGoPreview,\n url: \"/work/insure-and-go\",\n },\n {\n id: 4,\n title: \"Reath\",\n subtitle:\n \"We created an open data standard for the purpose of facilitating industrial processes involving reusable containers.\",\n banner: ReathPreview,\n url: \"/work/reath\",\n },\n ]);\n\n return (\n \n {props.children}\n \n );\n};\n","import React from \"react\";\n\nconst WorkPostPreview = ({ Title, Subtitle, Banner, URL }) => {\n return (\n
\n \n
\n \"preview\"\n\n
\n

{Title}

\n
{Subtitle}
\n
\n
\n
\n
\n );\n};\n\nexport default WorkPostPreview;\n","import React, { useContext } from \"react\";\nimport { WorkListContext } from \"../pages/work/WorkList\";\n\nimport Fade from \"react-reveal/Fade\";\nimport WorkPostPreview from \"../components/WorkPostPreview\";\n\nconst WorkNextPreview = ({ heading, preview1, preview2 }) => {\n const [workList] = useContext(WorkListContext);\n\n let post1 = workList.filter((post) => post.title === preview1)[0];\n let post2 = workList.filter((post2) => post2.title === preview2)[0];\n\n return (\n
\n
\n

{heading}

\n
\n \n
\n \n
\n
\n \n
\n
\n\n \n
View All
\n
\n
\n
\n
\n );\n};\n\nexport default WorkNextPreview;\n","export default __webpack_public_path__ + \"static/media/tentacles-service-page.d80d7f25.svg\";","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport HeroBG from \"../images/data_collection_hero.svg\";\nimport DataCollectionIcon from \"../images/icons/data_collection.svg\";\nimport WorkNextPreview from \"../layouts/WorkNextPreview\";\nimport Tentacles from \"../images/tentacles-service-page.svg\";\nimport Fade from \"react-reveal/Fade\";\nimport MetaTags from \"react-meta-tags\";\n\nconst ServicesDataCollection = () => {\n return (\n
\n \n Services - Data Collection - Data Kraken\n \n \n \n\n \n
\n
\n
\n
\n
\n

Data Migration

\n

\n If the data in your business is sitting across many\n different systems and in many different formats, it can be\n difficult to get a 360-view of your customers. We can help\n pull your data from a multitude of different sources\n including, but not limited to Databases, MS Excel, Email &\n Websites. These can then be combined into one cohesive\n centralised data warehouse for use across all areas of your\n business.\n
\n
\n This reduces complexity, allows scalability and\n auditability, as well as giving you the ability to unlock\n insight about your business. Say goodbye to those huge MS\n Excel spreadsheets with millions for formulas that take 20\n minutes to open!\n

\n
\n
\n

Automated Imports

\n

\n To ensure robust Insight, Campaigns and Reporting, your\n business need to ensure the data you receive comes in\n accurately and with a minimum amount of fuss. Here at Data\n Kraken, we have our own automated import software to ensure\n the Extract, Transform and Load (ETL) part of your data\n solution is as accurate as possible.
\n
There will always be problems with data ever now and\n then but our solution ensures yours (or our) Operations Team\n will be notified about any unexpected issue as soon as they\n occur.\n

\n
\n
\n

Big Data

\n

\n Being able to crunch huge volumes of data as quick as\n possible is now a necessity for so many companies to operate\n in the fast-paced world we now live in. The expectation from\n consumers today is that they want to be served real-time\n with minimal fuss. A big data solution will allow that to\n happen as you’ll be able to make real-time decisions for\n customers while they are interacting with you.\n

\n
\n
\n

API Integration

\n

\n In our highly connected world, API Integrations are critical\n for use in all businesses. Whether you need to have API\n systems built or want to send/receive data via APIs, our\n experts will create seamless integrations to and from your\n business.\n

\n
\n
\n
\n
\n \"\"\n
\n
\n\n \n \n \n
\n );\n};\n\nexport default ServicesDataCollection;\n","export default __webpack_public_path__ + \"static/media/data_management_hero.8965a5b0.svg\";","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport HeroBG from \"../images/data_management_hero.svg\";\nimport DataManagementIcon from \"../images/icons/data_management.svg\";\nimport WorkNextPreview from \"../layouts/WorkNextPreview\";\nimport Tentacles from \"../images/tentacles-service-page.svg\";\nimport Fade from \"react-reveal/Fade\";\nimport MetaTags from \"react-meta-tags\";\n\nconst ServicesDataManagement = () => {\n return (\n
\n \n Services - Data Management - Data Kraken\n \n \n \n \n
\n
\n
\n
\n
\n

Operational Support

\n

\n If you have hundreds of data feeds, reports, statistical\n models and campaigns being generated daily, it can be quite\n overwhelming when there are issues. Our Operational Support\n Team can remove this stress from your business and manage\n this on your behalf. We will have alerts to be able identify\n issues quickly and our team of dedicated experts will look\n into the issue even if it’s with one of your 3rd parties.\n

\n
\n
\n

Cloud Hosting

\n

\n We take advantage of distributed systems within our cloud\n hosting suppliers which provide security, reliability and\n scalability for anything that needs to be hosted online. The\n other advantage of Cloud Hosting is that it is also very\n good value for money.\n

\n
\n
\n

GDPR Compliance/Security (ISO27001)

\n

\n The General Data Protection Regulation (GDPR) is a legal\n framework that sets guidelines for the collection and\n processing of personal information from individuals who live\n in the European Union (EU). Since 2016, companies in the EU\n have to follow seven key principles around data or risk\n large fines. The principles are as follows:\n

\n\n

\n

    \n
  • Lawfulness, fairness and transparency
  • \n
  • Purpose limitation
  • \n
  • Accuracy
  • \n
  • Data Minimisation
  • \n
  • Storage Limitation
  • \n
  • Integrity and confidentiality (security)
  • \n
  • Accountability
  • \n
\n

\n\n

\n We at Data Kraken can help with creating a Data Strategy to\n make sure your business meets all of these principles to\n ensure your business is compliant. The days of storing and\n managing data irresponsibly are over. Google, H&M and\n British Airways are just a few companies that have been\n fined over €20 million for violations.\n

\n\n

\n Here at Data Kraken we follow ISO 27001 security guidance.\n This means that we know exactly what Information Security is\n necessary for your business. We implement only the Security\n controls you really need and take Security extremely\n seriously.\n

\n
\n
\n

Patching/Optimisation

\n

\n As your business grows, the amount of data you’ll need will\n increase which can have performance impacts. Our DevOps Team\n will identify parts of your Data System that are suboptimal\n and strive to make them more efficient. We will continually\n carry out Database and Server-level optimisation to ensure\n that your services are running as effectively as possible.{\" \"}\n

\n
\n
\n
\n
\n \"\"\n
\n
\n \n \n \n d\n
\n );\n};\n\nexport default ServicesDataManagement;\n","export default __webpack_public_path__ + \"static/media/data_science_hero.064bdde3.svg\";","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport HeroBG from \"../images/data_science_hero.svg\";\nimport DataScienceIcon from \"../images/icons/data_science.svg\";\nimport WorkNextPreview from \"../layouts/WorkNextPreview\";\nimport Tentacles from \"../images/tentacles-service-page.svg\";\nimport Fade from \"react-reveal/Fade\";\nimport MetaTags from \"react-meta-tags\";\n\nconst ServicesDataScience = () => {\n return (\n
\n \n Services - Data Science - Data Kraken\n \n \n\n \n\n \n
\n
\n
\n
\n
\n

Predictive Modelling and Forecasting

\n

\n Reporting generally gives you an idea of what has happened\n whereas Predictive Modelling and Forecasting gives you\n insight into what will happen. Our team of Data Scientists\n can create statistical models to give you insight into which\n customers are going to leave (churn), which are going to\n have billing problems, which are more likely to buy\n additional products, etc.\n

\n
\n
\n

Segmentation & Profiling

\n

\n Differentiation of your customer base through demographics,\n geographies, behaviours and interests will help you to know\n your business better.\n

\n
\n
\n

Machine Learning

\n

\n Machine learning is a method of data analysis that automates\n analytical model building. It is a branch of artificial\n intelligence based on the idea that systems can learn from\n data, identify patterns and make decisions with minimal\n human intervention.\n

\n
\n
\n

A/B Testing

\n

\n A/B testing is essentially an experiment where two or more\n variants of a webpage/campaign are given to users at random,\n and statistical analysis is used to determine which\n variation performs better for a given conversion goal. This\n will ensure your interactions with your customers are as\n efficient and effective as they can be.\n

\n
\n
\n
\n
\n \"\"\n
\n
\n\n \n \n \n
\n );\n};\n\nexport default ServicesDataScience;\n","export default __webpack_public_path__ + \"static/media/data_presentation_hero.b7538610.svg\";","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport HeroBG from \"../images/data_presentation_hero.svg\";\nimport DataPresentationIcon from \"../images/icons/data_presentation.svg\";\nimport WorkNextPreview from \"../layouts/WorkNextPreview\";\nimport Tentacles from \"../images/tentacles-service-page.svg\";\nimport Fade from \"react-reveal/Fade\";\nimport MetaTags from \"react-meta-tags\";\n\nconst ServicesDataPresentation = () => {\n return (\n
\n \n Services - Data Delivery - Data Kraken\n \n \n\n \n\n \n
\n
\n
\n
\n
\n

Analytical Reporting

\n

\n For any business to run efficiently, understanding what is\n going on under the hood is paramount. This could include\n reporting across all directorates such as:\n

\n\n

\n

    \n
  • Sales vs Budget by product/channel
  • \n
  • Sales funnel reporting & optimisation
  • \n
  • \n Product utilisation reporting (for service industry)\n
  • \n
  • SEO reporting
  • \n
\n

\n
\n\n
\n

Dashboards

\n

\n Whereas Analytical Reporting are generally used for\n strategic insight, dashboards on the other hand are very\n useful for a quick glance at how your business is performing\n as well as to give real-time operational insight on how your\n business is currently functioning. Here at Data Kraken, we\n have expertise in many BI tools such as Microsoft Power BI\n as well as creating our own dashboards using internal\n software.\n

\n
\n
\n

Customer Relationship Management (CRM)

\n

\n CRM helps businesses build a relationship with their\n customers that help create loyalty, advocacy and retention.\n With so much marketing being exposed to all of us today,\n speaking to your customers in a timely, accurate and\n relevant manner has never been more important. Data Kraken\n can help unlock the potential of your data which will not\n only help you understand your customers better but also\n build a better and stronger relationship.\n

\n
\n
\n
\n
\n \"\"\n
\n
\n\n \n \n \n
\n );\n};\n\nexport default ServicesDataPresentation;\n","export default __webpack_public_path__ + \"static/media/blog_bg.ff7a9f81.svg\";","export default __webpack_public_path__ + \"static/media/tentacles-blog.831dced7.svg\";","import React, { useContext } from \"react\";\nimport { BlogListContext } from \"../pages/blog/BlogList\";\nimport BlogPostPreview from \"../components/BlogPostPreview\";\nimport Fade from \"react-reveal/Fade\";\nimport Tentacles from \"../images/tentacles-blog.svg\";\n\nconst BlogList = () => {\n const [blogList] = useContext(BlogListContext);\n\n return (\n
\n
\n
\n {blogList.map((post) => (\n \n
\n \n
\n
\n ))}\n
\n
\n\n \n \"tentacles-blog\"\n \n
\n );\n};\n\nexport default BlogList;\n","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport HeroBG from \"../images/blog_bg.svg\";\n\nimport MetaTags from \"react-meta-tags\";\n\nimport BlogListPreview from \"../layouts/BlogListPreview\";\n\nconst Blog = () => {\n return (\n
\n \n Blog - Data Kraken\n \n \n\n \n Dive into our latest\n
\n news and insights\n \n }\n subheading=\"What’s new at Data Kraken? Take a look at the latest insights and thought-provoking discoveries from our team of analysts and experts.\"\n icon={HeroBG}\n icon_width=\"40vw\"\n icon_padding=\"0% 3%\"\n />\n\n \n
\n );\n};\n\nexport default Blog;\n","import React from \"react\";\nimport Fade from \"react-reveal/Fade\";\n\nconst BlogPostHeader = ({ BlogHeader }) => {\n return (\n
\n \n
\n

{BlogHeader.title}

\n
\n
\n \n
\n
By {BlogHeader.author}
\n

Posted on {BlogHeader.date}

\n
\n
\n\n \n \n \n
\n );\n};\n\nexport default BlogPostHeader;\n","import React from \"react\";\nimport LinkedInIcon from \"../images/icons/linkedin.svg\";\nimport FacebookIcon from \"../images/icons/facebook.svg\";\nimport TwitterIcon from \"../images/icons/twitter.svg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst BlogPostContent = ({ BlogContent, BlogHeader }) => {\n return (\n
\n {BlogContent}\n\n \n
\n
Share this post
\n \n \"social-icon\"\n \n \n \"social-icon\"\n \n \n \"social-icon\"\n \n
\n
\n
\n );\n};\n\nexport default BlogPostContent;\n","import React from \"react\";\nimport BlogPostPreview from \"./../components/BlogPostPreview\";\nimport Fade from \"react-reveal/Fade\";\n\nconst BlogNextPosts = ({ BlogNext, BlogPrev }) => {\n return (\n
\n \n
\n

View our other posts

\n
\n
\n \n
\n\n
\n \n
\n
\n
\n
\n
\n );\n};\n\nexport default BlogNextPosts;\n","export default __webpack_public_path__ + \"static/media/tentacles-blog-post.0253ab41.svg\";","import React, { useContext } from \"react\";\nimport BlogPostHeader from \"../layouts/BlogPostHeader\";\nimport BlogPostContent from \"../layouts/BlogPostContent\";\nimport BlogNextPosts from \"../layouts/BlogNextPosts\";\nimport MetaTags from \"react-meta-tags\";\nimport Fade from \"react-reveal/Fade\";\nimport Tentacles from \"../images/tentacles-blog-post.svg\";\n\nimport { BlogListContext } from \"./blog/BlogList\";\n\nconst BlogPost = ({ URL }) => {\n const [blogList] = useContext(BlogListContext);\n\n // Find blog post from context provider\n let post = blogList.filter((post) => post.url === URL)[0];\n\n // Set header & content info\n const BlogHeader = {\n id: post.id,\n title: post.title,\n date: post.date,\n author: post.author,\n banner: post.banner,\n snippet: post.snippet,\n url: post.url,\n };\n\n const BlogContent = post.content;\n\n // Find next and last blog post\n let BlogNext =\n blogList.filter((nextPost) => nextPost.id === post.id + 1)[0] ||\n blogList.filter((nextPost) => nextPost.id === post.id - 2)[0];\n let BlogPrev =\n blogList.filter((prevPost) => prevPost.id === post.id - 1)[0] ||\n blogList.filter((prevPost) => prevPost.id === post.id + 2)[0];\n\n return (\n
\n \n {BlogHeader.title} - Blog - Data Kraken\n \n \n \n \n \n \n \n\n \n \"tentacles-blog\"\n \n\n
\n
\n
\n \n \n
\n
\n
\n\n \n
\n );\n};\n\nexport default BlogPost;\n","import React, { useContext } from \"react\";\nimport { WorkListContext } from \"../pages/work/WorkList\";\n\nimport WorkPostPreview from \"../components/WorkPostPreview\";\nimport Fade from \"react-reveal/Fade\";\n\nconst WorkListPreview = () => {\n const [WorkList] = useContext(WorkListContext);\n\n return (\n
\n
\n {WorkList.map((post) => (\n \n
\n \n
\n
\n ))}\n
\n
\n );\n};\n\nexport default WorkListPreview;\n","export default __webpack_public_path__ + \"static/media/work_hero.b1fb0866.svg\";","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport WorkListPreview from \"../layouts/WorkListPreview\";\nimport Testimonials from \"../layouts/Testimonials\";\nimport HeroBG from \"../images/work_hero.svg\";\n\nimport MetaTags from \"react-meta-tags\";\n\nconst Work = () => {\n return (\n
\n \n Work - Data Kraken\n \n \n \n\n \n \n
\n );\n};\n\nexport default Work;\n","import React, { useState } from \"react\";\nimport emailjs from \"emailjs-com\";\nimport Fade from \"react-reveal/Fade\";\n\nconst ContactHero = () => {\n const [btnLoad, setBtnLoad] = useState(false);\n const [btnSent, setBtnSent] = useState(false);\n\n function sendEmail(e) {\n e.preventDefault();\n setBtnLoad(true);\n\n setTimeout(() => {\n setBtnLoad(false);\n setBtnSent(true);\n }, 1000);\n\n emailjs\n .sendForm(\n \"service_3b08jm2\",\n \"template_7abqnxg\",\n e.target,\n \"user_bwYKWP0nvkyjpngijFzyH\"\n )\n .then(\n (result) => {\n console.log(result.text);\n },\n (error) => {\n console.log(error.text);\n }\n );\n\n e.target.reset();\n }\n\n return (\n
\n
\n
\n
\n \n
\n

\n How can we
\n help?\n

\n
\n
\n \n
\n
\n We’re ready to help you discover what your data can do for\n you. Ask away...\n
\n
\n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n );\n};\n\nexport default ContactHero;\n","import React from \"react\";\nimport LinkedInIcon from \"../images/icons/linkedin.svg\";\nimport FacebookIcon from \"../images/icons/facebook.svg\";\nimport TwitterIcon from \"../images/icons/twitter.svg\";\nimport Fade from \"react-reveal/Fade\";\n\nconst ContactLinks = () => {\n return (\n
\n \n
\n
\n
\n

Message Us

\n

Speak to us about anything.

\n hello@datakraken.net\n
\n
\n
\n

Connect

\n

View our socials.

\n \n \n \n \n \n \n \n \n \n
\n
\n
\n

Our UK Office

\n

135 Hollow way, Cowley, Oxford, OX4 2NE

\n \n Get Directions\n \n
\n
\n
\n
\n
\n );\n};\n\nexport default ContactLinks;\n","import React from \"react\";\nimport Fade from \"react-reveal/Fade\";\n\nconst ContactMap = () => {\n return (\n
\n \n \n \n
\n );\n};\n\nexport default ContactMap;\n","import React from \"react\";\nimport Hero from \"../layouts/ContactHero\";\nimport ContactLinks from \"../layouts/ContactLinks\";\nimport ContactMap from \"../layouts/ContactMap\";\nimport MetaTags from \"react-meta-tags\";\n\nconst Contact = () => {\n return (\n
\n \n Contact - Data Kraken\n \n \n\n \n \n \n
\n );\n};\n\nexport default Contact;\n","export default __webpack_public_path__ + \"static/media/about_vision.623a2737.svg\";","import React from \"react\";\nimport Hero from \"../layouts/Hero\";\nimport MetaTags from \"react-meta-tags\";\nimport Fade from \"react-reveal/Fade\";\nimport HeroBG from \"../images/about_vision.svg\";\n\nconst PrivacyPolicy = () => {\n return (\n
\n \n Cookie & Privacy Policy - Data Kraken\n \n \n \n\n \n
\n
\n
\n

Our Policy

\n

\n At Data Kraken, accessible from www.datakraken.net, one of our\n main priorities is the privacy of our visitors. This Privacy\n Policy document contains types of information that is collected\n and recorded by Data Kraken and how we use it.\n

\n\n

\n If you have additional questions or require more information\n about our Privacy Policy, do not hesitate to contact us.\n

\n\n

\n This Privacy Policy applies only to our online activities and is\n valid for visitors to our website with regards to the\n information that they shared and/or collect in Data Kraken. This\n policy is not applicable to any information collected offline or\n via channels other than this website. Our Privacy Policy was\n created with the help of the{\" \"}\n \n Privacy Policy Generator\n \n .\n

\n\n

Consent

\n\n

\n By using our website, you hereby consent to our Privacy Policy\n and agree to its terms.\n

\n\n

Information we collect

\n\n

\n The personal information that you are asked to provide, and the\n reasons why you are asked to provide it, will be made clear to\n you at the point we ask you to provide your personal\n information.\n

\n

\n If you contact us directly, we may receive additional\n information about you such as your name, email address, phone\n number, the contents of the message and/or attachments you may\n send us, and any other information you may choose to provide.\n

\n

\n When you register for an Account, we may ask for your contact\n information, including items such as name, company name,\n address, email address, and telephone number.\n

\n\n

How we use your information

\n\n

\n We use the information we collect in various ways, including to:\n

\n\n
    \n
  • Provide, operate, and maintain our website
  • \n
  • Improve, personalize, and expand our website
  • \n
  • Understand and analyze how you use our website
  • \n
  • \n Develop new products, services, features, and functionality\n
  • \n
  • \n Communicate with you, either directly or through one of our\n partners, including for customer service, to provide you with\n updates and other information relating to the website, and for\n marketing and promotional purposes\n
  • \n
  • Send you emails
  • \n
  • Find and prevent fraud
  • \n
\n\n

Log Files

\n\n

\n Data Kraken follows a standard procedure of using log files.\n These files log visitors when they visit websites. All hosting\n companies do this and a part of hosting services' analytics. The\n information collected by log files include internet protocol\n (IP) addresses, browser type, Internet Service Provider (ISP),\n date and time stamp, referring/exit pages, and possibly the\n number of clicks. These are not linked to any information that\n is personally identifiable. The purpose of the information is\n for analysing trends, administering the site, tracking users'\n movement on the website, and gathering demographic information.\n

\n\n

Cookies and Web Beacons

\n\n

\n Like any other website, Data Kraken uses 'cookies'. These\n cookies are used to store information including visitors'\n preferences, and the pages on the website that the visitor\n accessed or visited. The information is used to optimize the\n users' experience by customizing our web page content based on\n visitors' browser type and/or other information.\n

\n\n

\n For more general information on cookies, please read{\" \"}\n \n \"What Are Cookies\" from Cookie Consent\n \n .\n

\n\n

Advertising Partners Privacy Policies

\n\n

\n You may consult this list to find the Privacy Policy for each of\n the advertising partners of Data Kraken.\n

\n\n

\n Third-party ad servers or ad networks uses technologies like\n cookies, JavaScript, or Web Beacons that are used in their\n respective advertisements and links that appear on Data Kraken,\n which are sent directly to users' browser. They automatically\n receive your IP address when this occurs. These technologies are\n used to measure the effectiveness of their advertising campaigns\n and/or to personalize the advertising content that you see on\n websites that you visit.\n

\n\n

\n Note that Data Kraken has no access to or control over these\n cookies that are used by third-party advertisers.\n

\n\n

Third Party Privacy Policies

\n\n

\n Data Kraken's Privacy Policy does not apply to other advertisers\n or websites. Thus, we are advising you to consult the respective\n Privacy Policies of these third-party ad servers for more\n detailed information. It may include their practices and\n instructions about how to opt-out of certain options.{\" \"}\n

\n\n

\n You can choose to disable cookies through your individual\n browser options. To know more detailed information about cookie\n management with specific web browsers, it can be found at the\n browsers' respective websites.\n

\n\n

\n CCPA Privacy Rights (Do Not Sell My Personal Information)\n

\n\n

\n Under the CCPA, among other rights, consumers have the right to:\n

\n

\n Request that a business that collects a consumer's personal data\n disclose the categories and specific pieces of personal data\n that a business has collected about consumers.\n

\n

\n Request that a business delete any personal data about the\n consumer that a business has collected.\n

\n

\n Request that a business that sells a consumer's personal data,\n not sell the consumer's personal data.\n

\n

\n If you make a request, we have one month to respond to you. If\n you would like to exercise any of these rights, please contact\n us.\n

\n\n

GDPR Data Protection Rights

\n\n

\n We would like to make sure you are fully aware of all of your\n data protection rights. Every user is entitled to the following:\n

\n

\n The right to access – You have the right to request copies of\n your personal data. We may charge you a small fee for this\n service.\n

\n

\n The right to rectification – You have the right to request that\n we correct any information you believe is inaccurate. You also\n have the right to request that we complete the information you\n believe is incomplete.\n

\n

\n The right to erasure – You have the right to request that we\n erase your personal data, under certain conditions.\n

\n

\n The right to restrict processing – You have the right to request\n that we restrict the processing of your personal data, under\n certain conditions.\n

\n

\n The right to object to processing – You have the right to object\n to our processing of your personal data, under certain\n conditions.\n

\n

\n The right to data portability – You have the right to request\n that we transfer the data that we have collected to another\n organisation, or directly to you, under certain conditions.\n

\n

\n If you make a request, we have one month to respond to you. If\n you would like to exercise any of these rights, please contact\n us.\n

\n\n

Children's Information

\n\n

\n Another part of our priority is adding protection for children\n while using the internet. We encourage parents and guardians to\n observe, participate in, and/or monitor and guide their online\n activity.\n

\n\n

\n Data Kraken does not knowingly collect any Personally\n Identifiable Information from children under the age of 13. If\n you think that your child provided this kind of information on\n our website, we strongly encourage you to contact us immediately\n and we will do our best efforts to promptly remove such\n information from our records.\n

\n
\n
\n
\n
\n
\n );\n};\n\nexport default PrivacyPolicy;\n","export default __webpack_public_path__ + \"static/media/tentacles-work-post.98bc68ff.svg\";","import React from \"react\";\nimport Fade from \"react-reveal/Fade\";\nimport Tentacles from \"../images/tentacles-work-post.svg\";\n\nconst WorkHero = ({ Overview, Logo, Banner, logo_width, logo_padding }) => {\n return (\n
\n
\n
\n
\n
\n \n

\n Case Study\n \"logo\"\n

\n
\n
\n \n
\n
{Overview}
\n
\n
\n
\n
\n\n \n
\n
\n \"banner\"\n
\n
\n
\n\n \n \"tentacles-work\"\n \n
\n
\n );\n};\n\nexport default WorkHero;\n","export default __webpack_public_path__ + \"static/media/tuenti-banner.4dc8b50b.jpg\";","import React from \"react\";\n\nconst WorkPostSummaryPoints = ({ Client, Industry, Service, Location }) => {\n return (\n
\n
Client
\n
{Client}
\n
Industry
\n
{Industry}
\n
Service
\n
{Service}
\n
Location
\n
{Location}
\n
\n );\n};\n\nexport default WorkPostSummaryPoints;\n","import React from \"react\";\nimport WorkHero from \"../../layouts/WorkHero\";\nimport TuentiLogo from \"../../images/work/tuenti-argentina/tuenti-logo.png\";\nimport TuentiBanner from \"../../images/work/tuenti-argentina/tuenti-banner.jpg\";\nimport WorkListSummaryPoints from \"../../components/WorkPostSummaryPoints\";\n\nimport WorkNextPreview from \"../../layouts/WorkNextPreview\";\nimport MetaTags from \"react-meta-tags\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst TuentiArgentina = () => {\n return (\n
\n \n Tuenti - Work - Data Kraken\n \n \n\n \n\n
\n
\n
\n \n
\n
\n

About Tuenti

\n

\n A 100% digital telephone company, Tuenti launched in several Latin\n American countries during 2014. Aiming to pave the way for fresh,\n new, and simple phone plans, Tuenti arrived in their market to\n shake things up. After gaining more than a million clients, it is\n safe to say they are extremely successful.\n

\n\n

Challenge

\n

\n One of the biggest challenges we faced was providing a secure and\n effective environment for Business Intelligence that works\n seamlessly to provide actionable insights for companies from each\n country. From one thousand customers in 2015, to over one million\n in 2020, we created scalable systems to easily accommodate\n Tuenti’s ever-growing customer base.\n

\n\n

Growth & Adaptation

\n

\n When a company first launches, there may not be much in-depth\n analysis required. For example, knowing the number of products\n bought per city, per day, might suffice initially. However, as\n soon as the client base increases, so does the complexity of the\n information needed to be delivered - this is where Data Kraken\n steps in. For example, a customer buys a product and the company\n needs to check which promotion would be best-suited to this\n customer. From the customer data, we can see that 100% of their\n minutes in the last three months have been used. We can rapidly\n inform our client and from this, the company are able to offer a\n tailored promotion that is most likely to be successful, such as\n ‘Extra Minutes’.\n

\n\n

\n For bespoke service that deals with terabytes of data efficiently,\n a multitude of processes work together. A quick reception and\n digestion of the data from the billing system, categorisation of\n the client and communication. All the links of this chain must be\n robust for this solution to be delivered effectively.\n

\n\n

Client requests

\n\n

\n Regardless of what a business needs, when a client asks us to do\n something different, we are willing to deliver our best as quickly\n as we can. You may not know what you want straight away, or\n realise how much visualised data could help your business. We\n constantly strive to proactively find solutions and reports that\n can help our clients and client’s customers. The services provided\n to Tuenti are varied and adaptive: from creating quality reports,\n analysing customer data, managing independent servers for other\n applications in Tuenti, alerting of issues detected in the data,\n ad-hoc investigations to model client usage, whilst also working\n on improvements in the structure of the data warehouse. Here at\n Data Kraken, we are happy to adapt our services for the\n ever-evolving industry that Tuenti excels in.\n

\n
\n
\n\n \n {/*
\n
\n
\n Data Kraken and Tuenti Argentina have been working together for\n several years, and the geographical distance has never been a\n barrier to implement large analytical projects. As our company\n grew, the team at DK were always willing to provide us with\n solutions and proposals for continuous improvement, to help us\n better understand our customers.\n
\n
\n Their service and support have been a pillar in the growth of\n Tuenti, and helped us identify business opportunities that we\n may have missed without them.\n

— Marketing & BI Team, Tuenti Argentina\n
\n
\n
*/}\n\n
\n
\n
\n The highly competitive telecommunications market led us to\n realise that to succeed as a business, we needed to better\n understand the market and our customers.
\n
\n Data interpretation plays a key role in Tuenti Ecuador, and Data\n Kraken can provide data reports daily, weekly, monthly, and even\n in real time. This allows us to better understand the needs of\n our clients and offer them services according to what we can see\n is important to them.
\n
\n Thanks to comprehensive data analysis delivered swiftly by Data\n Kraken, we have achieved extraordinary results, becoming one of\n the top three mobile brands in Ecuador and gaining an NPS score\n (measure of customer satisfaction) of 70%, a truly unique score\n in the telecoms industry.
\n
These achievements are the result of many things coming\n together at the right time, including having an excellent\n provider such as Data Kraken assisting with data analysis and\n automation solutions. They bring value to our business and\n continue to make our customers fall in love.\n

— Carlos Jaime, Head of IT , Tuenti Ecuador\n
\n
\n
\n
\n
\n\n \n
\n );\n};\n\nexport default TuentiArgentina;\n","export default __webpack_public_path__ + \"static/media/reath-banner.53ec3395.jpg\";","import React from \"react\";\nimport WorkHero from \"../../layouts/WorkHero\";\nimport ReathLogo from \"../../images/work/reath/reath-logo.png\";\nimport ReathBanner from \"../../images/work/reath/reath-banner.jpg\";\nimport WorkListSummaryPoints from \"../../components/WorkPostSummaryPoints\";\n\nimport WorkNextPreview from \"../../layouts/WorkNextPreview\";\nimport MetaTags from \"react-meta-tags\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst Reath = () => {\n return (\n
\n \n Reath - Work - Data Kraken\n \n \n\n \n\n
\n \n
\n
\n \n
\n
\n

About Reath

\n

\n Reath’s mission statement is “to build the digital\n infrastructure required for businesses to shift to the circular\n economy. They specialise in the tagging and tracking of circular\n assets, and building the “digital passport” they need - think\n Google Analytics for the circular economy.\n

\n\n

Our Approach

\n

\n The first part of this process involved a detailed requirements\n gathering process. We learned about how circular economy supply\n chains work, the common priorities and pitfalls in such systems,\n and the regulatory requirements their processes are subject to.\n Whenever regulatory compliance is an issue in a data system,\n attention to detail is of the utmost importance, and we were\n careful to ensure that our solution would fit cleanly into both\n the physical and regulatory environments that it is expected to\n perform in.\n

\n

\n After our requirements gathering process was complete, we began\n the implementation of the open data standard. One aim of the\n standard is to make interoperability between circular economy\n industrial processes easier and towards that end we decided that\n our standard would employ technologies whose enduring and\n widespread use proved their reliability has stood the test of\n time. Our new standard would define both a standard for data\n persistence in the form of a relational database schema and a\n standard for data transfer in the form of a REST API. The REST\n API would be divided into three definitions, an API that\n provides the main developer’s interface and access controls to\n the relational database defined by the standard, an API that\n provides logistical information about items in the process, and\n an API that provides statistical information about the system.\n

\n

\n Particular attention had to be paid to environment-specific\n matters for example unlike traditional web applications,\n applications conforming to this standard sometimes operate on\n intranets in areas where external internet connections are not\n always available, and mistakes which might be simply annoying in\n ordinary cases could in this instance cause costly regulatory\n issues and are often less easily patched. As well as making sure\n this standard would be applicable in any of these scenarios, it\n was important that we not only got this standard right but that\n we got it right the first time.\n

\n\n

\n For much of this work we were able to build upon existing\n technological standards. Our schema definition produced as part\n of this standard was written in compliance with the ISO standard\n for SQL which means that it can be implemented using any\n relational database system conforming to this standard, avoiding\n issues of vendor lock-in in favour of a universal and\n widely-implemented approach. While REST itself is an\n architecture style rather than a standard in its own right, our\n data transfer standard was careful to follow widely accepted\n industry best practices that all web developers are familiar\n with.\n

\n\n

The Result

\n

\n The result of our work was that Reath is able to add an open\n standard for the transfer and storage of data relevant to its\n pioneering work in the circular economy in a way that a diverse\n array of systems can easily integrate into in the future. We\n were very proud of this work at Data Kraken because while this\n was the first open data standard we have developed, it fit very\n well with both our eco-centric values and every developer’s\n desire for standardised data in a sometimes chaotic\n technological landscape.\n

\n
\n
\n
\n\n \n
\n
\n
\n We contacted the team at Data Kraken when we needed support to\n produce technical documentation for an Open Data Standard. We\n knew they would bring a huge amount of energy and enthusiasm,\n and appreciated the passion and dedication they had for the\n project. They went above-and-beyond to ensure the deliverables\n met the scope, and they communicated progress well throughout.\n

Claire Rampen, Co-founder & Managing Director\n
\n
\n
\n
\n
\n\n \n
\n );\n};\n\nexport default Reath;\n","export default __webpack_public_path__ + \"static/media/O2-wifi-logo.3d7a6093.png\";","export default __webpack_public_path__ + \"static/media/O2-wifi-banner.0c8e66ea.jpg\";","import React from \"react\";\nimport WorkHero from \"../../layouts/WorkHero\";\nimport O2WifiLogo from \"../../images/work/O2Wifi/O2-wifi-logo.png\";\nimport O2WifiBanner from \"../../images/work/O2Wifi/O2-wifi-banner.jpg\";\nimport WorkListSummaryPoints from \"../../components/WorkPostSummaryPoints\";\n\nimport WorkNextPreview from \"../../layouts/WorkNextPreview\";\nimport MetaTags from \"react-meta-tags\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst O2Wifi = () => {\n return (\n
\n \n O2 Wifi - Work - Data Kraken\n \n \n\n \n\n
\n \n
\n
\n \n
\n
\n

About O2 Wifi

\n

\n O2 Wifi is a UK nationwide service of O2, which is part of the\n global telecommunications group Telefónica S.A. In 2019, O2 Wifi\n was recognised as the Best Business Network by Mobile Industry\n Awards and as the Most Admired Telecommunications company in\n Europe by Fortune.\n

\n\n

Challenge

\n

\n O2 Wifi wanted to start ingesting a lot more data into their\n Business Intelligence Solution which required a migration from\n Microsoft SQL to MySQL. Also a new data feed had Personal\n Customer Information included which meant we needed to create a\n solution that ensured the data was available to the minimum\n number of processes/developers as well being as secure as\n possible to ensure GDPR requirements were met.\n

\n\n

Our Work

\n

\n Being connected is an integral part of life in the 21st Century.\n Therefore for their customers, O2 Wifi need to ensure their\n service is as optimal as possible. With over 16,000 hotspots in\n the UK, each with multiple pieces of hardware like switches,\n routers and access points, there is always going to be the odd\n problem, i.e. hardware failing, phone line having noise on the\n line, etc.\n

\n\n

\n Data Kraken have created a data warehouse to not only get\n salient O2 Wifi data for every hotspot as quickly as possible\n and to identify issues with performance but using our predictive\n modelling and machine learning algorithms, to pre-empt problems\n in the future too.\n

\n\n

\n The work proved a success with the Operational Team @ O2 Wifi\n being alerted for current issues and potential future issues\n before the customer noticed a problem.\n

\n
\n
\n
\n
\n\n \n
\n );\n};\n\nexport default O2Wifi;\n","export default __webpack_public_path__ + \"static/media/insure-and-go-banner2.1420dd27.jpg\";","import React from \"react\";\nimport WorkHero from \"../../layouts/WorkHero\";\nimport InsureAndGoLogo from \"../../images/work/insure-and-go/insure-and-go-logo.png\";\nimport InsureAndGoBanner from \"../../images/work/insure-and-go/insure-and-go-banner2.jpg\";\nimport WorkListSummaryPoints from \"../../components/WorkPostSummaryPoints\";\n\nimport WorkNextPreview from \"../../layouts/WorkNextPreview\";\nimport MetaTags from \"react-meta-tags\";\n\nimport Fade from \"react-reveal/Fade\";\n\nconst InsureAndGo = () => {\n return (\n
\n \n Insure And Go - Work - Data Kraken\n \n \n\n \n\n
\n \n
\n
\n \n
\n\n
\n

About Insure and Go

\n

\n A specialist travel insurance provider, providing insurance for\n more niche holidays and activities.\n

\n\n

Challenge

\n

\n Insure and Go tasked Data Kraken with architecting and project\n managing a strategic data warehouse which would sit at the heart\n of the business for all directorates.\n

\n

\n This is quite common in many businesses where{\" \"}\n \n \n Data Silos\n \n {\" \"}\n can occur. Data Silos manifest when different organisational\n units store and manage data specifically relevant to their\n function. This can lead to two main problems:\n

\n

\n 1. Multiple definitions and calculations across each department\n

\n\n

\n 2. Duplication of work and resource; each silo needs their own\n version of a Database Administrator/MS Excel Guru. (As much as\n we think MS Excel is a useful tool; we’ve seen a majority of\n businesses that have Data Silos also have MS Excel pulling the\n strings in centre of the Silo)\n

\n\n

Our Work

\n

\n In a highly competitive market, Insure and Go needed to look at\n how to get a competitive advantage by making their decisions\n even quicker and even more data-driven. This work required\n understanding and documenting all data output requirements from\n all organisational units. For most large organisations these\n would include outputs such as: sales reports, regulatory\n reports, operational dashboards, CRM campaigns, etc.\n

\n\n

\n Building a centralised data function isn’t just about having{\" \"}\n \n one version of the truth\n {\" \"}\n but also{\" \"}\n \n \n one version of definitions\n \n {\" \"}\n i.e. a global business glossary. It’s not uncommon to have\n different definitions for very simple concepts like a customer.\n What is a customer could be the bill payer, the product consumer\n or the orderer. All of which need defining and understood by all\n areas of the business. Once the business glossary and\n requirements are understood, building a centralised data\n repository becomes an achievable task.\n

\n\n

\n Like many businesses, Insure and Go had multiple systems looking\n at processes through a different lens. We helped creating a{\" \"}\n \n golden source\n {\" \"}\n for all data feeds as well as creating logic for creating\n complex reporting outputs such as channel commission reporting\n within their relational data warehouse.\n

\n
\n
\n
\n\n \n
\n
\n
\n Data Kraken has helped us to architect , build and manage the\n creation of a data warehouse. Data Kraken has a wealth of\n experience managing data needs for different industries.
\n
From day one, Gope understood our strategy , needs and\n context. He was fully involved in helping us to get over the\n line, by supporting and mentoring the team and working with the\n stakeholders in the company, helping us achieve our goals.\n
\n
— Ana Vilda, Insure and Go CIO\n
\n
\n
\n
\n
\n\n \n
\n );\n};\n\nexport default InsureAndGo;\n","import React from \"react\";\nimport logo from \"../images/dk_logo_primary.svg\";\nimport MetaTags from \"react-meta-tags\";\n\nconst Error404 = () => {\n return (\n
\n \n 404 - Data Kraken\n \n \n\n \n \"dk_logo\"\n \n

Page not found

\n \n Back to home\n \n
\n );\n};\n\nexport default Error404;\n","import React, { useContext } from \"react\";\n\nimport { Route, BrowserRouter as Router, Switch } from \"react-router-dom\";\nimport NavBar from \"./layouts/NavBar\";\nimport Footer from \"./layouts/Footer\";\n\nimport ScrollToTop from \"./helpers/ScrollToTop\";\n\nimport \"./styles/global.scss\";\n\nimport Homepage from \"./pages/Homepage\";\nimport About from \"./pages/About\";\n\nimport Services from \"./pages/Services\";\nimport ServicesDataCollection from \"./pages/ServicesDataCollection\";\nimport ServicesDataManagement from \"./pages/ServicesDataManagement\";\nimport ServicesDataScience from \"./pages/ServicesDataScience\";\nimport ServicesDataPresentation from \"./pages/ServicesDataPresentation\";\n\nimport Blog from \"./pages/Blog\";\nimport BlogPost from \"./pages/BlogPost\";\n\nimport Work from \"./pages/Work\";\nimport Contact from \"./pages/Contact\";\nimport PrivacyPolicy from \"./pages/PrivacyPolicy\";\n\nimport { BlogListContext } from \"./pages/blog/BlogList\";\nimport { WorkListProvider } from \"./pages/work/WorkList\";\n\nimport Tuenti from \"./pages/work/TuentiArgentina\";\nimport Reath from \"./pages/work/Reath\";\nimport O2Wifi from \"./pages/work/O2Wifi\";\nimport InsureAndGo from \"./pages/work/InsureAndGo\";\nimport Error404 from \"./pages/Error404\";\n\nimport CookieConsent from \"react-cookie-consent\";\nimport { createBrowserHistory } from \"history\";\n\nfunction App() {\n var history = createBrowserHistory();\n\n history.listen((location) => {\n window.ga(\"set\", \"page\", location.pathname + location.search);\n window.ga(\"send\", \"pageview\");\n });\n\n const [blogList] = useContext(BlogListContext);\n\n\n return (\n \n
\n \n \n\n \n \n \n \n \n \n \n \n\n \n\n {blogList.map((blog, idx) => (\n \n \n \n ))}\n\n \n \n \n \n \n\n \n \n \n\n \n By using our website, you agree to our{\" \"}\n \n cookie and privacy policy.\n \n \n \n
\n
\n
\n );\n}\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BlogListProvider } from \"./pages/blog/BlogList\";\nimport { WorkListProvider } from \"./pages/work/WorkList\";\n\nReactDOM.render(\n \n {/* Provide Global Access To Blog and Work Providers */}\n \n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n"],"sourceRoot":""}